// { dg-do compile { target c++11 } } // { dg-options -fno-new-ttp-matching } 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" "mismatch" } // { dg-message "expected a template" "expected" { target *-*-* } .-1 } X xC; // { dg-error "mismatch" "mismatch" } // { dg-message "expected a template" "expected" { target *-*-* } .-1 } Y yA; Y yB; Y yC; // okay