Merge from mainline (167278:168000).
[official-gcc/graphite-test-results.git] / gcc / testsuite / g++.dg / template / injected1.C
blob81873b498f9c1ac084dca2f17ebdb67ad9482e5b
1 // PR c++/13950, DR 176
3 template <class T> struct Base { }; // { dg-error "" } candidate
5 struct D1: Base<void>
7   D1::Base* p1;
8   D1::Base<double>* p2;
9   Base *p3;
10   Base<double>* p4;
13 struct D2: Base<void>, Base<void*>
15   D2::Base* p1;                 // { dg-error "" }
16   D2::Base<double>* p2;
17   Base *p3;                     // { dg-error "" }
18   Base<double>* p4;
21 template <class T>
22 struct D3: Base<T> {
23   typename D3::Base* p1;
24   typename D3::template Base<double>* p2;
26 template struct D3<void>;
28 template <class T>
29 struct D4: Base<T>, Base<T*> {
30   typename D4::Base* p1;        // { dg-error "" }
31   typename D4::template Base<double>* p2;
33 template struct D4<void>;       // { dg-message "instantiated" }