From: Victor Stinner Date: Tue, 22 Aug 2023 00:37:32 +0000 (+0200) Subject: Define _Py_NULL as nullptr on C23 and newer (#108244) X-Git-Tag: v3.13.0a1~864 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c965cf6dd1704a0138a4ef0a9c670e297cf66797;p=thirdparty%2FPython%2Fcpython.git Define _Py_NULL as nullptr on C23 and newer (#108244) C23 standard added nullptr constant: https://en.wikipedia.org/wiki/C23_(C_standard_revision) --- diff --git a/Include/pyport.h b/Include/pyport.h index d7c6ae64f2bf..2dc241389243 100644 --- a/Include/pyport.h +++ b/Include/pyport.h @@ -24,9 +24,10 @@ #define _Py_CAST(type, expr) ((type)(expr)) // Static inline functions should use _Py_NULL rather than using directly NULL -// to prevent C++ compiler warnings. On C++11 and newer, _Py_NULL is defined as -// nullptr. -#if defined(__cplusplus) && __cplusplus >= 201103 +// to prevent C++ compiler warnings. On C23 and newer and on C++11 and newer, +// _Py_NULL is defined as nullptr. +#if (defined (__STDC_VERSION__) && __STDC_VERSION__ > 201710L) \ + || (defined(__cplusplus) && __cplusplus >= 201103) # define _Py_NULL nullptr #else # define _Py_NULL NULL