Define _Py_NULL as nullptr on C23 and newer (#108244)

C23 standard added nullptr constant:
https://en.wikipedia.org/wiki/C23_(C_standard_revision)
This commit is contained in:
Victor Stinner 2023-08-22 02:37:32 +02:00 committed by GitHub
parent de33b5c662
commit c965cf6dd1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 3 deletions

View File

@ -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