Skip to content

Commit dac1b2e

Browse files
gen_stub: ZEND_ACC_NODISCARD is for PHP 8.5+
1 parent 26dbcb7 commit dac1b2e

File tree

3 files changed

+28
-19
lines changed

3 files changed

+28
-19
lines changed

build/gen_stub.php

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1523,9 +1523,6 @@ private function getArginfoFlagsByPhpVersions(): array
15231523
case "Deprecated":
15241524
$flags[] = "ZEND_ACC_DEPRECATED";
15251525
break;
1526-
case "NoDiscard":
1527-
$flags[] = "ZEND_ACC_NODISCARD";
1528-
break;
15291526
}
15301527
}
15311528

@@ -1534,12 +1531,24 @@ private function getArginfoFlagsByPhpVersions(): array
15341531
$php82AndAboveFlags[] = "ZEND_ACC_COMPILE_TIME_EVAL";
15351532
}
15361533

1534+
$php85AndAboveFlags = $php82AndAboveFlags;
1535+
foreach ($this->attributes as $attr) {
1536+
switch ($attr->class) {
1537+
case "NoDiscard":
1538+
$php85AndAboveFlags[] = "ZEND_ACC_NODISCARD";
1539+
break;
1540+
}
1541+
}
1542+
15371543
if (empty($flags)) {
15381544
$flags[] = "0";
15391545
}
15401546
if (empty($php82AndAboveFlags)) {
15411547
$php82AndAboveFlags[] = "0";
15421548
}
1549+
if (empty($php85AndAboveFlags)) {
1550+
$php85AndAboveFlags[] = "0";
1551+
}
15431552

15441553
return [
15451554
PHP_70_VERSION_ID => $flags,
@@ -1548,7 +1557,7 @@ private function getArginfoFlagsByPhpVersions(): array
15481557
PHP_82_VERSION_ID => $php82AndAboveFlags,
15491558
PHP_83_VERSION_ID => $php82AndAboveFlags,
15501559
PHP_84_VERSION_ID => $php82AndAboveFlags,
1551-
PHP_85_VERSION_ID => $php82AndAboveFlags,
1560+
PHP_85_VERSION_ID => $php85AndAboveFlags,
15521561
];
15531562
}
15541563

ext/date/php_date_arginfo.h

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ext/zend_test/test_arginfo.h

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)