This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/66178] [4.8/4.9/5/6 Regression] Another label as values ICE in gen_reg_rtx, at emit-rtl.c:1059
- From: "miyuki at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 18 May 2015 20:31:51 +0000
- Subject: [Bug middle-end/66178] [4.8/4.9/5/6 Regression] Another label as values ICE in gen_reg_rtx, at emit-rtl.c:1059
- Auto-submitted: auto-generated
- References: <bug-66178-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66178
Mikhail Maltsev <miyuki at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |miyuki at gcc dot gnu.org
--- Comment #4 from Mikhail Maltsev <miyuki at gcc dot gnu.org> ---
But for "static int a = ((char *)&&l1-(char *)&&l2)+1;" GCC is able to emit a
valid initializer:
.LFE1:
.size main, .-main
.section .rodata
.align 4
.type a.1833, @object
.size a.1833, 4
a.1833:
.long .L2-.L3+1
And for last testcase the backtrace looks quite different:
./test.c:13:1: internal compiler error: output_operand: invalid expression as
operand
}
^
0x7ed77f output_operand_lossage(char const*, ...)
../../src/gcc/final.c:3446
0x7ee045 output_addr_const(_IO_FILE*, rtx_def*)
../../src/gcc/final.c:4035
0x7edfe5 output_addr_const(_IO_FILE*, rtx_def*)
../../src/gcc/final.c:3995
0xd808ee assemble_integer_with_op(char const*, rtx_def*)
../../src/gcc/varasm.c:2743
0xd80956 default_assemble_integer(rtx_def*, unsigned int, int)
../../src/gcc/varasm.c:2759
0xd809d0 assemble_integer(rtx_def*, unsigned int, unsigned int, int)
../../src/gcc/varasm.c:2775
0xd86910 output_constant
../../src/gcc/varasm.c:4795