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

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch

--- Comment #10 from Martin Sebor <msebor at gcc dot gnu.org> ---
POINTER_TYPE_P() is zero because while nullptr is specified to be "the pointer
literal is the keyword nullptr" it also "...is a prvalue of type
std::nullptr_t. [Note: std::nullptr_t is a distinct type that is neither a
pointer type nor a pointer-to-member type; ..."  Of course -- a pointer literal
that doesn't have a pointer type, makes perfect sense.

Another closely related regression r270155 introduced is the missing warning
for the following test case:

$ cat t.C && gcc-8 -S -Wall t.C
#include <stddef.h>

int a[2] = { NULL };

t.C:3:19: warning: converting to non-pointer type ‘int’ from NULL
[-Wconversion-null]
 int a[2] = { NULL };
                   ^

The patch at the link below restores both diagnostics:
  https://gcc.gnu.org/pipermail/gcc-patches/2020-April/543482.html

Reply via email to