summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-08-12 23:36:15 +0000
committerJohn McCall <rjmccall@apple.com>2010-08-12 23:36:15 +0000
commitb3732bb3b76a4e12212f5e672ab281bd96ff906d (patch)
tree11485047f9cec4b171682dd3be091f5b2f4c8327 /clang/lib/CodeGen/CodeGenModule.cpp
parent0e93f017e5fecf01b207a60cc94964ffbe525348 (diff)
downloadbcm5719-llvm-b3732bb3b76a4e12212f5e672ab281bd96ff906d.tar.gz
bcm5719-llvm-b3732bb3b76a4e12212f5e672ab281bd96ff906d.zip
Just disable the hidden-visibility optimization for now by hiding it behind
a -cc1 option. The Darwin linker complains about mixed visibility when linking gcc-built objects with clang-built objects, and the optimization isn't really that valuable. Platforms with less ornery linkers can feel free to enable this. llvm-svn: 110979
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
-rw-r--r--clang/lib/CodeGen/CodeGenModule.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index 6283b744c3e..17150426917 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -225,6 +225,9 @@ void CodeGenModule::setTypeVisibility(llvm::GlobalValue *GV,
bool IsForRTTI) const {
setGlobalVisibility(GV, RD);
+ if (!CodeGenOpts.HiddenWeakVTables)
+ return;
+
// We want to drop the visibility to hidden for weak type symbols.
// This isn't possible if there might be unresolved references
// elsewhere that rely on this symbol being visible.
@@ -260,7 +263,7 @@ void CodeGenModule::setTypeVisibility(llvm::GlobalValue *GV,
// to deal with mixed-visibility symbols.
case TSK_ExplicitSpecialization:
case TSK_ImplicitInstantiation:
- if (!CodeGenOpts.EmitWeakTemplatesHidden)
+ if (!CodeGenOpts.HiddenWeakTemplateVTables)
return;
break;
}
OpenPOWER on IntegriCloud