diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2011-06-16 20:14:50 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2011-06-16 20:14:50 +0000 |
commit | 8feee2d169775c52f5c1fde10067cfab1fdf6494 (patch) | |
tree | 6c9f6b59d80d98a44298c53a6c3f4d2c0341ef46 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | d863adb2016909383b3524fe202d05de0f6d6453 (diff) | |
download | bcm5719-llvm-8feee2d169775c52f5c1fde10067cfab1fdf6494.tar.gz bcm5719-llvm-8feee2d169775c52f5c1fde10067cfab1fdf6494.zip |
Move computation of __private_extern__ visibilty to
getLVForNamespaceScopeDecl(). // rdar://9609649
llvm-svn: 133182
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
-rw-r--r-- | clang/lib/CodeGen/CodeGenModule.cpp | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index c15ef9b0890..78c57b4e3f2 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -206,17 +206,8 @@ void CodeGenModule::setGlobalVisibility(llvm::GlobalValue *GV, // Set visibility for definitions. NamedDecl::LinkageInfo LV = D->getLinkageAndVisibility(); - if (LV.visibilityExplicit() || !GV->hasAvailableExternallyLinkage()) { - Visibility Vis = LV.visibility(); - if (Vis == DefaultVisibility) - if (const VarDecl *VD = dyn_cast<VarDecl>(D)) - if (const VarDecl *Old = VD->getPreviousDeclaration()) { - Visibility OldVis = Old->getLinkageAndVisibility().visibility(); - if (OldVis == HiddenVisibility) - Vis = HiddenVisibility; - } - GV->setVisibility(GetLLVMVisibility(Vis)); - } + if (LV.visibilityExplicit() || !GV->hasAvailableExternallyLinkage()) + GV->setVisibility(GetLLVMVisibility(LV.visibility())); } /// Set the symbol visibility of type information (vtable and RTTI) |