// { dg-options -std=c++0x } // 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|no matching" } { return 1; } }; int bar () { return S<0, 1, 2>::foo<0, 1, 3> (); } int wibble() { return S<0, 1, 2>::foo<0, 1> (); }