diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-05-05 17:38:39 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-05-05 17:38:39 +0000 |
commit | 59f08897582ccda29076e1eecf505d6c02538c5f (patch) | |
tree | 8ef1ff1ff4edb5d04ee66e023f465fef2e86b59a /lib/CodeGen/CGRTTI.cpp | |
parent | e9a44d1c1438a1c9f602f6c76a2076126bee1e45 (diff) | |
download | clang-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.cpp | 14 |
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); } |