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
Stdlib: error_reporting()/trigger_error() — enum case operands must TypeError (ext/standard/basic_functions.c) #9086
Root cause:trigger_error() VM path used a manual TYPE_INTEGER check that threw LogicException; JIT used raw jitLong() without enum guards. Message-operand enum rejection was already fixed (#6184); error_level enum operand was the remaining gap.
Fix: Route error_level through VmMath::parseIntBuiltinArgForFrame() (VM) and JitIntdiv::lowerIntBuiltinArgForCaller() (JIT).
Verification:
php bin/vm.php test/repro/maintainer_gap_trigger_error_enum_error_level.php
# trigger_error(): Argument #2 ($error_level) must be of type int, E given
php bin/jit.php test/repro/maintainer_gap_trigger_error_enum_error_level.php
# trigger_error(): Argument #2 ($error_level) must be of type int, E given
php bin/vm.php test/compliance/cases/stdlib/trigger_error_enum_error_level.phpt
php bin/jit.php test/compliance/cases/stdlib/trigger_error_enum_error_level_jit.phpt
make bootstrap-selfhost-vm-driver-execute-probe
# OK
Activity
PurHur commentedon Jun 16, 2026
claim: PHP Compiler STD Lib — starting this run
PurHur commentedon Jun 16, 2026
Unclaiming: repro is already green on master (VM+JIT). Compliance tests exist: error_reporting_enum_typeerror*.phpt (#5917), trigger_error_enum_case*.phpt (#6184), user_error_enum_case.phpt (#6183). Switching to #9084 (sleep/usleep/time_nanosleep enum guards).
PurHur commentedon Jul 12, 2026
claim: cursor-agent-lane-c — starting this run (trigger_error enum error_level TypeError gap; #9086)
Stdlib: trigger_error() enum error_level TypeError (#9086) (#18272)
PurHur commentedon Jul 12, 2026
Merged via PR #18272.
Root cause:
trigger_error()VM path used a manualTYPE_INTEGERcheck that threwLogicException; JIT used rawjitLong()without enum guards. Message-operand enum rejection was already fixed (#6184); error_level enum operand was the remaining gap.Fix: Route
error_levelthroughVmMath::parseIntBuiltinArgForFrame()(VM) andJitIntdiv::lowerIntBuiltinArgForCaller()(JIT).Verification: