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.