// { dg-do assemble } // Adapted from testcase by Corey Kosak <kosak@cs.cmu.edu> template<class T> struct moo_t { struct cow_t {}; }; template<class T> void foo(typename moo_t<T>::cow_t) {} template<class T> void foo(moo_t<T>) { typename moo_t<T>::cow_t p; foo(p); // { dg-bogus "" "" { xfail *-*-* } } - no matching function for call - } int main() { moo_t<int> x; foo(x); // { dg-bogus "" "" { xfail *-*-* } } - instantiated from here - }