http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59919
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2014-01-23 CC| |trippels at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- Creduce came up with: markus@x4 test % cat test.i typedef struct parrot_interp_t *Parrot_Interp; typedef int jmp_buf[0]; struct parrot_runloop_t { jmp_buf resume; }; void _setjmp(int[]); typedef struct { struct parrot_interp_t *debugger; } PDB_t; void Parrot_pcc_invoke_method_from_c_args(int *, ...); struct parrot_interp_t { PDB_t *pdb; int *const_cstring_table; struct parrot_runloop_t *current_runloop; }; __attribute__((__noreturn__)) void Parrot_ex_throw_from_c_args(Parrot_Interp, ...) __attribute__((__nonnull__)); void Parrot_debugger_break(Parrot_Interp p1) { Parrot_ex_throw_from_c_args(p1); _setjmp(p1->current_runloop->resume); struct parrot_interp_t a = *p1->pdb->debugger; int b = a.const_cstring_table[0]; Parrot_pcc_invoke_method_from_c_args(&b); } markus@x4 test % gcc -c -O2 test.i test.i: In function ‘Parrot_debugger_break’: test.i:19:6: internal compiler error: in process_assert_insertions_for, at tree-vrp.c:6096 void Parrot_debugger_break(Parrot_Interp p1) { ^ 0xbbe63c process_assert_insertions_for ../../gcc/gcc/tree-vrp.c:6096 0xbbe63c process_assert_insertions ../../gcc/gcc/tree-vrp.c:6123 0xbbe63c insert_range_assertions ../../gcc/gcc/tree-vrp.c:6180 0xbbe63c execute_vrp ../../gcc/gcc/tree-vrp.c:9798 0xbbe63c execute ../../gcc/gcc/tree-vrp.c:9899 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.