https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80214
Bug ID: 80214 Summary: ICE in s390_initial_elimination_offset, at config/s390/s390.c:10249 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- Host: x86_64-linux-gnu Target: s390x-suse-linux Following test-case ICEs: $ cat /tmp/tmp4b6ua9cs.i int a; int b () { __builtin_eh_return (b, a); } $ s390x-linux-gnu-gcc -march=z10 /tmp/tmp4b6ua9cs.i /tmp/tmp4b6ua9cs.i: In function ‘b’: /tmp/tmp4b6ua9cs.i:2:33: warning: passing argument 1 of ‘__builtin_eh_return’ makes integer from pointer without a cast [-Wint-conversion] int b () { __builtin_eh_return (b, a); } ^ /tmp/tmp4b6ua9cs.i:2:33: note: expected ‘long int’ but argument is of type ‘int (*)()’ /tmp/tmp4b6ua9cs.i:2:36: warning: passing argument 2 of ‘__builtin_eh_return’ makes pointer from integer without a cast [-Wint-conversion] int b () { __builtin_eh_return (b, a); } ^ /tmp/tmp4b6ua9cs.i:2:36: note: expected ‘void *’ but argument is of type ‘int’ /tmp/tmp4b6ua9cs.i:2:1: internal compiler error: in s390_initial_elimination_offset, at config/s390/s390.c:10399 int b () { __builtin_eh_return (b, a); } ^~~ 0xea6264 s390_initial_elimination_offset(int, int) .././../gcc/config/s390/s390.c:10399 0xadf85d set_initial_elim_offsets .././../gcc/reload1.c:3841 0xaeb729 calculate_elim_costs_all_insns() .././../gcc/reload1.c:1562 0x9ae72d ira_costs() .././../gcc/ira-costs.c:2258 0x9a8188 ira_build() .././../gcc/ira-build.c:3420 0x99edae ira .././../gcc/ira.c:5287 0x99edae execute .././../gcc/ira.c:5592