https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100409
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Runtime testcase that aborts: int x, y; int __attribute__((pure,noinline)) foo () { if (x) throw 1; return y; } int __attribute__((noinline)) foo2 () { foo (); return y; } int __attribute__((noinline)) bar() { int a[2]; x = 1; try { int res = foo2 (); a[0] = res; } catch (...) { return 0; } return 1; } int main() { if (bar ()) __builtin_abort (); return 0; }