https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77513
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to petschy from comment #0) > For c++11 and later code, why is NULL defined as __null, rather than nullptr? Because defining NULL as nullptr would violate the requirements of the standard, which very intentionally says that NULL is an integral constant expression, not nullptr.