summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-04-29 06:18:53 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-04-29 06:18:53 +0000
commit846c2833ecaaffc0114282b77d3b5dacb44a01fe (patch)
tree8d25d538ab34e270e840723bf6de00ac03cd2827 /clang/test
parent105d6abe506c7591118ce065bcbbea7399efd1f6 (diff)
downloadbcm5719-llvm-846c2833ecaaffc0114282b77d3b5dacb44a01fe.tar.gz
bcm5719-llvm-846c2833ecaaffc0114282b77d3b5dacb44a01fe.zip
CodeGen: Reference temporaries inherit visibility
Reference temporaries inherited many properties from the variable that they correspond to but visibility wasn't one of them. llvm-svn: 207496
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGenCXX/const-init-cxx11.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/const-init-cxx11.cpp b/clang/test/CodeGenCXX/const-init-cxx11.cpp
index 26ad9cb7676..891a732de03 100644
--- a/clang/test/CodeGenCXX/const-init-cxx11.cpp
+++ b/clang/test/CodeGenCXX/const-init-cxx11.cpp
@@ -395,6 +395,8 @@ namespace UnemittedTemporaryDecl {
// CHECK: @_ZZN12LocalVarInit8mutable_EvE1a = private unnamed_addr constant {{.*}} i32 103
// CHECK: @_ZGRN33ClassTemplateWithStaticDataMember1SIvE1aE = linkonce_odr constant i32 5
// CHECK: @_ZN33ClassTemplateWithStaticDataMember3useE = constant i32* @_ZGRN33ClassTemplateWithStaticDataMember1SIvE1aE
+// CHECK: @_ZGRN39ClassTemplateWithHiddenStaticDataMember1SIvE1aE = linkonce_odr hidden constant i32 5
+// CHECK: @_ZN39ClassTemplateWithHiddenStaticDataMember3useE = constant i32* @_ZGRN39ClassTemplateWithHiddenStaticDataMember1SIvE1aE
// CHECK: @_ZGRZN20InlineStaticConstRef3funEvE1i = linkonce_odr constant i32 10
// Constant initialization tests go before this point,
@@ -574,3 +576,13 @@ namespace ClassTemplateWithStaticDataMember {
const int &S<T>::a = 5;
const int &use = S<void>::a;
}
+
+namespace ClassTemplateWithHiddenStaticDataMember {
+ template <typename T>
+ struct S {
+ __attribute__((visibility("hidden"))) static const int &a;
+ };
+ template <typename T>
+ const int &S<T>::a = 5;
+ const int &use = S<void>::a;
+}
OpenPOWER on IntegriCloud