summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/visibility.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2012-05-25 14:47:05 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2012-05-25 14:47:05 +0000
commit0cf10ac9abd09d38fc4b143f54e2917d8c1d0af6 (patch)
tree2bd23130e37d60f3193fabd365777dac0c876b6b /clang/test/CodeGenCXX/visibility.cpp
parent4d71d0f9fae70806d77b38a85312554daaa2ecc5 (diff)
downloadbcm5719-llvm-0cf10ac9abd09d38fc4b143f54e2917d8c1d0af6.tar.gz
bcm5719-llvm-0cf10ac9abd09d38fc4b143f54e2917d8c1d0af6.zip
When ignoring visibility in an instantiation, still consider the linkage.
Similar fixes for function and member template to follow as I write the testcases. llvm-svn: 157470
Diffstat (limited to 'clang/test/CodeGenCXX/visibility.cpp')
-rw-r--r--clang/test/CodeGenCXX/visibility.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/visibility.cpp b/clang/test/CodeGenCXX/visibility.cpp
index 587030854d1..d8896843148 100644
--- a/clang/test/CodeGenCXX/visibility.cpp
+++ b/clang/test/CodeGenCXX/visibility.cpp
@@ -818,3 +818,17 @@ namespace test43 {
// CHECK: define hidden void @_ZN6test433barINS_3fooEEEvv
// CHECK-HIDDEN: define hidden void @_ZN6test433barINS_3fooEEEvv
}
+
+namespace test44 {
+ template <typename T>
+ struct foo {
+ foo() {}
+ };
+ namespace {
+ struct bar;
+ }
+ template struct DEFAULT foo<bar>;
+ foo<bar> x;
+ // CHECK: define internal void @_ZN6test443fooINS_12_GLOBAL__N_13barEEC1Ev
+ // CHECK-HIDDEN: define internal void @_ZN6test443fooINS_12_GLOBAL__N_13barEEC1Ev
+}
OpenPOWER on IntegriCloud