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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2025-12-15
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
           Keywords|                            |accepts-invalid

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
EDG accepts this too, but I think GCC and EDG are wrong and this is
accepts-invalid.

[conv.ptr] says "A null pointer constant is an integer literal (5.13.2) with
value zero or a prvalue of type std::nullptr_t."

0UL is a null pointer constant, but (unsigned long)0 is not a literal, it's a
prvalue of type unsigned long, and that's not a null pointer constant.

Reply via email to