diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/ext/instantiate2.C')
-rw-r--r-- | gcc/testsuite/g++.dg/ext/instantiate2.C | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/ext/instantiate2.C b/gcc/testsuite/g++.dg/ext/instantiate2.C new file mode 100644 index 00000000000..97ef45c874d --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/instantiate2.C @@ -0,0 +1,15 @@ +// Test that 'static template' instantiates statics. +// { dg-do compile } +// { dg-options "-fno-implicit-templates" } + +template <class T> struct A { + static T t; +}; +template <class T> T A<T>::t = 0; +static template struct A<int>; + +// { dg-final { scan-assembler "\n_?_ZN1AIiE1tE(:|\n|\t)" } } +void test_int() { A<int>::t = 42; } + +// { dg-final { scan-assembler-not "\n_?_ZN1AIcE1tE(:|\n|\t)" } } +void test_char() { A<char>::t = 42; } |