[Bug debug/82837] New: [8 Regression] ICE in output_operand: invalid expression as operand
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Nov 4 21:04:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82837
Bug ID: 82837
Summary: [8 Regression] ICE in output_operand: invalid
expression as operand
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: debug
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: jakub at gcc dot gnu.org
Target Milestone: ---
Host: i686-linux-gnu
Target: i686-linux-gnu
Following test-case ICEs, unfortunately can't be reproduced on
x86_64-linux-gnu:
$ cat /tmp/ice.i
static char b[100];
static int *c;
char *e;
void a(char *f, char *i) {
int d = __builtin_object_size(f, 1);
__builtin___strcpy_chk(f, i, d);
}
void g(void) {
int h;
switch (*c) {
case 8:
e = "swapgs";
break;
case 9:
e = "rdtscp";
break;
default:
return;
}
h = __builtin_strlen(b);
a(b + h - 6, e);
c++;
}
$ ./xgcc -B. /tmp/ice.i -O2 -g -fPIE
/tmp/ice.i:23:1: internal compiler error: output_operand: invalid expression as
operand
}
^
0x86bb32f output_operand_lossage(char const*, ...)
../../gcc/final.c:3442
0x86bc7cb output_addr_const(_IO_FILE*, rtx_def*)
../../gcc/final.c:4031
0x86bc426 output_addr_const(_IO_FILE*, rtx_def*)
../../gcc/final.c:3940
0x85f09a9 dw2_assemble_integer(int, rtx_def*)
../../gcc/dwarf2asm.c:56
0x85f0f86 dw2_asm_output_addr_rtx(int, rtx_def*, char const*, ...)
../../gcc/dwarf2asm.c:305
0x85ff836 output_loc_operands
../../gcc/dwarf2out.c:2197
0x85fff74 output_loc_sequence(dw_loc_descr_node*, int)
../../gcc/dwarf2out.c:2419
0x860ac7e output_loc_list
../../gcc/dwarf2out.c:9851
0x86084cf output_location_lists
../../gcc/dwarf2out.c:8451
0x8608500 output_location_lists
../../gcc/dwarf2out.c:8453
0x8608500 output_location_lists
../../gcc/dwarf2out.c:8453
0x8608500 output_location_lists
../../gcc/dwarf2out.c:8453
0x863a82b dwarf2out_finish
../../gcc/dwarf2out.c:30118
More information about the Gcc-bugs
mailing list