| // { 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|variable)" } |