if (ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i + 1)
&& !PZVAL_IS_REF(*fci->params[i])) {
+
if (Z_REFCOUNT_PP(fci->params[i]) > 1) {
zval *new_zval;
zval_ptr_dtor(&method_name);
zval_ptr_dtor(¶ms_array);
}
+ zend_error(E_WARNING, "Parameter %d to %s%s%s() expected to be a reference, value given",
+ i+1,
+ EX(function_state).function->common.scope ? EX(function_state).function->common.scope->name : "",
+ EX(function_state).function->common.scope ? "::" : "",
+ EX(function_state).function->common.function_name);
return FAILURE;
}
+
ALLOC_ZVAL(new_zval);
*new_zval = **fci->params[i];
zval_copy_ctor(new_zval);
--EXPECTF--
string(9) "x.changed"
-Warning: Invocation of C's constructor failed in %s/bug42976.php on line %d
+Warning: Parameter 1 to C::__construct() expected to be a reference, value given in %sbug42976.php on line 15
+
+Warning: Invocation of C's constructor failed in %sbug42976.php on line 15
string(10) "x.original"
-Warning: Invocation of C's constructor failed in %s/bug42976.php on line %d
+Warning: Parameter 1 to C::__construct() expected to be a reference, value given in %sbug42976.php on line 18
+
+Warning: Invocation of C's constructor failed in %sbug42976.php on line 18
string(10) "x.original"
Done
echo "Done\n";
?>
---EXPECTF--
+--EXPECTF--
+Warning: Parameter 1 to sort() expected to be a reference, value given in %sbug41970.php on line 5
NULL
-Notice: Array to string conversion in %s on line %d
+Notice: Array to string conversion in %sbug41970.php on line 6
int(5)
+
+Warning: Parameter 1 to sort() expected to be a reference, value given in %sbug41970.php on line 7
NULL
-Notice: Array to string conversion in %s on line %d
+Notice: Array to string conversion in %sbug41970.php on line 8
int(5)
Done