14 #include "llvm/Config/config.h"
23 #if !defined(LLVM_ENABLE_THREADS) || LLVM_ENABLE_THREADS == 0
28 ThreadLocalImpl::~ThreadLocalImpl() { }
29 void ThreadLocalImpl::setInstance(
const void* d) {
30 static_assert(
sizeof(d) <=
sizeof(data),
"size too big");
31 void **pd =
reinterpret_cast<void**
>(&data);
32 *pd =
const_cast<void*
>(d);
34 void *ThreadLocalImpl::getInstance() {
35 void **pd =
reinterpret_cast<void**
>(&data);
38 void ThreadLocalImpl::removeInstance() {
42 #elif defined(LLVM_ON_UNIX)
44 #elif defined( LLVM_ON_WIN32)
47 #warning Neither LLVM_ON_UNIX nor LLVM_ON_WIN32 set in Support/ThreadLocal.cpp