https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107554

            Bug ID: 107554
           Summary: Segmentation fault during GIMPLE pass: strlen
                    (tree-ssa-strlen.cc:4772)
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nik_1357 at mail dot ru
  Target Milestone: ---

Hello.

Test which causes the bug:
#include <string.h>

#define ELEMS 0x40000000

int a[ELEMS];
int b[ELEMS];

int main() {
    memcpy(a, b, ELEMS*sizeof(int));
}

Command:
gcc -O1 -foptimize-strlen test.c -c

Error message:
during GIMPLE pass: strlen
memcpy_segfault.c: In function ‘main’:
memcpy_segfault.c:8:5: internal compiler error: Segmentation fault
    8 | int main()
      |     ^~~~
0xb2636f crash_signal
        ../../../gcc/gcc-10.4.0/gcc/toplev.c:328
0x7f3f359e351f ???
        ./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
0xcaaaed count_nonzero_bytes
        ../../../gcc/gcc-10.4.0/gcc/tree-ssa-strlen.c:4820
0xcad456 count_nonzero_bytes
        ../../../gcc/gcc-10.4.0/gcc/tree-ssa-strlen.c:4963
0xcad456 handle_store
        ../../../gcc/gcc-10.4.0/gcc/tree-ssa-strlen.c:5040
0xcad456 check_and_optimize_stmt
        ../../../gcc/gcc-10.4.0/gcc/tree-ssa-strlen.c:5687
0xcad456 strlen_dom_walker::before_dom_children(basic_block_def*)
        ../../../gcc/gcc-10.4.0/gcc/tree-ssa-strlen.c:5864
0x12d45d7 dom_walker::walk(basic_block_def*)
        ../../../gcc/gcc-10.4.0/gcc/domwalk.c:309
0xca404e printf_strlen_execute
        ../../../gcc/gcc-10.4.0/gcc/tree-ssa-strlen.c:5930

Bug is present in:
10, 11, 12 and current master.
9 is not affected by it.

Reply via email to