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
          Reporter: marxin at gcc dot
                CC: mpolacek at gcc dot, msebor at gcc dot
  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
 int e ()
0xd9e5d7 get_range_info(tree_node const*, generic_wide_int<wide_int_storage>*,
0x11e0e68 alloca_call_type
0x11e0e68 pass_walloca::execute(function*)

Reply via email to