1// { dg-do assemble  }
2
3extern "C" int printf(const char *, ...);
4template <class T> struct A {
5  typedef typename T::X B; // { dg-error "" } not a class
6  A(double);
7};
8
9template <class T> void xxx(typename A<T>::B);
10
11template <class T> struct B {
12  friend void xxx<T>(T); // { dg-error "" } does not match any template
13};
14
15template struct B<double>;
16