The following testcase fails when using sjlj EH unwind (mingw32 compiler) but succeeds when using Dwarf2 EH unwind (also mingw with sources modified to enable Dwarf2). Is this related to PR 19771? /* sjlj_vla.cc */ extern "C" void abort(void); void foo() { int size = 1; int a[size]; a[0] = 0; try { throw 0; } catch (int i) { } if (a[0] != 0) abort(); } int main() { foo(); }
Confirmed, also on i686-pc-openbsd3.1 which also uses sjlj exceptions.
*** Bug 30196 has been marked as a duplicate of this bug. ***
Subject: Bug number PR middle-end/19774 A patch for this bug has been added to the patch tracker. The mailing list url for the patch is http://gcc.gnu.org/ml/gcc-patches/2007-03/msg00946.html
*** Bug 33874 has been marked as a duplicate of this bug. ***
I tested this patch with current trunk (4.7.0) and test passes without issues. The reported gcc version having this bug is pretty old. So I close it.