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