https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77916
Bug ID: 77916 Summary: [6/7 Regression] ICE in verify_gimple_in_cfg: invalid (pointer) operands to plus/minus Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: ktkachov at gcc dot gnu.org Target Milestone: --- The following testcase ICEs for me on aarch64 with -O3 on GCC 6 and trunk (GCC 7) typedef struct { void *f1; } S; S *a; int b; void fn1 (void) { for (; b; b++, a++) a->f1 = b; } foo.c: In function 'fn1': foo.c:13:11: warning: assignment makes pointer from integer without a cast [-Wint-conversion] a->f1 = b; ^ foo.c:10:1: error: invalid (pointer) operands to plus/minus fn1 (void) ^~~ slsr_65 = _108 + 1B; foo.c:10:1: error: invalid (pointer) operands to plus/minus slsr_94 = _118 + 1B; foo.c:10:1: error: invalid (pointer) operands to plus/minus slsr_158 = _128 + 1B; foo.c:10:1: error: invalid (pointer) operands to plus/minus slsr_160 = _138 + 1B; foo.c:10:1: error: invalid (pointer) operands to plus/minus slsr_162 = _148 + 1B; foo.c:10:1: error: invalid (pointer) operands to plus/minus slsr_166 = _9 + 1B; foo.c:10:1: error: invalid (pointer) operands to plus/minus slsr_164 = _96 + 1B; foo.c:10:1: internal compiler error: verify_gimple failed 0xb89e64 verify_gimple_in_cfg(function*, bool) $SRC/gcc/tree-cfg.c:5208 0xa6a457 execute_function_todo $SRC/gcc/passes.c:1964 0xa6a777 do_per_function $SRC/gcc/passes.c:1648 0xa6a895 execute_todo $SRC/gcc/passes.c:2014