OSDN Git Service

PR c++/52685
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / template / injected1.C
1 // PR c++/13950, DR 176
2
3 template <class T> struct Base { }; // { dg-error "" } candidate
4
5 struct D1: Base<void>
6 {
7   D1::Base* p1;
8   D1::Base<double>* p2;
9   Base *p3;
10   Base<double>* p4;
11 };
12
13 struct D2: Base<void>, Base<void*>
14 {
15   D2::Base* p1;                 // { dg-error "" }
16   D2::Base<double>* p2;
17   Base *p3;                     // { dg-error "" }
18   Base<double>* p4;
19 };
20
21 template <class T>
22 struct D3: Base<T> {
23   typename D3::Base* p1;
24   typename D3::template Base<double>* p2;
25 };
26 template struct D3<void>;
27
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;
32 };
33 template struct D4<void>;       // { dg-message "required" }