[google] Check if the nonnull attribute is applied to 'this' (issue4446070)
Jason Merrill
jason@redhat.com
Mon May 2 21:51:00 GMT 2011
On 04/29/2011 04:08 PM, Basile Starynkevitch wrote:
[...]
> which is also what I expect. I have no idea if it is conforming to
> standards. But I notice that the test about this is remaining in the
> code. So apparently GCC 4.6 does not make the hypothesis that this is
> never null, otherwise it would have optimized the test by removing it.
> What I don't know (and I am asking) is if such an hypothetical
> optimization is conforming to standards. My biased feeling is that it
> is not (because I found no explicit& unambiguous mention in standard
> legal text that this is never null).
9.3.1 seems pretty clear:
> If a non-static member function of a class X is called for an object that is not of type X, or of a type derived
> from X, the behavior is undefined.
A null pointer does not point to an object of type X, so the
optimization would be conforming.
Jason
More information about the Gcc-patches
mailing list