On 19.2.2016 08:50, Jakub Jelinek wrote:
> On Fri, Feb 19, 2016 at 03:12:29AM +0100, Kevin Kofler wrote:
>> Jakub Jelinek wrote:
>>> ASSERT(this) is pointless, it is testing if undefined behavior didn't
>>> happen after the fact, that is just too late. As I said, use
>>> -fsanitize=undefined to make sure you don't call methods on nullptr.
>>
>> Doesn't -fno-delete-null-pointer-checks make such ASSERTs work (and also
>> explicit "if (this)" type checks)? I read that that flag fixes programs
>> which rely on "if (this)" checks.
>
> That switch allows to work around buggy programs, at the cost of optimizing
> them less, yes. In any case, such programs should be fixed, this must be
> always non-NULL, methods can't be called on NULL pointers.
Could you elaborate on this, please?
What is wrong with
if (ptr != NULL)
?
What standard says that it is wrong?
--
Petr Spacek @ Red Hat
--
devel mailing list
[email protected]
http://lists.fedoraproject.org/admin/lists/[email protected]