[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 e88bd96d0d)
This commit is contained in:
Jakub Kulík 2024-07-22 09:45:17 +02:00 committed by GitHub
parent 71970d602f
commit 6586b171ea
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -15,11 +15,11 @@
// MSVC makes static_assert a keyword in C11-17, contrary to the standards. // 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 // 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), // behaviour. So only define if building as C, not C++ (if __cplusplus is
// not C++, and only for C11-17. // not defined), and only for C11-17.
#if !defined(static_assert) && (defined(__GNUC__) || defined(__clang__)) \ #if !defined(static_assert) && (defined(__GNUC__) || defined(__clang__)) \
&& defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L \ && !defined(__cplusplus) && defined(__STDC_VERSION__) \
&& __STDC_VERSION__ <= 201710L && __STDC_VERSION__ >= 201112L && __STDC_VERSION__ <= 201710L
# define static_assert _Static_assert # define static_assert _Static_assert
#endif #endif