| // PR c++/94219 | |
| // { dg-do compile { target c++14 } } | |
| struct A { long x; }; | |
| struct U; | |
| constexpr A foo(U *up); | |
| struct U { | |
| U() = default; | |
| int y; A a = foo(this); | |
| }; | |
| constexpr A foo(U *up) { | |
| up->y = 11; | |
| return {42}; | |
| } | |
| extern constexpr U u = {}; | |
| static_assert(u.y == 11, ""); | |
| static_assert(u.a.x == 42, ""); |