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

            Bug ID: 86461
           Summary: [9 regression] test case
                    gcc.c-torture/execute/builtins/strlen-3.c fails
                    starting with r262522
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: seurer at gcc dot gnu.org
  Target Milestone: ---

spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-test/gcc/xgcc
-B/home/seurer/gcc/build/gcc-test/gcc/
/home/seurer/gcc/gcc-test/gcc/testsuite/gcc.c-torture/execute/builtins/strlen-3.c
/home/seurer/gcc/gcc-test/gcc/testsuite/gcc.c-torture/execute/builtins/strlen-3-lib.c
/home/seurer/gcc/gcc-test/gcc/testsuite/gcc.c-torture/execute/builtins/lib/main.c
-fno-diagnostics-show-caret -fdiagnostics-color=never -w -Og -g
-fno-tree-loop-distribute-patterns -fno-tracer -lm -o
/home/seurer/gcc/build/gcc-test/gcc/testsuite/gcc/strlen-3.x6
PASS: gcc.c-torture/execute/builtins/strlen-3.c compilation,  -Og -g 
Setting LD_LIBRARY_PATH to
:/home/seurer/gcc/build/gcc-test/gcc::/home/seurer/gcc/build/gcc-test/gcc:/home/seurer/gcc/build/gcc-test/./gmp/.libs:/home/seurer/gcc/build/gcc-test/./prev-gmp/.libs:/home/seurer/gcc/build/gcc-test/./mpfr/src/.libs:/home/seurer/gcc/build/gcc-test/./prev-mpfr/src/.libs:/home/seurer/gcc/build/gcc-test/./mpc/src/.libs:/home/seurer/gcc/build/gcc-test/./prev-mpc/src/.libs:/home/seurer/gcc/build/gcc-test/./isl/.libs:/home/seurer/gcc/build/gcc-test/./prev-isl/.libs:/home/seurer/gcc/install/gcc-7.2.0/lib64
Execution timeout is: 300
spawn [open ...]
FAIL: gcc.c-torture/execute/builtins/strlen-3.c execution,  -Og -g 


/home/seurer/gcc/build/gcc-test/gcc/xgcc -B/home/seurer/gcc/build/gcc-test/gcc/
/home/seurer/gcc/gcc-test/gcc/testsuite/gcc.c-torture/execute/builtins/strlen-3.c
/home/seurer/gcc/gcc-test/gcc/testsuite/gcc.c-torture/execute/builtins/strlen-3-lib.c
/home/seurer/gcc/gcc-test/gcc/testsuite/gcc.c-torture/execute/builtins/lib/main.c
-fno-diagnostics-show-caret -fdiagnostics-color=never -w -Og -g
-fno-tree-loop-distribute-patterns -fno-tracer -lm -o strlen-3                  

./strlen-3 
Aborted

gdb ./strlen-3 
(gdb) run
Starting program: /home/seurer/gcc/build/gcc-test/./strlen-3 

Program received signal SIGABRT, Aborted.
0x00003fffb7cd247c in __GI_raise (sig=<optimized out>) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
56        return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
(gdb) where
#0  0x00003fffb7cd247c in __GI_raise (sig=<optimized out>) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00003fffb7cd4688 in __GI_abort () at abort.c:90
#2  0x0000000010000740 in strlen (s=<optimized out>) at
/home/seurer/gcc/gcc-test/gcc/testsuite/gcc.c-torture/execute/builtins/lib/strlen.c:12
#3  0x00000000100006c0 in main_test () at
/home/seurer/gcc/gcc-test/gcc/testsuite/gcc.c-torture/execute/builtins/strlen-3.c:64
#4  0x000000001000077c in main () at
/home/seurer/gcc/gcc-test/gcc/testsuite/gcc.c-torture/execute/builtins/lib/main.c:10



r262522 | msebor | 2018-07-09 15:33:48 -0500 (Mon, 09 Jul 2018) | 24 lines

PR middle-end/77357 - strlen of constant strings not folded

gcc/ChangeLog:

        PR middle-end/77357
        PR middle-end/86428
        * builtins.c (c_strlen): Avoid out-of-bounds warnings when
        accessing implicitly initialized array elements.
        * expr.c (string_constant): Handle string initializers of
        character arrays within aggregates.
        * gimple-fold.c (fold_array_ctor_reference): Add argument.
        Store element offset.  As a special case, handle zero size.
        (fold_nonarray_ctor_reference): Same.
        (fold_ctor_reference): Add argument.  Store subobject offset.
        * gimple-fold.h (fold_ctor_reference): Add argument.

gcc/testsuite/ChangeLog:

        PR middle-end/77357
        * gcc.dg/strlenopt-49.c: New test.
        * gcc.dg/strlenopt-50.c: New test.
        * gcc.dg/strlenopt-51.c: New test.
        * gcc.dg/strlenopt-52.c: New test.

Reply via email to