]> granicus.if.org Git - clang/commitdiff
CodeGen: Cleanup visibility in RTTIBuilder
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Mon, 5 May 2014 17:38:39 +0000 (17:38 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Mon, 5 May 2014 17:38:39 +0000 (17:38 +0000)
No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207978 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGRTTI.cpp

index 04523bc08baac2ca7fd64162e47a651330076b75..53c45cd3e9ffc3f3e9bb49079b0a7abb195edfa7 100644 (file)
@@ -678,18 +678,14 @@ llvm::Constant *RTTIBuilder::BuildTypeInfo(QualType Ty, bool Force) {
 
   // Give the type_info object and name the formal visibility of the
   // type itself.
-  Visibility formalVisibility = Ty->getVisibility();
-  llvm::GlobalValue::VisibilityTypes llvmVisibility =
-    CodeGenModule::GetLLVMVisibility(formalVisibility);
+  llvm::GlobalValue::VisibilityTypes llvmVisibility;
+  if (RTTIUniqueness == CGCXXABI::RUK_NonUniqueHidden)
+    llvmVisibility = llvm::GlobalValue::HiddenVisibility;
+  else
+    llvmVisibility = CodeGenModule::GetLLVMVisibility(Ty->getVisibility());
   TypeName->setVisibility(llvmVisibility);
   GV->setVisibility(llvmVisibility);
 
-  // FIXME: integrate this better into the above when we move to trunk
-  if (RTTIUniqueness == CGCXXABI::RUK_NonUniqueHidden) {
-    TypeName->setVisibility(llvm::GlobalValue::HiddenVisibility);
-    GV->setVisibility(llvm::GlobalValue::HiddenVisibility);
-  }
-
   return llvm::ConstantExpr::getBitCast(GV, CGM.Int8PtrTy);
 }