https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83721
Bug ID: 83721 Summary: [8 Regression] ICE: in generic_overlap, at gimple-ssa-warn-restrict.c:821 Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: doko at gcc dot gnu.org Target Milestone: --- seen with r256272 on i686-linux-gnu, building multimail. omitting the -Wall avoids the issue. $ cat basic.ii int a, c; void b(char *d, char *e) { __builtin___strncpy_chk(d, e, a, 0); } char *f; void g() { int h; for (; h < c; h++) ; b(&f[h], &f[h + 1]); } $ g++ -c -g -O2 -Wall basic.ii during GIMPLE pass: strlen basic.ii: In function 'void g()': basic.ii:4:6: internal compiler error: in generic_overlap, at gimple-ssa-warn-restrict.c:821 void g() { ^ 0x860b00c generic_overlap ../../src/gcc/gimple-ssa-warn-restrict.c:821 0x860e8cd overlap ../../src/gcc/gimple-ssa-warn-restrict.c:1198 0x860e8cd maybe_diag_overlap ../../src/gcc/gimple-ssa-warn-restrict.c:1215 0x860e8cd check_bounds_or_overlap(gcall*, tree_node*, tree_node*, tree_node*, tree_node*, bool) ../../src/gcc/gimple-ssa-warn-restrict.c:1774 0x893d5fc handle_builtin_stxncpy ../../src/gcc/tree-ssa-strlen.c:2063 0x893f7d0 strlen_check_and_optimize_stmt ../../src/gcc/tree-ssa-strlen.c:3113 0x8244627 strlen_dom_walker::before_dom_children(basic_block_def*) ../../src/gcc/tree-ssa-strlen.c:3446 0x8e1e162 dom_walker::walk(basic_block_def*) ../../src/gcc/domwalk.c:308 0x8941de0 execute ../../src/gcc/tree-ssa-strlen.c:3526 Please submit a full bug report, with preprocessed source if appropriate.