// { dg-do assemble } extern "C" int printf(const char *, ...); template struct A { typedef typename T::X B; // { dg-error "" } not a class A(double); }; template void xxx(typename A::B); template struct B { friend void xxx(T); // { dg-error "" } does not match any template }; template struct B;