diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2012-05-25 15:51:26 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2012-05-25 15:51:26 +0000 |
commit | a28bf63d9a248a6624fa35e459e9dd8087d0ac89 (patch) | |
tree | f52b995283f70043432b6e548d84e6e12b594246 /clang/test/CodeGenCXX/visibility.cpp | |
parent | 3eca973bf890d0218c266994ca5795bf8b353ead (diff) | |
download | bcm5719-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.cpp | 17 |
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 +} |