CSE bug: Internal compiler error in `mark_jump_label'
Greg McGary
gkm@eng.ascend.com
Wed Dec 22 14:27:00 GMT 1999
This is an adaptation of gcc.c-torture/compile/labels-1.c that
simulates the effect of -fbounded-pointers:
struct bp { void *v, *b, *e; };
f ()
{
struct bp x = { &&L2 };
if (&&L3 - &&L1 > 1)
abort ();
L1:return 1;
L2:abort ();
L3:;
}
It compiles fine with 2.95, but has failed with 2.96 for at least a
couple of months.
With the broken 2.96, this succeeds:
gcc -O1 -c labels-1.c
but this fails:
gcc -O1 -c -fgcse -frerun-cse-after-loop labels-1.c
Here's the diagnostic:
labels-1.c: In function `f':
labels-1.c:10: Internal compiler error in `mark_jump_label', at jump.c:3965
mark_jump_label expects to see LABEL_REF refer to a CODE_LABEL, but
instead chokes on this:
(label_ref:SI (note 37 34 38 "" NOTE_INSN_DELETED_LABEL))
Greg
More information about the Gcc-bugs
mailing list