Skip to content

Commit 0d0ac09

Browse files
committed
fixup! Add #[\NoDiscard] attribute
1 parent baadb12 commit 0d0ac09

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

Zend/Optimizer/optimize_func_calls.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,10 @@ static void zend_delete_call_instructions(zend_op_array *op_array, zend_op *opli
7878

7979
static void zend_try_inline_call(zend_op_array *op_array, zend_op *fcall, zend_op *opline, zend_function *func)
8080
{
81+
const uint32_t no_discard = RETURN_VALUE_USED(opline) ? 0 : ZEND_ACC_NODISCARD;
82+
8183
if (func->type == ZEND_USER_FUNCTION
82-
&& !(func->op_array.fn_flags & (ZEND_ACC_ABSTRACT|ZEND_ACC_HAS_TYPE_HINTS|ZEND_ACC_DEPRECATED|ZEND_ACC_NODISCARD))
84+
&& !(func->op_array.fn_flags & (ZEND_ACC_ABSTRACT|ZEND_ACC_HAS_TYPE_HINTS|ZEND_ACC_DEPRECATED|no_discard))
8385
/* TODO: function copied from trait may be inconsistent ??? */
8486
&& !(func->op_array.fn_flags & (ZEND_ACC_TRAIT_CLONE))
8587
&& fcall->extended_value >= func->op_array.required_num_args

0 commit comments

Comments
 (0)