| // PR c++/27115 | |
| // { dg-do run } | |
| // { dg-options "" } | |
| struct A | |
| { | |
| int i; | |
| A (int j) : i(j) {} | |
| A (const A &j) : i(j.i) {} | |
| A& operator= (const A &j) { i = j.i; return *this; } | |
| }; | |
| A foo(int j) | |
| { | |
| return ({ j ? A(1) : A(0); }); | |
| } | |
| int main() | |
| { | |
| return foo(1).i-1; | |
| } | |
| void foo2() | |
| { | |
| A b = ({ A a(1); a; }); | |
| } | |