Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / g++.dg / parse / crash11.C
blobeb5cf3c245cee917341d03310a7dda3f955082c6
1 // { dg-do compile }
3 // Origin: priesnit@math.uni-goettingen.de
5 // PR c++/5767: ICE parsing typename with invalid scope.
7 template <template <typename> class TP>
8 struct A
10   template <typename T>
11   struct Template
12   {
13     typedef typename TP<T>::Type Type;
14   };
16 template <template <typename> class TP>
17 struct B
19   template <typename T>
20   struct Template
21   {
22     typedef typename A<A<TP>::Template>  // { dg-error "mismatch|class template" }
23       ::template Template<T>::Type Type; // { dg-error "" }
24   };
26 template <typename T>
27 struct C
29   typedef void Type;
31 int main()
33   typedef B<C>::Template<void>::Type Type; // { dg-error "does not name a type" }