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

--- Comment #3 from Martin Sebor <msebor at gcc dot gnu.org> ---
Author: msebor
Date: Thu Jul 25 00:29:17 2019
New Revision: 273783

URL: https://gcc.gnu.org/viewcvs?rev=273783&root=gcc&view=rev
Log:
PR tree-optimization/91183 - strlen of a strcpy result with a conditional
source not folded
PR tree-optimization/86688 - missing -Wstringop-overflow using a non-string
local array in strnlen with excessive bound

gcc/ChangeLog:

        PR tree-optimization/91183
        PR tree-optimization/86688
        * builtins.c (compute_objsize): Handle MEM_REF.
        * tree-ssa-strlen.c (class ssa_name_limit_t): New.
        (get_min_string_length): Remove.
        (count_nonzero_bytes): New function.
        (handle_char_store): Rename...
        (handle_store): to this.  Handle multibyte stores via integer types.
        (strlen_check_and_optimize_stmt): Adjust conditional and the called
        function name.

gcc/testsuite/ChangeLog:

        PR tree-optimization/91183
        PR tree-optimization/86688
        * gcc.dg/Wstringop-overflow-14.c: New test.
        * gcc.dg/attr-nonstring-2.c: Remove xfails.
        * gcc.dg/strlenopt-70.c: New test.
        * gcc.dg/strlenopt-71.c: New test.
        * gcc.dg/strlenopt-72.c: New test.
        * gcc.dg/strlenopt-8.c: Remove xfails.

Added:
    trunk/gcc/testsuite/gcc.dg/Wstringop-overflow-14.c
    trunk/gcc/testsuite/gcc.dg/strlenopt-70.c
    trunk/gcc/testsuite/gcc.dg/strlenopt-71.c
    trunk/gcc/testsuite/gcc.dg/strlenopt-72.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/builtins.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/c-c++-common/ubsan/object-size-9.c
    trunk/gcc/testsuite/gcc.dg/attr-nonstring-2.c
    trunk/gcc/testsuite/gcc.dg/strlenopt-8.c
    trunk/gcc/tree-ssa-strlen.c

Reply via email to