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

--- Comment #11 from Martin Sebor <msebor at gcc dot gnu.org> ---
Author: msebor
Date: Fri Mar 22 02:58:27 2019
New Revision: 269867

URL: https://gcc.gnu.org/viewcvs?rev=269867&root=gcc&view=rev
Log:
PR tree-optimization/89350 - Wrong -Wstringop-overflow= warning since r261518

gcc/ChangeLog:

        PR tree-optimization/89350
        * builtins.c (compute_objsize): Also ignore offsets whose upper
        bound is negative.
        * gimple-ssa-warn-restrict.c (builtin_memref): Add new member.
        (builtin_memref::builtin_memref): Initialize new member.
        Allow EXPR to be null.
        (builtin_memref::extend_offset_range): Replace local with a member.
        Avoid assuming pointer offsets are unsigned.
        (builtin_memref::set_base_and_offset): Determine base object
        before computing offset range.
        (builtin_access::builtin_access): Handle memset.
        (builtin_access::generic_overlap): Replace local with a member.
        (builtin_access::strcat_overlap): Same.
        (builtin_access::overlap): Same.
        (maybe_diag_overlap): Same.
        (maybe_diag_access_bounds): Same.
        (wrestrict_dom_walker::check_call): Handle memset.
        (check_bounds_or_overlap): Same.

gcc/testsuite/ChangeLog:

        PR tree-optimization/89350
        * gcc.dg/Wstringop-overflow.c: Xfail overly ambitious tests.
        * gcc.dg/Wstringop-overflow-11.c: New test.
        * gcc.dg/Wstringop-overflow-12.c: New test.
        * gcc.dg/pr89350.c: New test.
        * gcc.dg/pr40340-1.c: Adjust expected warning.
        * gcc.dg/pr40340-2.c: Same.
        * gcc.dg/pr40340-4.c: Same.
        * gcc.dg/pr40340-5.c: Same.


Added:
    trunk/gcc/testsuite/gcc.dg/Wstringop-overflow-11.c
    trunk/gcc/testsuite/gcc.dg/Wstringop-overflow-12.c
    trunk/gcc/testsuite/gcc.dg/pr89350.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/builtins.c
    trunk/gcc/gimple-ssa-warn-restrict.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/Warray-bounds-40.c
    trunk/gcc/testsuite/gcc.dg/Wstringop-overflow.c
    trunk/gcc/testsuite/gcc.dg/pr40340-1.c
    trunk/gcc/testsuite/gcc.dg/pr40340-2.c
    trunk/gcc/testsuite/gcc.dg/pr40340-4.c
    trunk/gcc/testsuite/gcc.dg/pr40340-5.c

Reply via email to