https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79265

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
That is because -fsanitize=nonnull (very much intentionally) turns off
-fdelete-null-pointer-checks, because the intent of the instrumentation is to
diagnose when gcc would think it must be non-NULL when it actually is NULL.
We don't have fine grained switches that would distinguish various sub-cases of
flag_delete_null_pointer_checks guarded code and adding them would be
non-trivial.  Generally, -fno-delete-null-pointer-checks allows e.g. global
vars to reside at address 0, in the testcase you are mentioning it is actually
an automatic variable, so it is arguably harder for those to be at address 0
(the stack would need to be there), but not impossible.

Reply via email to