Commit 67135cb97b5 for php.net

commit 67135cb97b5edbb99003a021f2d61dd511d89a69
Author: Dmytro Kulyk <lnkvisitor.ts@gmail.com>
Date:   Sun Sep 6 22:25:20 2026 +0300

    gen_stub: Conditionally include zend_attributes.h to arginfo based on usage (#21570)

    Headers required by the generated code (zend_attributes.h, zend_constants.h, zend_enum.h) are collected during generation and emitted as includes at the top of the arginfo file, with the same preprocessor conditions and PHP version guards as the code that needs them.

    Removes the manual zend_attributes.h and zend_enum.h includes from sources that only needed them for the arginfo file they include.

diff --git a/Zend/zend_attributes_arginfo.h b/Zend/zend_attributes_arginfo.h
index b21b96ebe39..2c4bfc99e1e 100644
Binary files a/Zend/zend_attributes_arginfo.h and b/Zend/zend_attributes_arginfo.h differ
diff --git a/Zend/zend_builtin_functions_arginfo.h b/Zend/zend_builtin_functions_arginfo.h
index fc8d8270b01..2fba874a8e9 100644
Binary files a/Zend/zend_builtin_functions_arginfo.h and b/Zend/zend_builtin_functions_arginfo.h differ
diff --git a/Zend/zend_constants_arginfo.h b/Zend/zend_constants_arginfo.h
index b10adc02d28..b8346610ed5 100644
Binary files a/Zend/zend_constants_arginfo.h and b/Zend/zend_constants_arginfo.h differ
diff --git a/build/gen_stub.php b/build/gen_stub.php
index 80115dc97e2..ee1f6914aa2 100755
--- a/build/gen_stub.php
+++ b/build/gen_stub.php
@@ -230,6 +230,57 @@ class Context {
     public array $parsedFiles = [];
 }

+// Headers the generated arginfo file needs to be self-contained, each with the
+// preprocessor condition and minimum PHP version its code is guarded by
+class HeaderDependencies {
+    /** @var array<string, list<array{?string, ?int}>> */
+    private array $headers = [];
+
+    public function add(string $header, ?string $cond = null, ?int $minPhpVersionId = null): void {
+        $this->headers[$header][] = [$cond, $minPhpVersionId];
+    }
+
+    public function generateCode(): string {
+        ksort($this->headers);
+
+        $code = "";
+        foreach ($this->headers as $header => $guards) {
+            $conds = [];
+            $minPhpVersionId = null;
+
+            foreach ($guards as [$cond, $versionId]) {
+                // An unconditional use overrides any guarded ones
+                if ($cond === null) {
+                    $conds = null;
+                } elseif ($conds !== null) {
+                    $conds[$cond] = $cond;
+                }
+
+                if ($versionId !== null && ($minPhpVersionId === null || $versionId < $minPhpVersionId)) {
+                    $minPhpVersionId = $versionId;
+                }
+            }
+
+            $include = "#include \"$header\"\n";
+
+            if ($conds) {
+                $cond = count($conds) === 1
+                    ? reset($conds)
+                    : implode(" || ", array_map(static fn (string $cond): string => "($cond)", $conds));
+                $include = "#if $cond\n" . $include . "#endif\n";
+            }
+
+            if ($minPhpVersionId !== null) {
+                $include = "#if (PHP_VERSION_ID >= $minPhpVersionId)\n" . $include . "#endif\n";
+            }
+
+            $code .= $include;
+        }
+
+        return $code;
+    }
+}
+
 class ArrayType extends SimpleType {

     public function __construct(
@@ -2649,7 +2700,7 @@ public function discardInfoForOldPhpVersions(?int $minimumPhpVersionIdCompatibil
     }

     /** @param array<string, ConstInfo> $allConstInfos */
-    public function getDeclaration(array $allConstInfos): string
+    public function getDeclaration(array $allConstInfos, HeaderDependencies $headerDependencies): string
     {
         $type = $this->phpDocType ?? $this->type;
         $simpleType = $type?->tryToSimpleType();
@@ -2672,15 +2723,17 @@ public function getDeclaration(array $allConstInfos): string
         if ($this->name instanceof ClassConstName) {
             $code = $this->getClassConstDeclaration($value);
         } else {
-            $code = $this->getGlobalConstDeclaration($value);
+            $code = $this->getGlobalConstDeclaration($value, $headerDependencies);
         }
         $code .= $this->getValueAssertion($value);

         return $code;
     }

-    private function getGlobalConstDeclaration(EvaluatedValue $value): string
+    private function getGlobalConstDeclaration(EvaluatedValue $value, HeaderDependencies $headerDependencies): string
     {
+        $headerDependencies->add("zend_constants.h", $this->cond);
+
         $constName = str_replace('\\', '\\\\', $this->name->__toString());
         $constValue = $value->value;
         $cExpr = $value->getCExpr();
@@ -3226,7 +3279,9 @@ public function __construct(
     ) {}

     /** @param array<string, ConstInfo> $allConstInfos */
-    public function getDeclaration(array $allConstInfos): string {
+    public function getDeclaration(array $allConstInfos, HeaderDependencies $headerDependencies, ?string $cond = null, ?int $minPhpVersionId = null): string {
+        $headerDependencies->add("zend_enum.h", $cond, $minPhpVersionId);
+
         $escapedName = addslashes($this->name->case);
         if ($this->value === null) {
             return "\n\tzend_enum_add_case_cstr(class_entry, \"$escapedName\", NULL);\n";
@@ -3305,7 +3360,13 @@ public function __construct(
      * @param array<string, string> &$declaredStrings Map of string content to
      *   the name of a zend_string already created with that content
      */
-    public function generateCode(string $invocation, string $nameSuffix, array $allConstInfos, ?int $phpVersionIdMinimumCompatibility, array &$declaredStrings = []): string {
+    public function generateCode(string $invocation, string $nameSuffix, array $allConstInfos, ?int $phpVersionIdMinimumCompatibility, HeaderDependencies $headerDependencies, ?string $cond = null, array &$declaredStrings = []): string {
+        $headerDependencies->add(
+            "zend_attributes.h",
+            $cond,
+            $phpVersionIdMinimumCompatibility !== null && $phpVersionIdMinimumCompatibility < PHP_80_VERSION_ID ? PHP_80_VERSION_ID : null
+        );
+
         $escapedAttributeName = strtr($this->class, '\\', '_');
         [$stringInit, $nameCode, $stringRelease] = StringBuilder::getString(
             "attribute_name_{$escapedAttributeName}_$nameSuffix",
@@ -3419,7 +3480,7 @@ public function __construct(
     ) {}

     /** @param array<string, ConstInfo> $allConstInfos */
-    public function getRegistration(array $allConstInfos): string
+    public function getRegistration(array $allConstInfos, HeaderDependencies $headerDependencies): string
     {
         $params = [];
         foreach ($this->extends as $extends) {
@@ -3459,6 +3520,7 @@ public function getRegistration(array $allConstInfos): string
             $name = addslashes((string) $this->name);
             $backingType = $this->enumBackingType
                 ? $this->enumBackingType->toTypeCode() : "IS_UNDEF";
+            $headerDependencies->add("zend_enum.h", $this->cond, $php81MinimumCompatibility ? null : PHP_81_VERSION_ID);
             $code .= "\tzend_class_entry *class_entry = zend_register_internal_enum(\"$name\", $backingType, $classMethods);\n";
             if (!$flags->isEmpty()) {
                 $code .= $this->getFlagsByPhpVersion()->generateVersionDependentFlagCode("\tclass_entry->ce_flags = %s;\n", $this->phpVersionIdMinimumCompatibility);
@@ -3546,11 +3608,11 @@ function (Name $item) {
         $code .= generateCodeWithConditions(
             $this->constInfos,
             '',
-            static fn (ConstInfo $const): string => $const->getDeclaration($allConstInfos)
+            static fn (ConstInfo $const): string => $const->getDeclaration($allConstInfos, $headerDependencies)
         );

         foreach ($this->enumCaseInfos as $enumCase) {
-            $code .= $enumCase->getDeclaration($allConstInfos);
+            $code .= $enumCase->getDeclaration($allConstInfos, $headerDependencies, $this->cond, $php81MinimumCompatibility ? null : PHP_81_VERSION_ID);
         }

         foreach ($this->propertyInfos as $property) {
@@ -3576,6 +3638,8 @@ function (Name $item) {
                     "class_{$escapedName}_$key",
                     $allConstInfos,
                     $this->phpVersionIdMinimumCompatibility,
+                    $headerDependencies,
+                    $this->cond,
                     $declaredStrings
                 );
             }
@@ -3583,19 +3647,19 @@ function (Name $item) {
             $code .= $php80CondEnd;
         }

-        if ($attributeInitializationCode = generateConstantAttributeInitialization($this->constInfos, $allConstInfos, $this->phpVersionIdMinimumCompatibility, $this->cond, $declaredStrings)) {
+        if ($attributeInitializationCode = generateConstantAttributeInitialization($this->constInfos, $allConstInfos, $this->phpVersionIdMinimumCompatibility, $headerDependencies, $this->cond, $declaredStrings)) {
             $code .= $php80CondStart;
             $code .= "\n" . $attributeInitializationCode;
             $code .= $php80CondEnd;
         }

-        if ($attributeInitializationCode = generatePropertyAttributeInitialization($this->propertyInfos, $allConstInfos, $this->phpVersionIdMinimumCompatibility, $declaredStrings)) {
+        if ($attributeInitializationCode = generatePropertyAttributeInitialization($this->propertyInfos, $allConstInfos, $this->phpVersionIdMinimumCompatibility, $headerDependencies, $this->cond, $declaredStrings)) {
             $code .= $php80CondStart;
             $code .= "\n" . $attributeInitializationCode;
             $code .= $php80CondEnd;
         }

-        if ($attributeInitializationCode = generateFunctionAttributeInitialization($this->funcInfos, $allConstInfos, $this->phpVersionIdMinimumCompatibility, $this->cond, $declaredStrings)) {
+        if ($attributeInitializationCode = generateFunctionAttributeInitialization($this->funcInfos, $allConstInfos, $this->phpVersionIdMinimumCompatibility, $headerDependencies, $this->cond, $declaredStrings)) {
             $code .= $php80CondStart;
             $code .= "\n" . $attributeInitializationCode;
             $code .= $php80CondEnd;
@@ -4562,11 +4626,11 @@ private static function handlePreprocessorConditions(array &$conds, Stmt $stmt):
     }

     /** @param array<string, ConstInfo> $allConstInfos */
-    public function generateClassEntryCode(array $allConstInfos): string {
+    public function generateClassEntryCode(array $allConstInfos, HeaderDependencies $headerDependencies): string {
         $code = "";

         foreach ($this->classInfos as $class) {
-            $code .= "\n" . $class->getRegistration($allConstInfos);
+            $code .= "\n" . $class->getRegistration($allConstInfos, $headerDependencies);
         }

         return $code;
@@ -4599,6 +4663,7 @@ public function generateArgInfoCode(
         array $allConstInfos,
         string $stubHash
     ): array {
+        $headerDependencies = new HeaderDependencies();
         $code = "";

         $generatedFuncInfos = [];
@@ -4662,8 +4727,8 @@ function (FuncInfo $funcInfo) use (&$generatedFunctionDeclarations) {

         if ($this->generateClassEntries) {
             $declaredStrings = [];
-            $attributeInitializationCode = generateFunctionAttributeInitialization($this->funcInfos, $allConstInfos, $this->getMinimumPhpVersionIdCompatibility(), null, $declaredStrings);
-            $attributeInitializationCode .= generateGlobalConstantAttributeInitialization($this->constInfos, $allConstInfos, $this->getMinimumPhpVersionIdCompatibility(), null, $declaredStrings);
+            $attributeInitializationCode = generateFunctionAttributeInitialization($this->funcInfos, $allConstInfos, $this->getMinimumPhpVersionIdCompatibility(), $headerDependencies, null, $declaredStrings);
+            $attributeInitializationCode .= generateGlobalConstantAttributeInitialization($this->constInfos, $allConstInfos, $this->getMinimumPhpVersionIdCompatibility(), $headerDependencies, null, $declaredStrings);
             if ($attributeInitializationCode) {
                 if (!$php80MinimumCompatibility) {
                     $attributeInitializationCode = "\n#if (PHP_VERSION_ID >= " . PHP_80_VERSION_ID . ")" . $attributeInitializationCode . "#endif\n";
@@ -4677,7 +4742,7 @@ function (FuncInfo $funcInfo) use (&$generatedFunctionDeclarations) {
                 $code .= generateCodeWithConditions(
                     $this->constInfos,
                     '',
-                    static fn (ConstInfo $constInfo): string => $constInfo->getDeclaration($allConstInfos)
+                    static fn (ConstInfo $constInfo): string => $constInfo->getDeclaration($allConstInfos, $headerDependencies)
                 );

                 if ($attributeInitializationCode !== "" && $this->constInfos) {
@@ -4688,7 +4753,7 @@ function (FuncInfo $funcInfo) use (&$generatedFunctionDeclarations) {
                 $code .= "}\n";
             }

-            $code .= $this->generateClassEntryCode($allConstInfos);
+            $code .= $this->generateClassEntryCode($allConstInfos, $headerDependencies);
         }

         $hasDeclFile = false;
@@ -4705,9 +4770,12 @@ function (FuncInfo $funcInfo) use (&$generatedFunctionDeclarations) {
                 . "#endif /* {$headerName} */\n";
         }

+        $includeCode = $headerDependencies->generateCode();
+
         $code = "/* This is a generated file, edit {$stubFilenameWithoutExtension}.stub.php instead.\n"
             . " * Stub hash: $stubHash"
             . ($hasDeclFile ? "\n * Has decl header: yes */\n" : " */\n")
+            . ($includeCode !== "" ? "\n" . $includeCode : "")
             . $code;

         return [$code, $declCode];
@@ -5378,11 +5446,11 @@ function generateFunctionEntries(?Name $className, array $funcInfos, ?string $co
  * @param array<string, string> &$declaredStrings Map of string content to
  *   the name of a zend_string already created with that content
  */
-function generateFunctionAttributeInitialization(iterable $funcInfos, array $allConstInfos, ?int $phpVersionIdMinimumCompatibility, ?string $parentCond = null, array &$declaredStrings = []): string {
+function generateFunctionAttributeInitialization(iterable $funcInfos, array $allConstInfos, ?int $phpVersionIdMinimumCompatibility, HeaderDependencies $headerDependencies, ?string $parentCond = null, array &$declaredStrings = []): string {
     return generateCodeWithConditions(
         $funcInfos,
         "",
-        static function (FuncInfo $funcInfo) use ($allConstInfos, $phpVersionIdMinimumCompatibility, &$declaredStrings) {
+        static function (FuncInfo $funcInfo) use ($allConstInfos, $phpVersionIdMinimumCompatibility, $headerDependencies, $parentCond, &$declaredStrings) {
             $code = null;

             if ($funcInfo->name instanceof MethodName) {
@@ -5406,6 +5474,8 @@ static function (FuncInfo $funcInfo) use ($allConstInfos, $phpVersionIdMinimumCo
                     "func_" . $funcInfo->name->getNameForAttributes() . "_$key",
                     $allConstInfos,
                     $phpVersionIdMinimumCompatibility,
+                    $headerDependencies,
+                    $funcInfo->cond ?? $parentCond,
                     $useDeclared
                 );
             }
@@ -5417,6 +5487,8 @@ static function (FuncInfo $funcInfo) use ($allConstInfos, $phpVersionIdMinimumCo
                         "func_{$funcInfo->name->getNameForAttributes()}_arg{$index}_$key",
                         $allConstInfos,
                         $phpVersionIdMinimumCompatibility,
+                        $headerDependencies,
+                        $funcInfo->cond ?? $parentCond,
                         $useDeclared
                     );
                 }
@@ -5438,6 +5510,7 @@ function generateGlobalConstantAttributeInitialization(
     iterable $constInfos,
     array $allConstInfos,
     ?int $phpVersionIdMinimumCompatibility,
+    HeaderDependencies $headerDependencies,
     ?string $parentCond = null,
     array &$declaredStrings = []
 ): string {
@@ -5448,7 +5521,7 @@ function generateGlobalConstantAttributeInitialization(
     $code = generateCodeWithConditions(
         $constInfos,
         "",
-        static function (ConstInfo $constInfo) use ($allConstInfos, $isConditional, &$declaredStrings) {
+        static function (ConstInfo $constInfo) use ($allConstInfos, $isConditional, $headerDependencies, $parentCond, &$declaredStrings) {
             $code = "";

             if ($constInfo->attributes === []) {
@@ -5477,6 +5550,8 @@ static function (ConstInfo $constInfo) use ($allConstInfos, $isConditional, &$de
                     $constVarName . "_$key",
                     $allConstInfos,
                     PHP_85_VERSION_ID,
+                    $headerDependencies,
+                    $constInfo->cond ?? $parentCond,
                     $useDeclared
                 );
             }
@@ -5501,13 +5576,14 @@ function generateConstantAttributeInitialization(
     iterable $constInfos,
     array $allConstInfos,
     ?int $phpVersionIdMinimumCompatibility,
+    HeaderDependencies $headerDependencies,
     ?string $parentCond = null,
     array &$declaredStrings = []
 ): string {
     return generateCodeWithConditions(
         $constInfos,
         "",
-        static function (ConstInfo $constInfo) use ($allConstInfos, $phpVersionIdMinimumCompatibility, &$declaredStrings) {
+        static function (ConstInfo $constInfo) use ($allConstInfos, $phpVersionIdMinimumCompatibility, $headerDependencies, $parentCond, &$declaredStrings) {
             $code = null;

             // Make sure we don't try and use strings that might only be
@@ -5524,6 +5600,8 @@ static function (ConstInfo $constInfo) use ($allConstInfos, $phpVersionIdMinimum
                     "const_" . $constInfo->name->getDeclarationName() . "_$key",
                     $allConstInfos,
                     $phpVersionIdMinimumCompatibility,
+                    $headerDependencies,
+                    $constInfo->cond ?? $parentCond,
                     $useDeclared
                 );
             }
@@ -5544,6 +5622,8 @@ function generatePropertyAttributeInitialization(
     iterable $propertyInfos,
     array $allConstInfos,
     ?int $phpVersionIdMinimumCompatibility,
+    HeaderDependencies $headerDependencies,
+    ?string $cond,
     array &$declaredStrings
 ): string {
     $code = "";
@@ -5554,6 +5634,8 @@ function generatePropertyAttributeInitialization(
                 "property_" . $propertyInfo->name->getDeclarationName() . "_" . $key,
                 $allConstInfos,
                 $phpVersionIdMinimumCompatibility,
+                $headerDependencies,
+                $cond,
                 $declaredStrings
             );
         }
diff --git a/ext/calendar/calendar_arginfo.h b/ext/calendar/calendar_arginfo.h
index 9a05561a3bb..c35913d63e6 100644
Binary files a/ext/calendar/calendar_arginfo.h and b/ext/calendar/calendar_arginfo.h differ
diff --git a/ext/com_dotnet/com_extension_arginfo.h b/ext/com_dotnet/com_extension_arginfo.h
index d0fcf664571..80571907812 100644
Binary files a/ext/com_dotnet/com_extension_arginfo.h and b/ext/com_dotnet/com_extension_arginfo.h differ
diff --git a/ext/curl/curl_arginfo.h b/ext/curl/curl_arginfo.h
index ea354d16df5..c38d581cb3c 100644
Binary files a/ext/curl/curl_arginfo.h and b/ext/curl/curl_arginfo.h differ
diff --git a/ext/curl/interface.c b/ext/curl/interface.c
index db3dd01b550..55bcebbe711 100644
--- a/ext/curl/interface.c
+++ b/ext/curl/interface.c
@@ -44,7 +44,6 @@
 # pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 #endif

-#include "zend_attributes.h"
 #include "curl_arginfo.h"

 ZEND_DECLARE_MODULE_GLOBALS(curl)
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index 27664623c6b..1795d41b27c 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -19,7 +19,6 @@
 #include "ext/standard/php_versioning.h"
 #include "php_date.h"
 #include "php_time.h"
-#include "zend_attributes.h"
 #include "zend_interfaces.h"
 #include "zend_exceptions.h"
 #include "lib/timelib.h"
diff --git a/ext/date/php_date_arginfo.h b/ext/date/php_date_arginfo.h
index db2b4d5ea9e..ce72ee903d9 100644
Binary files a/ext/date/php_date_arginfo.h and b/ext/date/php_date_arginfo.h differ
diff --git a/ext/dba/dba_arginfo.h b/ext/dba/dba_arginfo.h
index 22978b68fc7..1a2f230e669 100644
Binary files a/ext/dba/dba_arginfo.h and b/ext/dba/dba_arginfo.h differ
diff --git a/ext/dl_test/dl_test_arginfo.h b/ext/dl_test/dl_test_arginfo.h
index b3fcab818d2..800d4fe8dd3 100644
Binary files a/ext/dl_test/dl_test_arginfo.h and b/ext/dl_test/dl_test_arginfo.h differ
diff --git a/ext/dom/php_dom.c b/ext/dom/php_dom.c
index ebbe4a2bf44..845507924c1 100644
--- a/ext/dom/php_dom.c
+++ b/ext/dom/php_dom.c
@@ -20,8 +20,6 @@

 #include "php.h"
 #if defined(HAVE_LIBXML) && defined(HAVE_DOM)
-#include "zend_enum.h"
-#include "zend_attributes.h"
 #include "php_dom.h"
 #include "obj_map.h"
 #include "nodelist.h"
diff --git a/ext/dom/php_dom_arginfo.h b/ext/dom/php_dom_arginfo.h
index 0274186380d..6a15f911e61 100644
Binary files a/ext/dom/php_dom_arginfo.h and b/ext/dom/php_dom_arginfo.h differ
diff --git a/ext/enchant/enchant.c b/ext/enchant/enchant.c
index a109c24062f..d84bd9a9425 100644
--- a/ext/enchant/enchant.c
+++ b/ext/enchant/enchant.c
@@ -20,7 +20,6 @@
 #include "php.h"
 #include "php_ini.h"
 #include "ext/standard/info.h"
-#include "Zend/zend_attributes.h"
 #include "Zend/zend_exceptions.h"
 #include <enchant.h>
 #include "php_enchant.h"
diff --git a/ext/enchant/enchant_arginfo.h b/ext/enchant/enchant_arginfo.h
index 39e7e577bf9..d60fe4dde0a 100644
Binary files a/ext/enchant/enchant_arginfo.h and b/ext/enchant/enchant_arginfo.h differ
diff --git a/ext/exif/exif_arginfo.h b/ext/exif/exif_arginfo.h
index 4821fd7fbaf..f80f04f0ed2 100644
Binary files a/ext/exif/exif_arginfo.h and b/ext/exif/exif_arginfo.h differ
diff --git a/ext/fileinfo/fileinfo.c b/ext/fileinfo/fileinfo.c
index 4c5c0e88c5c..36247b7196f 100644
--- a/ext/fileinfo/fileinfo.c
+++ b/ext/fileinfo/fileinfo.c
@@ -29,7 +29,6 @@
 #include "php_ini.h"
 #include "ext/standard/info.h"
 #include "ext/standard/file.h" /* needed for context stuff */
-#include "Zend/zend_attributes.h"
 #include "Zend/zend_exceptions.h"
 #include "php_fileinfo.h"
 #include "fileinfo_arginfo.h"
diff --git a/ext/fileinfo/fileinfo_arginfo.h b/ext/fileinfo/fileinfo_arginfo.h
index 4dd001ca05b..21b1c452d61 100644
Binary files a/ext/fileinfo/fileinfo_arginfo.h and b/ext/fileinfo/fileinfo_arginfo.h differ
diff --git a/ext/filter/filter.c b/ext/filter/filter.c
index 30821411a32..91cb7c092af 100644
--- a/ext/filter/filter.c
+++ b/ext/filter/filter.c
@@ -25,7 +25,6 @@

 ZEND_DECLARE_MODULE_GLOBALS(filter)

-#include "zend_attributes.h"
 #include "filter_private.h"
 #include "filter_arginfo.h"
 #include "zend_exceptions.h"
diff --git a/ext/filter/filter_arginfo.h b/ext/filter/filter_arginfo.h
index 89164736299..6d9ac902e2b 100644
Binary files a/ext/filter/filter_arginfo.h and b/ext/filter/filter_arginfo.h differ
diff --git a/ext/ftp/ftp_arginfo.h b/ext/ftp/ftp_arginfo.h
index edb0b4b8a91..420fc3553ea 100644
Binary files a/ext/ftp/ftp_arginfo.h and b/ext/ftp/ftp_arginfo.h differ
diff --git a/ext/ftp/php_ftp.c b/ext/ftp/php_ftp.c
index 56938459bb3..312f87c2781 100644
--- a/ext/ftp/php_ftp.c
+++ b/ext/ftp/php_ftp.c
@@ -27,7 +27,6 @@

 #include "ext/standard/info.h"
 #include "ext/standard/file.h"
-#include "Zend/zend_attributes.h"
 #include "Zend/zend_exceptions.h"

 #include "php_ftp.h"
diff --git a/ext/gd/gd.c b/ext/gd/gd.c
index 6a056287c45..8d65d12aef6 100644
--- a/ext/gd/gd.c
+++ b/ext/gd/gd.c
@@ -32,7 +32,6 @@
 #include "ext/standard/info.h"
 #include "php_open_temporary_file.h"
 #include "php_memory_streams.h"
-#include "zend_attributes.h"
 #include "zend_object_handlers.h"

 #ifdef HAVE_SYS_WAIT_H
diff --git a/ext/gd/gd_arginfo.h b/ext/gd/gd_arginfo.h
index 978a7744ec2..ee28379b30c 100644
Binary files a/ext/gd/gd_arginfo.h and b/ext/gd/gd_arginfo.h differ
diff --git a/ext/gmp/gmp_arginfo.h b/ext/gmp/gmp_arginfo.h
index dddaa7e528c..038ce389015 100644
Binary files a/ext/gmp/gmp_arginfo.h and b/ext/gmp/gmp_arginfo.h differ
diff --git a/ext/hash/hash_arginfo.h b/ext/hash/hash_arginfo.h
index 798bf66dc33..bc213d02bfb 100644
Binary files a/ext/hash/hash_arginfo.h and b/ext/hash/hash_arginfo.h differ
diff --git a/ext/iconv/iconv_arginfo.h b/ext/iconv/iconv_arginfo.h
index fd23b7113ce..d85eaf1de00 100644
Binary files a/ext/iconv/iconv_arginfo.h and b/ext/iconv/iconv_arginfo.h differ
diff --git a/ext/intl/collator/collator_arginfo.h b/ext/intl/collator/collator_arginfo.h
index 4367d12be4f..bf8345cd8be 100644
Binary files a/ext/intl/collator/collator_arginfo.h and b/ext/intl/collator/collator_arginfo.h differ
diff --git a/ext/intl/common/common_arginfo.h b/ext/intl/common/common_arginfo.h
index 2a15cccab89..2ca89fe9603 100644
Binary files a/ext/intl/common/common_arginfo.h and b/ext/intl/common/common_arginfo.h differ
diff --git a/ext/intl/formatter/formatter_arginfo.h b/ext/intl/formatter/formatter_arginfo.h
index d3d29f70168..fb3e3619ad5 100644
Binary files a/ext/intl/formatter/formatter_arginfo.h and b/ext/intl/formatter/formatter_arginfo.h differ
diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c
index 7bc599728e6..ce938b91559 100644
--- a/ext/intl/php_intl.c
+++ b/ext/intl/php_intl.c
@@ -75,7 +75,6 @@

 #include "php_ini.h"

-#include "zend_attributes.h"

 #include "php_intl_arginfo.h"

diff --git a/ext/intl/php_intl_arginfo.h b/ext/intl/php_intl_arginfo.h
index 00de5986f1e..f46192618b9 100644
Binary files a/ext/intl/php_intl_arginfo.h and b/ext/intl/php_intl_arginfo.h differ
diff --git a/ext/json/json_arginfo.h b/ext/json/json_arginfo.h
index 87ba9cce3af..01ebf40727c 100644
Binary files a/ext/json/json_arginfo.h and b/ext/json/json_arginfo.h differ
diff --git a/ext/ldap/ldap.c b/ext/ldap/ldap.c
index 7a089625aa4..3e03df4c337 100644
--- a/ext/ldap/ldap.c
+++ b/ext/ldap/ldap.c
@@ -26,7 +26,6 @@

 #include "php.h"
 #include "php_ini.h"
-#include "Zend/zend_attributes.h"

 #include <stddef.h>

diff --git a/ext/ldap/ldap_arginfo.h b/ext/ldap/ldap_arginfo.h
index 8f5e7e34ba3..cea79a70d90 100644
Binary files a/ext/ldap/ldap_arginfo.h and b/ext/ldap/ldap_arginfo.h differ
diff --git a/ext/libxml/libxml.c b/ext/libxml/libxml.c
index 1f3d7c4d878..42cd0ceb971 100644
--- a/ext/libxml/libxml.c
+++ b/ext/libxml/libxml.c
@@ -20,7 +20,6 @@
 #include "php.h"
 #include "SAPI.h"

-#include "zend_attributes.h"
 #include "zend_variables.h"
 #include "ext/standard/info.h"
 #include "ext/standard/file.h"
diff --git a/ext/libxml/libxml_arginfo.h b/ext/libxml/libxml_arginfo.h
index 24459da5c0c..2d77e249811 100644
Binary files a/ext/libxml/libxml_arginfo.h and b/ext/libxml/libxml_arginfo.h differ
diff --git a/ext/mbstring/mbstring_arginfo.h b/ext/mbstring/mbstring_arginfo.h
index 7426387b338..593589b66db 100644
Binary files a/ext/mbstring/mbstring_arginfo.h and b/ext/mbstring/mbstring_arginfo.h differ
diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c
index e6f87643357..23fd70247fe 100644
--- a/ext/mysqli/mysqli.c
+++ b/ext/mysqli/mysqli.c
@@ -26,7 +26,6 @@
 #include "php_mysqli.h"
 #include "php_mysqli_structs.h"
 #include "mysqli_priv.h"
-#include "zend_attributes.h"
 #include "zend_exceptions.h"
 #include "ext/spl/spl_exceptions.h"
 #include "zend_interfaces.h"
diff --git a/ext/mysqli/mysqli_arginfo.h b/ext/mysqli/mysqli_arginfo.h
index 32588d45e26..dac51d7f495 100644
Binary files a/ext/mysqli/mysqli_arginfo.h and b/ext/mysqli/mysqli_arginfo.h differ
diff --git a/ext/odbc/odbc_arginfo.h b/ext/odbc/odbc_arginfo.h
index badd1400148..958917d6001 100644
Binary files a/ext/odbc/odbc_arginfo.h and b/ext/odbc/odbc_arginfo.h differ
diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c
index 3e7cdbb01b6..5a1a20e1068 100644
--- a/ext/odbc/php_odbc.c
+++ b/ext/odbc/php_odbc.c
@@ -22,7 +22,6 @@

 #include "php.h"
 #include "php_globals.h"
-#include "zend_attributes.h"

 #include "ext/standard/info.h"
 #include "Zend/zend_interfaces.h"
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index 80c0a8bab07..c8ca39ad0aa 100644
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -26,7 +26,6 @@
 #include "php_ini.h"
 #include "php_openssl.h"
 #include "php_openssl_backend.h"
-#include "zend_attributes.h"
 #include "zend_exceptions.h"

 /* PHP Includes */
diff --git a/ext/openssl/openssl_arginfo.h b/ext/openssl/openssl_arginfo.h
index b1742dcb05f..c7fdf82c786 100644
Binary files a/ext/openssl/openssl_arginfo.h and b/ext/openssl/openssl_arginfo.h differ
diff --git a/ext/openssl/openssl_pwhash_arginfo.h b/ext/openssl/openssl_pwhash_arginfo.h
index 2e78aec41af..dead1e12c8a 100644
Binary files a/ext/openssl/openssl_pwhash_arginfo.h and b/ext/openssl/openssl_pwhash_arginfo.h differ
diff --git a/ext/pcntl/pcntl_arginfo.h b/ext/pcntl/pcntl_arginfo.h
index a0ba6f712e5..a9d6bb010e2 100644
Binary files a/ext/pcntl/pcntl_arginfo.h and b/ext/pcntl/pcntl_arginfo.h differ
diff --git a/ext/pcre/php_pcre_arginfo.h b/ext/pcre/php_pcre_arginfo.h
index 0d22c2414fb..2f64048decf 100644
Binary files a/ext/pcre/php_pcre_arginfo.h and b/ext/pcre/php_pcre_arginfo.h differ
diff --git a/ext/pdo/pdo_dbh_arginfo.h b/ext/pdo/pdo_dbh_arginfo.h
index 90da5123a48..1e4cc4328b9 100644
Binary files a/ext/pdo/pdo_dbh_arginfo.h and b/ext/pdo/pdo_dbh_arginfo.h differ
diff --git a/ext/pdo_odbc/pdo_odbc_arginfo.h b/ext/pdo_odbc/pdo_odbc_arginfo.h
index 9492f8c374e..b9b2fff674c 100644
Binary files a/ext/pdo_odbc/pdo_odbc_arginfo.h and b/ext/pdo_odbc/pdo_odbc_arginfo.h differ
diff --git a/ext/pdo_pgsql/pdo_pgsql_arginfo.h b/ext/pdo_pgsql/pdo_pgsql_arginfo.h
index 80127659a56..2178d3086f6 100644
Binary files a/ext/pdo_pgsql/pdo_pgsql_arginfo.h and b/ext/pdo_pgsql/pdo_pgsql_arginfo.h differ
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c
index 791cbfd2c8f..351e1b5e3aa 100644
--- a/ext/pgsql/pgsql.c
+++ b/ext/pgsql/pgsql.c
@@ -35,7 +35,6 @@
 #include "php_pgsql.h"
 #include "php_globals.h"
 #include "zend_exceptions.h"
-#include "zend_attributes.h"
 #include "zend_interfaces.h"
 #include "php_network.h"

diff --git a/ext/pgsql/pgsql_arginfo.h b/ext/pgsql/pgsql_arginfo.h
index 974a6e9117c..ccaab3ddc86 100644
Binary files a/ext/pgsql/pgsql_arginfo.h and b/ext/pgsql/pgsql_arginfo.h differ
diff --git a/ext/posix/posix_arginfo.h b/ext/posix/posix_arginfo.h
index 835ad31fa1a..6172cdf3a1c 100644
Binary files a/ext/posix/posix_arginfo.h and b/ext/posix/posix_arginfo.h differ
diff --git a/ext/random/random.c b/ext/random/random.c
index e7fe2c21801..fe4176418e4 100644
--- a/ext/random/random.c
+++ b/ext/random/random.c
@@ -25,8 +25,6 @@

 #include "php.h"

-#include "Zend/zend_attributes.h"
-#include "Zend/zend_enum.h"
 #include "Zend/zend_exceptions.h"

 #include "php_random.h"
diff --git a/ext/random/random_arginfo.h b/ext/random/random_arginfo.h
index 8332fdc41fd..fb71235d815 100644
Binary files a/ext/random/random_arginfo.h and b/ext/random/random_arginfo.h differ
diff --git a/ext/readline/readline_arginfo.h b/ext/readline/readline_arginfo.h
index 1ce08c443ee..2e17c9ee046 100644
Binary files a/ext/readline/readline_arginfo.h and b/ext/readline/readline_arginfo.h differ
diff --git a/ext/reflection/php_reflection_arginfo.h b/ext/reflection/php_reflection_arginfo.h
index 7da379d7b98..661372516d5 100644
Binary files a/ext/reflection/php_reflection_arginfo.h and b/ext/reflection/php_reflection_arginfo.h differ
diff --git a/ext/session/session_arginfo.h b/ext/session/session_arginfo.h
index dfcccc64341..091317182af 100644
Binary files a/ext/session/session_arginfo.h and b/ext/session/session_arginfo.h differ
diff --git a/ext/shmop/shmop.c b/ext/shmop/shmop.c
index 7903a294a03..47ca1c2112e 100644
--- a/ext/shmop/shmop.c
+++ b/ext/shmop/shmop.c
@@ -19,7 +19,6 @@

 #include "php.h"
 #include "php_shmop.h"
-#include "Zend/zend_attributes.h"

 #include "shmop_arginfo.h"

diff --git a/ext/shmop/shmop_arginfo.h b/ext/shmop/shmop_arginfo.h
index 9d88fe63c32..464a6a462ae 100644
Binary files a/ext/shmop/shmop_arginfo.h and b/ext/shmop/shmop_arginfo.h differ
diff --git a/ext/snmp/snmp_arginfo.h b/ext/snmp/snmp_arginfo.h
index 67d72cf75bd..1e134c62764 100644
Binary files a/ext/snmp/snmp_arginfo.h and b/ext/snmp/snmp_arginfo.h differ
diff --git a/ext/soap/soap.c b/ext/soap/soap.c
index 506a4611386..d89ef349799 100644
--- a/ext/soap/soap.c
+++ b/ext/soap/soap.c
@@ -19,7 +19,6 @@
 #endif
 #include "php_soap.h"
 #include "ext/session/php_session.h"
-#include "zend_attributes.h"
 #include "soap_arginfo.h"
 #include "zend_exceptions.h"
 #include "zend_interfaces.h"
diff --git a/ext/soap/soap_arginfo.h b/ext/soap/soap_arginfo.h
index 2f7d56ca422..f6b146d779d 100644
Binary files a/ext/soap/soap_arginfo.h and b/ext/soap/soap_arginfo.h differ
diff --git a/ext/sockets/sockets_arginfo.h b/ext/sockets/sockets_arginfo.h
index 203c010f517..3f62bb3607f 100644
Binary files a/ext/sockets/sockets_arginfo.h and b/ext/sockets/sockets_arginfo.h differ
diff --git a/ext/sodium/libsodium.c b/ext/sodium/libsodium.c
index 814258d6a84..f54d35506ab 100644
--- a/ext/sodium/libsodium.c
+++ b/ext/sodium/libsodium.c
@@ -19,7 +19,6 @@
 #include "php.h"
 #include "ext/standard/info.h"
 #include "php_libsodium.h"
-#include "zend_attributes.h"
 #include "zend_exceptions.h"

 #include <sodium.h>
diff --git a/ext/sodium/libsodium_arginfo.h b/ext/sodium/libsodium_arginfo.h
index 548cd132c55..fbeb30fdd63 100644
Binary files a/ext/sodium/libsodium_arginfo.h and b/ext/sodium/libsodium_arginfo.h differ
diff --git a/ext/sodium/sodium_pwhash_arginfo.h b/ext/sodium/sodium_pwhash_arginfo.h
index 6f416190038..42cd454772c 100644
Binary files a/ext/sodium/sodium_pwhash_arginfo.h and b/ext/sodium/sodium_pwhash_arginfo.h differ
diff --git a/ext/spl/php_spl.c b/ext/spl/php_spl.c
index 36be19ed399..0c5f1ba99c1 100644
--- a/ext/spl/php_spl.c
+++ b/ext/spl/php_spl.c
@@ -17,7 +17,6 @@
 #endif

 #include "php_spl.h"
-#include "zend_attributes.h"
 #include "php_spl_arginfo.h"
 #include "zend_autoload.h"
 #include "zend_exceptions.h"
diff --git a/ext/spl/php_spl_arginfo.h b/ext/spl/php_spl_arginfo.h
index 6a561404b5f..360067c0172 100644
Binary files a/ext/spl/php_spl_arginfo.h and b/ext/spl/php_spl_arginfo.h differ
diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c
index 257a7077a20..af603f3abf6 100644
--- a/ext/spl/spl_array.c
+++ b/ext/spl/spl_array.c
@@ -18,7 +18,6 @@

 #include "php.h"
 #include "ext/standard/php_var.h"
-#include "zend_attributes.h"
 #include "zend_smart_str.h"
 #include "zend_interfaces.h"
 #include "zend_exceptions.h"
diff --git a/ext/spl/spl_array_arginfo.h b/ext/spl/spl_array_arginfo.h
index 3d7d64818d1..96523bd7a75 100644
Binary files a/ext/spl/spl_array_arginfo.h and b/ext/spl/spl_array_arginfo.h differ
diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c
index daad1a4908f..16571158610 100644
--- a/ext/spl/spl_directory.c
+++ b/ext/spl/spl_directory.c
@@ -22,7 +22,6 @@
 #include "ext/standard/flock_compat.h"
 #include "ext/standard/scanf.h"
 #include "ext/standard/php_string.h" /* For php_basename() */
-#include "zend_attributes.h"
 #include "zend_exceptions.h"
 #include "zend_interfaces.h"

diff --git a/ext/spl/spl_directory_arginfo.h b/ext/spl/spl_directory_arginfo.h
index 0eb6969cb51..7cf3c04cf35 100644
Binary files a/ext/spl/spl_directory_arginfo.h and b/ext/spl/spl_directory_arginfo.h differ
diff --git a/ext/spl/spl_fixedarray.c b/ext/spl/spl_fixedarray.c
index d2eae52e3c0..a53a2cc73a1 100644
--- a/ext/spl/spl_fixedarray.c
+++ b/ext/spl/spl_fixedarray.c
@@ -20,7 +20,6 @@
 #include "php.h"
 #include "zend_interfaces.h"
 #include "zend_exceptions.h"
-#include "zend_attributes.h"

 #include "spl_fixedarray_arginfo.h"
 #include "spl_fixedarray.h"
diff --git a/ext/spl/spl_fixedarray_arginfo.h b/ext/spl/spl_fixedarray_arginfo.h
index 1c5545ab3e5..2f2a264fe62 100644
Binary files a/ext/spl/spl_fixedarray_arginfo.h and b/ext/spl/spl_fixedarray_arginfo.h differ
diff --git a/ext/spl/spl_observer.c b/ext/spl/spl_observer.c
index a980828cdcb..7ad54781884 100644
--- a/ext/spl/spl_observer.c
+++ b/ext/spl/spl_observer.c
@@ -23,7 +23,6 @@
 #include "zend_smart_str.h"
 #include "zend_interfaces.h"
 #include "zend_exceptions.h"
-#include "zend_attributes.h"

 #include "php_spl.h" /* For php_spl_object_hash() */
 #include "spl_observer.h"
diff --git a/ext/spl/spl_observer_arginfo.h b/ext/spl/spl_observer_arginfo.h
index 142c400bcfe..14ba7ef995d 100644
Binary files a/ext/spl/spl_observer_arginfo.h and b/ext/spl/spl_observer_arginfo.h differ
diff --git a/ext/sqlite3/sqlite3_arginfo.h b/ext/sqlite3/sqlite3_arginfo.h
index 60f63cb1094..3917ef63e28 100644
Binary files a/ext/sqlite3/sqlite3_arginfo.h and b/ext/sqlite3/sqlite3_arginfo.h differ
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index a87ab1b5ad6..3438d603752 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -31,8 +31,6 @@
 #include "ext/standard/info.h"
 #include "ext/session/php_session.h"
 #include "zend_exceptions.h"
-#include "zend_attributes.h"
-#include "zend_enum.h"
 #include "zend_ini.h"
 #include "zend_operators.h"
 #include "ext/standard/php_dns.h"
diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h
index 7d9a4246053..677c5e66860 100644
Binary files a/ext/standard/basic_functions_arginfo.h and b/ext/standard/basic_functions_arginfo.h differ
diff --git a/ext/standard/dir_arginfo.h b/ext/standard/dir_arginfo.h
index 7ff39528d52..afd2ed76fd5 100644
Binary files a/ext/standard/dir_arginfo.h and b/ext/standard/dir_arginfo.h differ
diff --git a/ext/standard/file.c b/ext/standard/file.c
index d6a8b9f1d0e..b52e5ba9525 100644
--- a/ext/standard/file.c
+++ b/ext/standard/file.c
@@ -92,7 +92,6 @@ php_file_globals file_globals;
 # include <fnmatch.h>
 #endif

-#include "zend_attributes.h"
 #include "file_arginfo.h"

 /* }}} */
diff --git a/ext/standard/file_arginfo.h b/ext/standard/file_arginfo.h
index 24e3722cd86..dd8a64910be 100644
Binary files a/ext/standard/file_arginfo.h and b/ext/standard/file_arginfo.h differ
diff --git a/ext/standard/io_poll_arginfo.h b/ext/standard/io_poll_arginfo.h
index 801df235c26..925f483ddc8 100644
Binary files a/ext/standard/io_poll_arginfo.h and b/ext/standard/io_poll_arginfo.h differ
diff --git a/ext/standard/password_arginfo.h b/ext/standard/password_arginfo.h
index f3d74a96d31..2a7b19f6108 100644
Binary files a/ext/standard/password_arginfo.h and b/ext/standard/password_arginfo.h differ
diff --git a/ext/standard/user_filters_arginfo.h b/ext/standard/user_filters_arginfo.h
index f5b8a7dfa47..ff65a8083c4 100644
Binary files a/ext/standard/user_filters_arginfo.h and b/ext/standard/user_filters_arginfo.h differ
diff --git a/ext/sysvmsg/sysvmsg_arginfo.h b/ext/sysvmsg/sysvmsg_arginfo.h
index 9dee3e0f484..971681cb453 100644
Binary files a/ext/sysvmsg/sysvmsg_arginfo.h and b/ext/sysvmsg/sysvmsg_arginfo.h differ
diff --git a/ext/tidy/tidy_arginfo.h b/ext/tidy/tidy_arginfo.h
index cded6095702..d402a3167ab 100644
Binary files a/ext/tidy/tidy_arginfo.h and b/ext/tidy/tidy_arginfo.h differ
diff --git a/ext/tokenizer/tokenizer_arginfo.h b/ext/tokenizer/tokenizer_arginfo.h
index d2f8f9254f7..20e0f0624d7 100644
Binary files a/ext/tokenizer/tokenizer_arginfo.h and b/ext/tokenizer/tokenizer_arginfo.h differ
diff --git a/ext/tokenizer/tokenizer_data_arginfo.h b/ext/tokenizer/tokenizer_data_arginfo.h
index b82842ede0f..20e5a5f776f 100644
Binary files a/ext/tokenizer/tokenizer_data_arginfo.h and b/ext/tokenizer/tokenizer_data_arginfo.h differ
diff --git a/ext/uri/php_uri.c b/ext/uri/php_uri.c
index bb1d8c8bb13..5f343240bbf 100644
--- a/ext/uri/php_uri.c
+++ b/ext/uri/php_uri.c
@@ -19,8 +19,6 @@
 #include "php.h"
 #include "Zend/zend_interfaces.h"
 #include "Zend/zend_exceptions.h"
-#include "Zend/zend_attributes.h"
-#include "Zend/zend_enum.h"
 #include "ext/standard/info.h"

 #include "php_uri.h"
diff --git a/ext/uri/php_uri_arginfo.h b/ext/uri/php_uri_arginfo.h
index c77d0485d05..b9b4fedc10c 100644
Binary files a/ext/uri/php_uri_arginfo.h and b/ext/uri/php_uri_arginfo.h differ
diff --git a/ext/xml/xml.c b/ext/xml/xml.c
index d1bb4bbda23..92345c6f055 100644
--- a/ext/xml/xml.c
+++ b/ext/xml/xml.c
@@ -21,7 +21,6 @@
 #include "php.h"

 #include "zend_variables.h"
-#include "zend_attributes.h"
 #include "ext/standard/info.h"
 #include "ext/standard/html.h" /* For php_next_utf8_char() */

diff --git a/ext/xml/xml_arginfo.h b/ext/xml/xml_arginfo.h
index 96430aef12b..f8c6638e8ec 100644
Binary files a/ext/xml/xml_arginfo.h and b/ext/xml/xml_arginfo.h differ
diff --git a/ext/xsl/php_xsl_arginfo.h b/ext/xsl/php_xsl_arginfo.h
index a4e192c84ea..ed639006600 100644
Binary files a/ext/xsl/php_xsl_arginfo.h and b/ext/xsl/php_xsl_arginfo.h differ
diff --git a/ext/zend_test/test_arginfo.h b/ext/zend_test/test_arginfo.h
index 93fdadb7f6b..f3901c9b733 100644
Binary files a/ext/zend_test/test_arginfo.h and b/ext/zend_test/test_arginfo.h differ
diff --git a/ext/zend_test/test_legacy_arginfo.h b/ext/zend_test/test_legacy_arginfo.h
index 479a678df77..d9a7709ab22 100644
Binary files a/ext/zend_test/test_legacy_arginfo.h and b/ext/zend_test/test_legacy_arginfo.h differ
diff --git a/ext/zip/php_zip.c b/ext/zip/php_zip.c
index 15994b60cc7..7af8a81e8f6 100644
--- a/ext/zip/php_zip.c
+++ b/ext/zip/php_zip.c
@@ -23,7 +23,6 @@
 #include "ext/standard/php_string.h" /* For php_basename() */
 #include "ext/pcre/php_pcre.h"
 #include "ext/standard/php_filestat.h"
-#include "zend_attributes.h"
 #include "zend_interfaces.h"
 #include "zend_exceptions.h"
 #include "php_zip.h"
diff --git a/ext/zip/php_zip_arginfo.h b/ext/zip/php_zip_arginfo.h
index 2496670158d..022bce3650b 100644
Binary files a/ext/zip/php_zip_arginfo.h and b/ext/zip/php_zip_arginfo.h differ
diff --git a/ext/zlib/zlib_arginfo.h b/ext/zlib/zlib_arginfo.h
index 22605924b8b..41388789f84 100644
Binary files a/ext/zlib/zlib_arginfo.h and b/ext/zlib/zlib_arginfo.h differ
diff --git a/main/main_arginfo.h b/main/main_arginfo.h
index d2bd2725ec4..0da355e87b7 100644
Binary files a/main/main_arginfo.h and b/main/main_arginfo.h differ
diff --git a/main/streams/stream_errors_arginfo.h b/main/streams/stream_errors_arginfo.h
index 4558f64b77f..8b46210b357 100644
Binary files a/main/streams/stream_errors_arginfo.h and b/main/streams/stream_errors_arginfo.h differ
diff --git a/main/streams/userspace_arginfo.h b/main/streams/userspace_arginfo.h
index 52e39ab02f8..267eede1074 100644
Binary files a/main/streams/userspace_arginfo.h and b/main/streams/userspace_arginfo.h differ
diff --git a/sapi/phpdbg/phpdbg_arginfo.h b/sapi/phpdbg/phpdbg_arginfo.h
index 08b07b7597d..f12bf1ca257 100644
Binary files a/sapi/phpdbg/phpdbg_arginfo.h and b/sapi/phpdbg/phpdbg_arginfo.h differ