ThreadLocal.inc revision 263508
12311Sjkh//=== llvm/Support/Unix/ThreadLocal.inc - Unix Thread Local Data -*- C++ -*-===// 22311Sjkh// 32311Sjkh// The LLVM Compiler Infrastructure 42311Sjkh// 52311Sjkh// This file is distributed under the University of Illinois Open Source 62311Sjkh// License. See LICENSE.TXT for details. 72311Sjkh// 82311Sjkh//===----------------------------------------------------------------------===// 92311Sjkh// 102311Sjkh// This file implements the Unix specific (non-pthread) ThreadLocal class. 112311Sjkh// 122311Sjkh//===----------------------------------------------------------------------===// 132311Sjkh 142311Sjkh//===----------------------------------------------------------------------===// 152311Sjkh//=== WARNING: Implementation here must contain only generic UNIX code that 162311Sjkh//=== is guaranteed to work on *all* UNIX variants. 172311Sjkh//===----------------------------------------------------------------------===// 182311Sjkh 192311Sjkhnamespace llvm { 202311Sjkhusing namespace sys; 212311SjkhThreadLocalImpl::ThreadLocalImpl() : data() { } 222311SjkhThreadLocalImpl::~ThreadLocalImpl() { } 232311Sjkhvoid ThreadLocalImpl::setInstance(const void* d) { data = const_cast<void*>(d);} 242311Sjkhconst void* ThreadLocalImpl::getInstance() { return data; } 252311Sjkhvoid ThreadLocalImpl::removeInstance() { setInstance(0); } 262311Sjkh} 272311Sjkh