Fix GH-19169: ZEND_STATIC_ASSERT for -std=c++17

needs to define ZEND_STATIC_ASSERT to appropriate C++ static_assert
instead of the C version.
This commit is contained in:
Petr Sumbera 2025-07-18 17:29:02 +02:00 committed by David Carlier
parent 86aaded7e5
commit be09985c87
No known key found for this signature in database
GPG key ID: 2FB76A8CE6CD2B41
2 changed files with 7 additions and 1 deletions

4
NEWS
View file

@ -2,6 +2,10 @@ PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? ????, PHP 8.3.25
- Core:
. Fixed GH-19169 build issue with C++17 and ZEND_STATIC_ASSERT macro.
(psumbera)
- Hash:
. Fix crash on clone failure. (nielsdos)

View file

@ -761,7 +761,9 @@ extern "C++" {
/** @deprecated */
#define ZEND_CGG_DIAGNOSTIC_IGNORED_END ZEND_DIAGNOSTIC_IGNORED_END
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) /* C11 */
#if defined(__cplusplus)
# define ZEND_STATIC_ASSERT(c, m) static_assert((c), m)
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) /* C11 */
# define ZEND_STATIC_ASSERT(c, m) _Static_assert((c), m)
#else
# define ZEND_STATIC_ASSERT(c, m)