| //=== llvm/Support/Unix/ThreadLocal.inc - Unix Thread Local Data -*- C++ -*-===// | 
 | // | 
 | //                     The LLVM Compiler Infrastructure | 
 | // | 
 | // This file is distributed under the University of Illinois Open Source | 
 | // License. See LICENSE.TXT for details. | 
 | // | 
 | //===----------------------------------------------------------------------===// | 
 | // | 
 | // This file implements the Unix specific (non-pthread) ThreadLocal class. | 
 | // | 
 | //===----------------------------------------------------------------------===// | 
 |  | 
 | //===----------------------------------------------------------------------===// | 
 | //=== WARNING: Implementation here must contain only generic UNIX code that | 
 | //===          is guaranteed to work on *all* UNIX variants. | 
 | //===----------------------------------------------------------------------===// | 
 |  | 
 | namespace llvm { | 
 | using namespace sys; | 
 | ThreadLocalImpl::ThreadLocalImpl() { } | 
 | ThreadLocalImpl::~ThreadLocalImpl() { } | 
 | void ThreadLocalImpl::setInstance(const void* d) { data = const_cast<void*>(d);} | 
 | const void* ThreadLocalImpl::getInstance() { return data; } | 
 | void ThreadLocalImpl::removeInstance() { setInstance(0); } | 
 | } |