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

--- Comment #5 from Martin Sebor <msebor at gcc dot gnu.org> ---
Author: msebor
Date: Wed Aug 28 16:43:56 2019
New Revision: 274997

URL: https://gcc.gnu.org/viewcvs?rev=274997&root=gcc&view=rev
Log:
PR tree-optimization/91457 - inconsistent warning for writing past the end of
an array member

gcc/ChangeLog:

        PR tree-optimization/91457
        * builtins.c (component_size): New function.
        (compute_objsize): Add argument. Handle ARRAY_REF and COMPONENT_REF.
        * builtins.h (compute_objsize): Add argument.
        * tree-ssa-strlen.c (handle_store): Handle no-warning bit.
        * tree-vrp.c (vrp_prop::check_array_ref): Return warning result.
        (vrp_prop::check_mem_ref): Same.
        (vrp_prop::search_for_addr_array): Set no-warning bit.
        (check_array_bounds): Same.

gcc/testsuite/ChangeLog:

        PR tree-optimization/91457
        * c-c++-common/Wstringop-overflow-2.c: New test.
        * g++.dg/warn/Warray-bounds-8.C: New test.
        * g++.dg/warn/Wstringop-overflow-3.C: New test.
        * gcc.dg/Wstringop-overflow-15.c: New test.


Added:
    trunk/gcc/testsuite/c-c++-common/Wstringop-overflow-2.c
    trunk/gcc/testsuite/g++.dg/warn/Warray-bounds-8.C
    trunk/gcc/testsuite/g++.dg/warn/Wstringop-overflow-3.C
    trunk/gcc/testsuite/gcc.dg/Wstringop-overflow-15.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/builtins.c
    trunk/gcc/builtins.h
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-ssa-strlen.c
    trunk/gcc/tree-vrp.c

Reply via email to