#include <rtsan/rtsan.h>
#include <rtsan/rtsan_context.h>
#include <rtsan/rtsan_stack.h>
#include <sanitizer_common/sanitizer_allocator_internal.h>
#include <sanitizer_common/sanitizer_stacktrace.h>
#include <new>
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
usingnamespace__sanitizer;
static pthread_key_t context_key;
static pthread_once_t key_once = …;
static void InternalFreeWrapper(void *ptr) { … }
static __rtsan::Context &GetContextForThisThreadImpl() { … }
static void InvokeViolationDetectedAction() { … }
__rtsan::Context::Context() = default;
void __rtsan::Context::RealtimePush() { … }
void __rtsan::Context::RealtimePop() { … }
void __rtsan::Context::BypassPush() { … }
void __rtsan::Context::BypassPop() { … }
void __rtsan::ExpectNotRealtime(Context &context,
const char *intercepted_function_name) { … }
bool __rtsan::Context::InRealtimeContext() const { … }
bool __rtsan::Context::IsBypassed() const { … }
void __rtsan::PrintDiagnostics(const char *intercepted_function_name, uptr pc,
uptr bp) { … }
__rtsan::Context &__rtsan::GetContextForThisThread() { … }