https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80163

            Bug ID: 80163
           Summary: ICE on hopefully valid code
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
  Target Milestone: ---

Following snippet ICEs:

$ cat ice.cpp
void
c ()
{
a:
b:;
  static __int128_t d = (long) &&a - (long) &&b;
}

$ gcc ice.c
ice.c:7:1: internal compiler error: in assemble_integer, at varasm.c:2754
 }
 ^
0x130b70d assemble_integer(rtx_def*, unsigned int, unsigned int, int)
        ../../gcc/varasm.c:2754
0x131253f output_constant
        ../../gcc/varasm.c:4804
0x1309a39 assemble_variable_contents
        ../../gcc/varasm.c:2083
0x130a499 assemble_variable(tree_node*, int, int, int)
        ../../gcc/varasm.c:2259
0x13221a8 varpool_node::assemble_decl()
        ../../gcc/varpool.c:588
0x9ea9c4 output_in_order
        ../../gcc/cgraphunit.c:2285
0x9eb091 symbol_table::compile()
        ../../gcc/cgraphunit.c:2525
0x9eb2e6 symbol_table::finalize_compilation_unit()
        ../../gcc/cgraphunit.c:2621

All releases I have ICE (4.5.0+), both clang and ICC accept the code.

Reply via email to