https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80109
Bug ID: 80109 Summary: ICE in get_range_info, at tree-ssanames.c:375 Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: mpolacek at gcc dot gnu.org, msebor at gcc dot gnu.org Target Milestone: --- Host: x86_64-linux-gnu Target: arm-linux-gnueabi Running following test-case ICEs with cross compiler: $ cat /tmp/tmpxgun9hqd.i int a, c; typedef struct { int b; } d; int e () { int *f = &a; d *g = __builtin_alloca (f); for (;; c--) g[c].b = e; } $ arm-linux-gnueabi-gcc -Os -Walloca-larger-than=126812070 /tmp/tmpxgun9hqd.i /tmp/tmpxgun9hqd.i: In function ‘e’: /tmp/tmpxgun9hqd.i:9:28: warning: passing argument 1 of ‘__builtin_alloca’ makes integer from pointer without a cast [-Wint-conversion] d *g = __builtin_alloca (f); ^ /tmp/tmpxgun9hqd.i:9:28: note: expected ‘unsigned int’ but argument is of type ‘int *’ /tmp/tmpxgun9hqd.i:11:12: warning: assignment makes integer from pointer without a cast [-Wint-conversion] g[c].b = e; ^ /tmp/tmpxgun9hqd.i:6:5: internal compiler error: in get_range_info, at tree-ssanames.c:375 int e () ^ 0xd9e5d7 get_range_info(tree_node const*, generic_wide_int<wide_int_storage>*, generic_wide_int<wide_int_storage>*) .././../gcc/tree-ssanames.c:375 0x11e0e68 alloca_call_type .././../gcc/gimple-ssa-warn-alloca.c:334 0x11e0e68 pass_walloca::execute(function*) .././../gcc/gimple-ssa-warn-alloca.c:466