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) {