Revert "Set dso_local on vtables."
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 22 Mar 2018 21:14:16 +0000 (21:14 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 22 Mar 2018 21:14:16 +0000 (21:14 +0000)
This reverts commit r328238.

Looks like it broke some buildbots.

llvm-svn: 328242

clang/lib/CodeGen/ItaniumCXXABI.cpp
clang/test/CodeGenCXX/dllexport.cpp

index 53b74237c1902b9173e2e66ed8d16801ad520f37..debdf99b42486c872516b517f2cfabb265e54ad0 100644 (file)
@@ -2848,7 +2848,6 @@ void ItaniumRTTIBuilder::BuildVTablePointer(const Type *Ty) {
 
   const char *VTableName = nullptr;
 
-  const CXXRecordDecl *RD = nullptr;
   switch (Ty->getTypeClass()) {
 #define TYPE(Class, Base)
 #define ABSTRACT_TYPE(Class, Base)
@@ -2900,7 +2899,8 @@ void ItaniumRTTIBuilder::BuildVTablePointer(const Type *Ty) {
     break;
 
   case Type::Record: {
-    RD = cast<CXXRecordDecl>(cast<RecordType>(Ty)->getDecl());
+    const CXXRecordDecl *RD =
+      cast<CXXRecordDecl>(cast<RecordType>(Ty)->getDecl());
 
     if (!RD->hasDefinition() || !RD->getNumBases()) {
       VTableName = ClassTypeInfo;
@@ -2948,7 +2948,6 @@ void ItaniumRTTIBuilder::BuildVTablePointer(const Type *Ty) {
 
   llvm::Constant *VTable =
     CGM.getModule().getOrInsertGlobal(VTableName, CGM.Int8PtrTy);
-  CGM.setGVProperties(cast<llvm::GlobalValue>(VTable->stripPointerCasts()), RD);
 
   llvm::Type *PtrDiffTy =
     CGM.getTypes().ConvertType(CGM.getContext().getPointerDiffType());
index 12d0648660442f88ba91350227309b4f5e5534ee..8820ca8909cbf4ed6c3b7b6b417ce212fdc9849b 100644 (file)
@@ -41,8 +41,6 @@ struct External { int v; };
 // GNU-NOT: @ExternGlobalDecl
 __declspec(dllexport) extern int ExternGlobalDecl;
 
-// GNU-DAG: @_ZTVN10__cxxabiv117__class_type_infoE = external dso_local global
-
 // dllexport implies a definition.
 // MSC-DAG: @"?GlobalDef@@3HA" = dso_local dllexport global i32 0, align 4
 // GNU-DAG: @GlobalDef            = dso_local dllexport global i32 0, align 4