diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2012-03-10 13:01:40 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2012-03-10 13:01:40 +0000 |
commit | 1f71a239857f9830ed8d9abff56a31a26c9480ac (patch) | |
tree | dedb65384de0409d33f31d5363ce4eabe6ab0bd6 /clang/lib/AST/Decl.cpp | |
parent | 6338e61ae9222f59f7d1c0652a328b7d24f1f856 (diff) | |
download | bcm5719-llvm-1f71a239857f9830ed8d9abff56a31a26c9480ac.tar.gz bcm5719-llvm-1f71a239857f9830ed8d9abff56a31a26c9480ac.zip |
The type of a definition should not increase its visibility. Fixes PR12221.
llvm-svn: 152493
Diffstat (limited to 'clang/lib/AST/Decl.cpp')
-rw-r--r-- | clang/lib/AST/Decl.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp index ded507ef8e3..0e2793490d9 100644 --- a/clang/lib/AST/Decl.cpp +++ b/clang/lib/AST/Decl.cpp @@ -335,8 +335,8 @@ static LinkageInfo getLVForNamespaceScopeDecl(const NamedDecl *D, LVFlags F) { LinkageInfo TypeLV = getLVForType(Var->getType()); if (TypeLV.linkage() != ExternalLinkage) return LinkageInfo::uniqueExternal(); - if (!LV.visibilityExplicit()) - LV.mergeVisibility(TypeLV.visibility(), TypeLV.visibilityExplicit()); + LV.mergeVisibilityWithMin(TypeLV.visibility(), + TypeLV.visibilityExplicit()); } if (Var->getStorageClass() == SC_PrivateExtern) |