Opaque types didn't work if llvm_is_multithreaded().
[oota-llvm.git] / lib / VMCore / Type.cpp
index ba190d9230113fa7d08cfc00248aa21fd29c7650..1abeffa99ff6ec297788861ee4064fdfcd6145ee 100644 (file)
@@ -492,7 +492,7 @@ void DerivedType::dropAllTypeUses() {
         tmp = AlwaysOpaqueTy;
         if (!tmp) {
           tmp = OpaqueType::get(getContext());
-          PATypeHolder* tmp2 = new PATypeHolder(AlwaysOpaqueTy);
+          PATypeHolder* tmp2 = new PATypeHolder(tmp);
           sys::MemoryFence();
           AlwaysOpaqueTy = tmp;
           Holder = tmp2;