URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [g++.old-deja/] [g++.pt/] [spec20.C] - Rev 305
Compare with Previous | Blame | View Log
// { dg-do assemble }
// According to the non-normative example in
// [temp.class.spec.mfunc]/2, these should be valid, but the grammar
// in the Standard does not allow partial nor full specializations as
// member-declarations, so we'd better not support them.
template <class T>
struct S {
template <class U> void f(U);
template <> void f<int>(int); // { dg-error "" } invalid specialization
template <class V> struct I {}; // { dg-error "template" }
template <class V> struct I<V*> {}; // { dg-error "template" }
template <> struct I<int>; // { dg-error "" } invalid specialization
};