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