diff options
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/CodeGenCXX/internal-linkage.cpp | 19 | ||||
| -rw-r--r-- | clang/test/SemaTemplate/instantiate-decl-init.cpp | 14 |
2 files changed, 33 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/internal-linkage.cpp b/clang/test/CodeGenCXX/internal-linkage.cpp new file mode 100644 index 00000000000..1ae0f08f86e --- /dev/null +++ b/clang/test/CodeGenCXX/internal-linkage.cpp @@ -0,0 +1,19 @@ +// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s + +struct Global { }; +template<typename T> struct X { }; + + +namespace { + struct Anon { }; + + // CHECK: @_ZN12_GLOBAL__N_15anon0E = internal global + Global anon0; +} + +// CHECK: @anon1 = internal global +Anon anon1; + +// CHECK: @anon2 = internal global +X<Anon> anon2; + diff --git a/clang/test/SemaTemplate/instantiate-decl-init.cpp b/clang/test/SemaTemplate/instantiate-decl-init.cpp index b0c2aa8afa9..69c7721b518 100644 --- a/clang/test/SemaTemplate/instantiate-decl-init.cpp +++ b/clang/test/SemaTemplate/instantiate-decl-init.cpp @@ -20,3 +20,17 @@ void fn(T t, const arg& arg) { void test() { fn(1, arg()); } + +struct X0 { }; + +struct X1 { + explicit X1(const X0 &x0 = X0()); +}; + +template<typename T> +void f0() { + X1 x1; +} + +template void f0<int>(); +template void f0<float>(); |

