// PR c++/70468 | |
// { dg-do compile { target c++11 } } | |
// { dg-additional-options -w } | |
struct S {}; | |
template < typename = S > | |
class A | |
{ | |
public: | |
A () : f0 (), f1 () {} // { dg-error "" } | |
private: | |
typedef A<> f0; | |
int f1; | |
}; | |
template < typename = S, typename = S > | |
class B | |
{ | |
}; | |
template < typename T1, typename T2 > | |
B < T1, T2 > &operator<< (B < T1, T2 >&, const int) | |
{ | |
A<> (); | |
} | |
template | |
B < S, S > &operator<< (B < S, S >&, const int); |