// { dg-do run { target c++11 } } | |
struct A; | |
struct B { operator A (); }; | |
struct A { A (const A &) = default; A () = default; B a; }; | |
A a {B {}}; | |
bool seen; | |
B::operator A () | |
{ | |
seen = true; | |
return A (); | |
} | |
int | |
main () | |
{ | |
#if __cplusplus > 201703L | |
if (!seen) | |
__builtin_abort (); | |
#else | |
if (seen) | |
__builtin_abort (); | |
#endif | |
} |