From: Marcus Boerger Date: Mon, 20 Feb 2006 20:03:36 +0000 (+0000) Subject: - Synch zend_call_function() with VM function call helper X-Git-Tag: RELEASE_1_2~151 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a27e272670702b49dbb3a595216a79bd624be9fb;p=php - Synch zend_call_function() with VM function call helper --- diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index d4aa68ba76..8b82c0f26d 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -861,11 +861,16 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS fci->object_pp = fci_cache->object_pp; } - if (EX(function_state).function->common.fn_flags & ZEND_ACC_DEPRECATED) { - zend_error(E_NOTICE, "Function %s%s%s() is deprecated", - 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); + if (EX(function_state).function->common.fn_flags & (ZEND_ACC_ABSTRACT|ZEND_ACC_DEPRECATED)) { + if (EX(function_state).function->common.fn_flags & ZEND_ACC_ABSTRACT) { + zend_error_noreturn(E_ERROR, "Cannot call abstract method %v::%v()", EX(function_state).function->common.scope->name, EX(function_state).function->common.function_name); + } + if (EX(function_state).function->common.fn_flags & ZEND_ACC_DEPRECATED) { + zend_error(E_NOTICE, "Function %s%s%s() is deprecated", + 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); + } } for (i=0; iparam_count; i++) {