| // { dg-do run } | |
| // { dg-additional-options -fno-delete-dead-exceptions } | |
| int x, y; | |
| int __attribute__((pure,noinline)) foo () { if (x) throw 1; return y; } | |
| int __attribute__((noinline)) bar() | |
| { | |
| int a[2]; | |
| x = 1; | |
| try { | |
| int res = foo (); | |
| a[0] = res; | |
| } catch (...) { | |
| return 0; | |
| } | |
| return 1; | |
| } | |
| int main() | |
| { | |
| if (bar ()) | |
| __builtin_abort (); | |
| return 0; | |
| } |