| // { dg-do run } | |
| // Test that we clean up temporaries bound to references properly when | |
| // jumping out of their scope. | |
| int ret = 1; | |
| struct A | |
| { | |
| ~A() { ret = 0; } | |
| }; | |
| void f() | |
| { | |
| if (0) | |
| { | |
| out: | |
| return; | |
| } | |
| const A& a = A(); | |
| goto out; | |
| } | |
| int main() | |
| { | |
| f(); | |
| return ret; | |
| } |