From: Jakub KulĂ­k Date: Mon, 22 Jul 2024 07:45:17 +0000 (+0200) Subject: [3.12] gh-118124: fix assert related C++ checks on Solaris/Illumos (GH-121974) (... X-Git-Tag: v3.12.5~68 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6586b171ea842151c24d2228d06a69d2fecaf29f;p=thirdparty%2FPython%2Fcpython.git [3.12] gh-118124: fix assert related C++ checks on Solaris/Illumos (GH-121974) (#122109) Fix check for static_assert() for C++ on some platforms.. (cherry picked from commit e88bd96d0d6cf8218c4fca37e1d20399ae676a04) --- diff --git a/Include/pymacro.h b/Include/pymacro.h index 342d2a7b844a..d5700dc38933 100644 --- a/Include/pymacro.h +++ b/Include/pymacro.h @@ -15,11 +15,11 @@ // MSVC makes static_assert a keyword in C11-17, contrary to the standards. // // In C++11 and C2x, static_assert is a keyword, redefining is undefined -// behaviour. So only define if building as C (if __STDC_VERSION__ is defined), -// not C++, and only for C11-17. +// behaviour. So only define if building as C, not C++ (if __cplusplus is +// not defined), and only for C11-17. #if !defined(static_assert) && (defined(__GNUC__) || defined(__clang__)) \ - && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L \ - && __STDC_VERSION__ <= 201710L + && !defined(__cplusplus) && defined(__STDC_VERSION__) \ + && __STDC_VERSION__ >= 201112L && __STDC_VERSION__ <= 201710L # define static_assert _Static_assert #endif