| // { dg-do run } | |
| // { dg-additional-options "-fno-early-inlining" } | |
| struct S101273 | |
| { | |
| int x; | |
| S101273* impl; | |
| S101273(int x) | |
| { | |
| this->x = x; | |
| this->impl = this; | |
| } | |
| S101273(const S101273 &o) | |
| { | |
| this->x = o.x; | |
| this->impl = this; | |
| } | |
| ~S101273() { } | |
| }; | |
| S101273 makeS101273() | |
| { | |
| return S101273(2); | |
| } | |
| S101273 nrvo101273() | |
| { | |
| S101273 ret = makeS101273(); | |
| return ret; | |
| } | |
| int main() | |
| { | |
| auto nrvo = nrvo101273(); | |
| if(&nrvo != nrvo.impl) __builtin_abort (); | |
| return 0; | |
| } |