1 // PR c++/13950, DR 176
3 template <class T> struct Base { }; // { dg-message "" } candidate
13 struct D2: Base<void>, Base<void*>
15 D2::Base* p1; // { dg-error "" }
17 Base *p3; // { dg-error "" }
23 typename D3::Base* p1;
24 typename D3::template Base<double>* p2;
26 template struct D3<void>;
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 "required" }