This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]