summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-07-06 10:37:46 +0200
committerNikita Popov <nikita.ppv@gmail.com>2020-07-06 10:38:02 +0200
commit795d2cbd7118155892eeef8b75354338f0709bc5 (patch)
tree5fc519d3a80d7a192cd4a0acb42b71c9852946e9
parent58f51f8c75e1bfd7d3f766c3b8b438db869361fe (diff)
downloadphp-git-795d2cbd7118155892eeef8b75354338f0709bc5.tar.gz
Reuse warning function
-rw-r--r--Zend/zend_execute.c2
-rw-r--r--Zend/zend_execute.h1
-rw-r--r--Zend/zend_execute_API.c13
3 files changed, 3 insertions, 13 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 5d619437f5..5df8345c76 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -1931,7 +1931,7 @@ static zend_never_inline ZEND_COLD void ZEND_FASTCALL zend_non_static_method_cal
ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name));
}
-static zend_never_inline ZEND_COLD void ZEND_FASTCALL zend_param_must_be_ref(const zend_function *func, uint32_t arg_num)
+ZEND_COLD void ZEND_FASTCALL zend_param_must_be_ref(const zend_function *func, uint32_t arg_num)
{
const char *arg_name = get_function_arg_name(func, arg_num);
diff --git a/Zend/zend_execute.h b/Zend/zend_execute.h
index 0aa959d11f..7b1ae11748 100644
--- a/Zend/zend_execute.h
+++ b/Zend/zend_execute.h
@@ -57,6 +57,7 @@ extern ZEND_API const zend_internal_function zend_pass_function;
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_missing_arg_error(zend_execute_data *execute_data);
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_deprecated_function(const zend_function *fbc);
+ZEND_COLD void ZEND_FASTCALL zend_param_must_be_ref(const zend_function *func, uint32_t arg_num);
ZEND_API zend_bool ZEND_FASTCALL zend_verify_ref_assignable_zval(zend_reference *ref, zval *zv, zend_bool strict);
ZEND_API zend_bool ZEND_FASTCALL zend_verify_prop_assignable_by_ref(zend_property_info *prop_info, zval *orig_val, zend_bool strict);
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index d62f104f22..a646bceb0b 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -746,18 +746,7 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache) /
} else if (!ARG_MAY_BE_SENT_BY_REF(func, i + 1)) {
/* By-value send is not allowed -- emit a warning,
* but still perform the call with a by-value send. */
- const char *arg_name = get_function_arg_name(func, i + 1);
-
- zend_error(E_WARNING,
- "%s%s%s(): Argument #%d%s%s%s must be passed by reference, value given",
- func->common.scope ? ZSTR_VAL(func->common.scope->name) : "",
- func->common.scope ? "::" : "",
- ZSTR_VAL(func->common.function_name),
- i+1,
- arg_name ? " ($" : "",
- arg_name ? arg_name : "",
- arg_name ? ")" : ""
- );
+ zend_param_must_be_ref(func, i + 1);
if (UNEXPECTED(EG(exception))) {
ZEND_CALL_NUM_ARGS(call) = i;
zend_vm_stack_free_args(call);