1 //=== llvm/Support/Unix/ThreadLocal.inc - Unix Thread Local Data -*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 // 10 // This file implements the Unix specific (non-pthread) ThreadLocal class. 11 // 12 //===----------------------------------------------------------------------===// 13 14 //===----------------------------------------------------------------------===// 15 //=== WARNING: Implementation here must contain only generic UNIX code that 16 //=== is guaranteed to work on *all* UNIX variants. 17 //===----------------------------------------------------------------------===// 18 19 namespace llvm { 20 using namespace sys; 21 ThreadLocalImpl::ThreadLocalImpl() { } 22 ThreadLocalImpl::~ThreadLocalImpl() { } 23 void ThreadLocalImpl::setInstance(const void* d) { data = const_cast<void*>(d);} 24 const void* ThreadLocalImpl::getInstance() { return data; } 25 void ThreadLocalImpl::removeInstance() { setInstance(0); } 26 } 27