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.

Reply via email to