// { dg-do compile { target c++11 } } // { dg-prune-output "note" } // PR c++/33509 template struct pair { int i, j; pair() : i(M), j(N) {} }; template struct S { template static int foo() throw (pair ...) // { dg-error "mismatched" } { return 1; } }; int bar () { return S<0, 1, 2>::foo<0, 1, 3> (); } int wibble() { return S<0, 1, 2>::foo<0, 1> (); // { dg-error "no matching" } }