Commit 35258957cd1 for php.net
commit 35258957cd1d0c58b0882d4545294df1a3ac8ea4
Author: DubbleClick <m@pyc.ac>
Date: Fri Mar 27 16:26:42 2026 +0700
Fix ZEND_API mismatch on zend_ce_closure forward decl for Windows+Clang
Closes GH-21547
diff --git a/NEWS b/NEWS
index 597e93bf081..180446136cd 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,8 @@ PHP NEWS
- Core:
. Fixed bug GH-19983 (GC assertion failure with fibers, generators and
destructors). (iliaal)
+ . Fixed ZEND_API mismatch on zend_ce_closure forward decl for Windows+Clang.
+ (henderkes)
- SPL:
. Fixed bug GH-21499 (RecursiveArrayIterator getChildren UAF after parent
diff --git a/Zend/zend_execute.h b/Zend/zend_execute.h
index c08adf2a41b..15df09e58d5 100644
--- a/Zend/zend_execute.h
+++ b/Zend/zend_execute.h
@@ -248,7 +248,7 @@ static zend_always_inline void zend_cast_zval_to_object(zval *result, zval *expr
}
static zend_always_inline void zend_cast_zval_to_array(zval *result, zval *expr, uint8_t op1_type) {
- extern zend_class_entry *zend_ce_closure;
+ extern ZEND_API zend_class_entry *zend_ce_closure;
if (op1_type == IS_CONST || Z_TYPE_P(expr) != IS_OBJECT || Z_OBJCE_P(expr) == zend_ce_closure) {
if (Z_TYPE_P(expr) != IS_NULL) {
if (UNEXPECTED(Z_TYPE_P(expr) == IS_DOUBLE && zend_isnan(Z_DVAL_P(expr)))) {