Commit 7153fabda51 for php
commit 7153fabda5188e850cdc9ac954693a9ca0ed38ed
Merge: 7412af20813 fc207d7be6f
Author: Jorg Sowa <jorg.sowa@gmail.com>
Date: Sat Oct 31 16:17:36 2026 +0100
Merge branch 'PHP-8.5' into PHP-8.6
diff --cc NEWS
index 519a9b22c5f,f4de4f4a97a..591bfbb1f51
--- a/NEWS
+++ b/NEWS
@@@ -9,12 -29,10 +9,14 @@@ PH
existing CV). (yasu20200121web-prog, lazerg)
. Fixed unmapping of an unrelated range when the aligned chunk mmap fails
(Marti2203).
+ . Fixed bug GH-25023 (ZEND_CONTAINER_OF() fails to compile with -std=c11).
+ (lazerg)
+ . Fixed bug GH-25007 (Partial function application: named args in a constant
+ expression cause out-of-bounds write in zp_compile()). (lazerg)
. Fixed AST printing dropping final on class constants and properties, and
abstract on properties. (Jorg Sowa)
+ . Fixed AST export of readonly anonymous classes dropping the readonly
+ modifier. (Jorg Sowa)
- CLI:
. Fixed bug GH-24697 (PHP_HTTP_PARSER_STRICT build option doesn't work).
diff --cc Zend/zend_ast.c
index 76ba83395cc,83725745104..cae351fe315
--- a/Zend/zend_ast.c
+++ b/Zend/zend_ast.c
@@@ -2802,8 -2569,11 +2802,11 @@@ simple_list
if (ast->child[0]->kind == ZEND_AST_CLASS) {
const zend_ast_decl *decl = (const zend_ast_decl *) ast->child[0];
if (decl->child[3]) {
- zend_ast_export_attributes(str, decl->child[3], indent, 0);
+ zend_ast_export_attributes(str, decl->child[3], indent, false);
}
+ if (decl->flags & ZEND_ACC_READONLY_CLASS) {
+ smart_str_appends(str, "readonly ");
+ }
smart_str_appends(str, "class");
if (!zend_ast_is_list(ast->child[1])
|| zend_ast_get_list(ast->child[1])->children) {