You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Regression: fadd/fsub/fmul/fmax/fmin/nextafter phantoms on PROFILE≥8.4 — absent from php-src (ext/standard/math.c) #28565
Under PHP_COMPILER_PROFILE=8.4 / 8.5, function_exists() is true for fadd, fsub, fmul, fmax, fmin, and nextafter, and positional calls succeed. Zend/php-src 8.4.24 and 8.5.8 do not define these functions (function_exists false). They are compiler phantoms — not Reflection-stub mismatches against real Zend APIs.
Sibling #27617 assumed Zend float stubs exist; live php:8.4-cli / php:8.5-cli show otherwise. fpow / fdiv / fmoddo exist on Zend and are out of scope here.
Activity
PurHur commentedon Aug 7, 2026
claim: PHP Compiler STD Lib — starting this run
Gate snapshot before work:
php script/bootstrap-inventory.php --check→ OK 7203/7203release-readiness --jsonstill running; inventory green so proceeding on phantom math builtins (Regression: fadd/fsub/fmul/fmax/fmin/nextafter phantoms on PROFILE≥8.4 — absent from php-src (ext/standard/math.c) #28565)Plan: gate/remove
fadd/fsub/fmul/fmax/fmin/nextafteron php-src-strict so PROFILE≥8.4 matches Zend (function_existsfalse); keepfpow/fdiv/fmod.Stdlib: retire IEEE float phantoms on PROFILE≥8.4 (#28565) (#28626)
PurHur commentedon Aug 7, 2026
Merged #28626
Verification
user_release_ready: yesfpowpresentPHP_COMPILER_PROFILE=8.4Perf: nextafter AOT via libm nextafter(3) (#36386). (#37028)