summaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGRTTI.cpp
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-05-05 17:38:39 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-05-05 17:38:39 +0000
commit59f08897582ccda29076e1eecf505d6c02538c5f (patch)
tree8ef1ff1ff4edb5d04ee66e023f465fef2e86b59a /lib/CodeGen/CGRTTI.cpp
parente9a44d1c1438a1c9f602f6c76a2076126bee1e45 (diff)
downloadclang-59f08897582ccda29076e1eecf505d6c02538c5f.tar.gz
clang-59f08897582ccda29076e1eecf505d6c02538c5f.tar.bz2
clang-59f08897582ccda29076e1eecf505d6c02538c5f.tar.xz
CodeGen: Cleanup visibility in RTTIBuilder
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207978 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGRTTI.cpp')
-rw-r--r--lib/CodeGen/CGRTTI.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/lib/CodeGen/CGRTTI.cpp b/lib/CodeGen/CGRTTI.cpp
index 04523bc08b..53c45cd3e9 100644
--- a/lib/CodeGen/CGRTTI.cpp
+++ b/lib/CodeGen/CGRTTI.cpp
@@ -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);
}