+++ /dev/null
-// Copyright (C) 2001 Free Software Foundation
-// Contributed by Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
-// { dg-do run }
-
-extern "C" void abort();
-
-struct A
-{
- template <class T> class B {};
-};
-
-template <template <class> class TT, class T> struct X
-{
- TT<int> y;
- T z;
- int f() { return 0; }
-};
-
-template <class T> struct X<T::template B, T>
-{
- typename T::template B<int> y;
- T z;
- int f() { return 1; }
-};
-
-template <class T> struct C
-{
- X<T::template B, A> x;
-};
-
-int main()
-{
- C<A> c;
- X<A::B, A> x1;
- X<A::B, int> x2;
- if (x1.f() != 1)
- abort();
- if (x2.f() != 0)
- abort();
-}