ManagedStatic is never built with a null constructor, remove support for it.
authorDavid Blaikie <dblaikie@gmail.com>
Thu, 17 Apr 2014 20:30:35 +0000 (20:30 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Thu, 17 Apr 2014 20:30:35 +0000 (20:30 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206492 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/ManagedStatic.cpp

index acd5b1a70183c420367646a679048b933973356f..6a1c2a545a8d87f2a59ffed59c0542aa30caf32b 100644 (file)
@@ -21,11 +21,12 @@ static const ManagedStaticBase *StaticList = nullptr;
 
 void ManagedStaticBase::RegisterManagedStatic(void *(*Creator)(),
                                               void (*Deleter)(void*)) const {
+  assert(Creator);
   if (llvm_is_multithreaded()) {
     llvm_acquire_global_lock();
 
     if (!Ptr) {
-      void* tmp = Creator ? Creator() : nullptr;
+      void* tmp = Creator();
 
       TsanHappensBefore(this);
       sys::MemoryFence();
@@ -47,7 +48,7 @@ void ManagedStaticBase::RegisterManagedStatic(void *(*Creator)(),
   } else {
     assert(!Ptr && !DeleterFn && !Next &&
            "Partially initialized ManagedStatic!?");
-    Ptr = Creator ? Creator() : nullptr;
+    Ptr = Creator();
     DeleterFn = Deleter;
   
     // Add to list of managed statics.