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.