15 #include "llvm/Config/config.h"
29 return ManagedStaticMutex;
33 void (*Deleter)(
void*))
const {
39 void* tmp = Creator();
58 "Partially initialized ManagedStatic!?");
69 assert(
DeleterFn &&
"ManagedStatic not initialized correctly!");
71 "Not destroyed in reverse order of construction?");
const ManagedStaticBase * Next
#define TsanHappensBefore(cv)
void(* DeleterFn)(void *)
static sys::Mutex & getManagedStaticMutex()
void llvm_shutdown()
llvm_shutdown - Deallocate and destroy all ManagedStatic variables.
Instances of this class acquire a given Mutex Lock when constructed and hold that lock until destruct...
bool llvm_is_multithreaded()
Returns true if LLVM is compiled with support for multi-threading, and false otherwise.
void RegisterManagedStatic(void *(*creator)(), void(*deleter)(void *)) const
ManagedStaticBase - Common base class for ManagedStatic instances.
static const ManagedStaticBase * StaticList
#define TsanIgnoreWritesEnd()
#define TsanIgnoreWritesBegin()