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
AOT: mktime() module verification fails — mkt_false/ok blocks land in wrong function (ext/date/php_date.c) #33934
mktime(0,0,0,1,1,2020) matches Zend/VM, but thin AOT fails module verification:
Module verification failed due to Referring to an argument in another function!
call void @__value__writeBool(%__value__* %7, i32 0)
Referring to a basic block in another function!
br i1 %12, label %mkt_false, label %mkt_ok
in .../Module.php:180
Root cause: lib/JIT/Builtin/StringMktime.php builds __compiler_mktime with $fn->appendBasicBlock for entry/body, then uses BasicBlockHelper::append for mkt_false / mkt_ok / mkt_done. While lowering user main, context->loweringLlvmFunction steals those appends into the wrong function (see BasicBlockHelper::parentFunction / #31101). Same pattern exists in StringGmmktime (often masked by compile-time fold).
Activity
PurHur commentedon Aug 22, 2026
claim: advanced-stdlib/ext — starting this run (AOT mktime Module.php:180 wrong-function basic blocks in StringMktime; aot-smoke 8/8; #32122/#31968/#33929/#33930 closed).
AOT: scope RecursiveTreeIterator walk/build onto ABI fn (#33974) (#33978