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 devel@xxxxxxxxxxxxxxxxxxxxxxx http://lists.fedoraproject.org/admin/lists/devel@xxxxxxxxxxxxxxxxxxxxxxx