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

--- Comment #17 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>:

https://gcc.gnu.org/g:926f5059bb8d295e2b68cea7c9af53606946eb1a

commit r13-4503-g926f5059bb8d295e2b68cea7c9af53606946eb1a
Author: Richard Biener <rguent...@suse.de>
Date:   Tue Dec 6 10:12:01 2022 +0100

    tree-optimization/104475 - improve access diagnostics

    When we end up isolating a nullptr path it happens we diagnose
    accesses to offsetted nullptr objects.  The current diagnostics
    have no good indication that this happens so the following records
    the fact that our heuristic detected a nullptr based access in
    the access_ref structure and sets up diagnostics to inform
    of that detail.  The diagnostic itself could probably be
    improved here but its API is twisted and the necessary object
    isn't passed around.

    Instead of just

    ...bits/atomic_base.h:655:34: warning: 'unsigned int
__atomic_fetch_and_4(volatile void*, unsigned int, int)' writing 4 bytes into a
region of size 0 overflows the destination [-Wstringop-overflow=]

    we now add

    In member function 'void QFutureInterfaceBase::setThrottled(bool)':
    cc1plus: note: destination object is likely at address zero

            PR tree-optimization/104475
            * pointer-query.h (access_ref::ref_nullptr_p): New flag.
            * pointer-query.cc (access_ref::access_ref): Initialize
            ref_nullptr_p.
            (compute_objsize_r): Set ref_nullptr_p if we treat it that way.
            (access_ref::inform_access): If ref was treated as nullptr
            based, indicate that.

Reply via email to