Category
bug · php-src-strict · stdlib · user-script AOT · pillar 4
Problem
hexdec('ff') / bindec('1010') match Zend on VM/JIT (255 / 10), but thin AOT fails at compile with:
Current basic block has no parent function (exit 2)
Probed 2026-08-02 @ bb3571d82.
| Repro |
Zend / VM / JIT |
AOT (2026-08-02) |
hexdec('ff') |
255 |
compile fail |
bindec('1010') |
10 |
compile fail (same lowering) |
php-src reference
PHP implementation target
Repro
./script/docker-exec.sh -- bash -lc '
cat > /tmp/issue_hexdec_aot.php <<'"'"'PHP'"'"'
<?php
echo hexdec("ff"), "\n";
echo bindec("1010"), "\n";
PHP
php /tmp/issue_hexdec_aot.php
php bin/vm.php /tmp/issue_hexdec_aot.php
php bin/jit.php /tmp/issue_hexdec_aot.php
php bin/compile.php -o /tmp/issue_hexdec_aot /tmp/issue_hexdec_aot.php; echo compile_exit:$?
'
Done when
Category
bug· php-src-strict · stdlib · user-script AOT · pillar 4Problem
hexdec('ff')/bindec('1010')match Zend on VM/JIT (255/10), but thin AOT fails at compile with:Current basic block has no parent function(exit 2)Probed 2026-08-02 @
bb3571d82.hexdec('ff')255bindec('1010')10php-src reference
ext/standard/math.c—PHP_FUNCTION(hexdec)/PHP_FUNCTION(bindec)ext/standard/basic_functions.stub.phpPHP implementation target
lib/JIT/ext/standardhexdec+bindec (+ likelyoctdec) helper emission — fix CFG insertion so the helper call has a parent function; php-in-PHP helper preferred over new CRepro
Done when
255/10matching Zend/VM/JIThexdec/bindec