diff options
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/CGRTTI.cpp | 6 | ||||
-rw-r--r-- | lib/CodeGen/CodeGenModule.cpp | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/CodeGen/CGRTTI.cpp b/lib/CodeGen/CGRTTI.cpp index 444062bbff..839ff90940 100644 --- a/lib/CodeGen/CGRTTI.cpp +++ b/lib/CodeGen/CGRTTI.cpp @@ -640,8 +640,12 @@ llvm::Constant *RTTIBuilder::BuildTypeInfo(QualType Ty, bool Force) { /*ForRTTI*/ true, /*ForDefinition*/ true); else if (Hidden || (CGM.getCodeGenOpts().HiddenWeakVTables && - Linkage == llvm::GlobalValue::WeakODRLinkage)) + Linkage == llvm::GlobalValue::WeakODRLinkage)) { GV->setVisibility(llvm::GlobalValue::HiddenVisibility); + + // FIXME: Should we set this for all type infos? + GV->setUnnamedAddr(true); + } return llvm::ConstantExpr::getBitCast(GV, Int8PtrTy); } diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp index 5d549c9196..9ed3150ff5 100644 --- a/lib/CodeGen/CodeGenModule.cpp +++ b/lib/CodeGen/CodeGenModule.cpp @@ -251,6 +251,7 @@ void CodeGenModule::setTypeVisibility(llvm::GlobalValue *GV, // Otherwise, drop the visibility to hidden. GV->setVisibility(llvm::GlobalValue::HiddenVisibility); + GV->setUnnamedAddr(true); } llvm::StringRef CodeGenModule::getMangledName(GlobalDecl GD) { |