Skip to content

Commit 3d944a3

Browse files
committed
Update type inference for ZEND_STRLEN
Since PHP 8.0, this cannot return NULL anymore, the only possible return value is long. See https://wiki.php.net/rfc/consistent_type_errors.
1 parent 838d80e commit 3d944a3

File tree

1 file changed

+0
-6
lines changed

1 file changed

+0
-6
lines changed

Zend/Optimizer/zend_inference.c

-6
Original file line numberDiff line numberDiff line change
@@ -3569,12 +3569,6 @@ static zend_always_inline zend_result _zend_update_type_info(
35693569
UPDATE_SSA_TYPE(MAY_BE_RC1|MAY_BE_RCN|MAY_BE_ANY|MAY_BE_ARRAY_KEY_ANY|MAY_BE_ARRAY_OF_ANY, ssa_op->result_def);
35703570
break;
35713571
case ZEND_STRLEN:
3572-
tmp = MAY_BE_LONG;
3573-
if (t1 & (MAY_BE_ANY - (MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_STRING))) {
3574-
tmp |= MAY_BE_NULL;
3575-
}
3576-
UPDATE_SSA_TYPE(tmp, ssa_op->result_def);
3577-
break;
35783572
case ZEND_COUNT:
35793573
case ZEND_FUNC_NUM_ARGS:
35803574
UPDATE_SSA_TYPE(MAY_BE_LONG, ssa_op->result_def);

0 commit comments

Comments
 (0)