// { dg-options "-std=gnu++0x" } template class A { /* ... */ }; template class B { /* ... */ }; template class C { /* ... */ }; template class P> class X { /* ... */ }; template class Q> class Y { /* ... */ }; X xA; // okay X xB; // { dg-error "mismatch" } // { dg-error "expected a template" "" { target *-*-* } 11 } // { dg-error "invalid type" "" { target *-*-* } 11 } X xC; // { dg-error "mismatch" } // { dg-error "expected a template" "" { target *-*-* } 14 } // { dg-error "invalid type" "" { target *-*-* } 14 } Y yA; Y yB; Y yC; // okay