On Tue, Dec 06, 2022 at 10:50:20AM +0100, Richard Biener wrote:
> 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
> 
> Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.
> 
> I think it's an improvement - do you agree that it's enough of it?
> 
> Thanks,
> Richard.
> 
>       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.

LGTM.

        Jakub

Reply via email to