// PR c++/70627 | |
// { dg-do compile { target c++11 } } | |
struct D; | |
struct A | |
{ | |
D *operator->(); | |
}; | |
struct B | |
{ | |
template <typename... T> void foo (T &&...) {} | |
}; | |
typedef unsigned char G; | |
enum class H : G; | |
struct C | |
{ | |
}; | |
struct D : C | |
{ | |
B foo () const { B a; a.foo (d); return B(); } | |
H d; | |
}; | |
struct F : C | |
{ | |
void foo (); | |
A f; | |
}; | |
enum class H : unsigned char; | |
void F::foo () { B b = f->foo (); } |