diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2012-05-25 14:47:05 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2012-05-25 14:47:05 +0000 |
commit | 0cf10ac9abd09d38fc4b143f54e2917d8c1d0af6 (patch) | |
tree | 2bd23130e37d60f3193fabd365777dac0c876b6b /clang/test/CodeGenCXX/visibility.cpp | |
parent | 4d71d0f9fae70806d77b38a85312554daaa2ecc5 (diff) | |
download | bcm5719-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.cpp | 14 |
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 +} |