summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/visibility.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2012-05-25 15:51:26 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2012-05-25 15:51:26 +0000
commita28bf63d9a248a6624fa35e459e9dd8087d0ac89 (patch)
treef52b995283f70043432b6e548d84e6e12b594246 /clang/test/CodeGenCXX/visibility.cpp
parent3eca973bf890d0218c266994ca5795bf8b353ead (diff)
downloadbcm5719-llvm-a28bf63d9a248a6624fa35e459e9dd8087d0ac89.tar.gz
bcm5719-llvm-a28bf63d9a248a6624fa35e459e9dd8087d0ac89.zip
Consider the linkage for member class templates even when we have to ignore
the visibility. llvm-svn: 157475
Diffstat (limited to 'clang/test/CodeGenCXX/visibility.cpp')
-rw-r--r--clang/test/CodeGenCXX/visibility.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/visibility.cpp b/clang/test/CodeGenCXX/visibility.cpp
index d8896843148..17ba33dabe8 100644
--- a/clang/test/CodeGenCXX/visibility.cpp
+++ b/clang/test/CodeGenCXX/visibility.cpp
@@ -832,3 +832,20 @@ namespace test44 {
// CHECK: define internal void @_ZN6test443fooINS_12_GLOBAL__N_13barEEC1Ev
// CHECK-HIDDEN: define internal void @_ZN6test443fooINS_12_GLOBAL__N_13barEEC1Ev
}
+
+namespace test45 {
+ template <typename T>
+ struct foo {
+ template <typename T2>
+ struct bar {
+ bar() {};
+ };
+ };
+ namespace {
+ struct zed;
+ }
+ template struct DEFAULT foo<int>::bar<zed>;
+ foo<int>::bar<zed> x;
+ // CHECK: define internal void @_ZN6test453fooIiE3barINS_12_GLOBAL__N_13zedEEC1Ev
+ // CHECK-HIDDEN: define internal void @_ZN6test453fooIiE3barINS_12_GLOBAL__N_13zedEEC1Ev
+}
OpenPOWER on IntegriCloud