diff options
Diffstat (limited to 'release_23/lib/Support/ManagedStatic.cpp')
-rw-r--r-- | release_23/lib/Support/ManagedStatic.cpp | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/release_23/lib/Support/ManagedStatic.cpp b/release_23/lib/Support/ManagedStatic.cpp deleted file mode 100644 index c365e013c6fc..000000000000 --- a/release_23/lib/Support/ManagedStatic.cpp +++ /dev/null @@ -1,53 +0,0 @@ -//===-- ManagedStatic.cpp - Static Global wrapper -------------------------===// -// -// 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 ManagedStatic class and llvm_shutdown(). -// -//===----------------------------------------------------------------------===// - -#include "llvm/Support/ManagedStatic.h" -#include <cassert> -using namespace llvm; - -static const ManagedStaticBase *StaticList = 0; - -void ManagedStaticBase::RegisterManagedStatic(void *ObjPtr, - void (*Deleter)(void*)) const { - assert(Ptr == 0 && DeleterFn == 0 && Next == 0 && - "Partially init static?"); - Ptr = ObjPtr; - DeleterFn = Deleter; - - // Add to list of managed statics. - Next = StaticList; - StaticList = this; -} - -void ManagedStaticBase::destroy() const { - assert(DeleterFn && "ManagedStatic not initialized correctly!"); - assert(StaticList == this && - "Not destroyed in reverse order of construction?"); - // Unlink from list. - StaticList = Next; - Next = 0; - - // Destroy memory. - DeleterFn(Ptr); - - // Cleanup. - Ptr = 0; - DeleterFn = 0; -} - -/// llvm_shutdown - Deallocate and destroy all ManagedStatic variables. -void llvm::llvm_shutdown() { - while (StaticList) - StaticList->destroy(); -} - |