diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.oliva/template10.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.oliva/template10.C | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/template10.C b/gcc/testsuite/g++.old-deja/g++.oliva/template10.C new file mode 100644 index 000000000..5c1204bdd --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.oliva/template10.C @@ -0,0 +1,22 @@ +// { dg-do assemble } + +// Copyright (C) 1999 Free Software Foundation + +// by Alexandre Oliva <oliva@lsd.ic.unicamp.br> +// bug report by Martin Sebor <sebor@roguewave.com> +// based on C++ Standard example in [temp.expl.spec]/5 + +/* Members of explicitly specialized template classes shall not be + defined with template-specialization syntax. The example in the + Standard contains a definition of a member function of the + explicitly specialized class template, but the paragraph refers to + members in general, not only member functions. */ + +template<class T> struct A {}; + +template<> struct A<int> { + static bool a, b; +}; + +bool A<int>::a = true; // ok +template<> bool A<int>::b = false; // { dg-error "template header" } |