summaryrefslogtreecommitdiff
path: root/Zend/zend_compile.c
diff options
context:
space:
mode:
authorJoe Watkins <krakjoe@php.net>2019-02-21 11:22:43 +0100
committerJoe Watkins <krakjoe@php.net>2019-02-21 11:22:43 +0100
commit7a9d63830268ed0c44249658422e2b4e9a3bc57e (patch)
treeb43e1c40d0abbd1bd25f9ea0ef9d8d1b61317a16 /Zend/zend_compile.c
parent790a61b4f4196841d02ef74dcedb294beba0ffa1 (diff)
parent46807ec5da23d399873d9a1fcf4b73b7a783d23b (diff)
downloadphp-git-7a9d63830268ed0c44249658422e2b4e9a3bc57e.tar.gz
Merge branch 'PHP-7.4'
* PHP-7.4: zend_get_call_op ignoring compiler flags zend_get_call_op will ignore ZEND_COMPILE_IGNORE_USER_FUNCTIONS and ZEND_COMPILE_IGNORE_USER_FUNCTIONS, breaking the intention of these flags
Diffstat (limited to 'Zend/zend_compile.c')
-rw-r--r--Zend/zend_compile.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index e9955a8cd8..963014a0d5 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -3022,7 +3022,7 @@ uint32_t zend_compile_args(zend_ast *ast, zend_function *fbc) /* {{{ */
ZEND_API zend_uchar zend_get_call_op(const zend_op *init_op, zend_function *fbc) /* {{{ */
{
if (fbc) {
- if (fbc->type == ZEND_INTERNAL_FUNCTION) {
+ if (fbc->type == ZEND_INTERNAL_FUNCTION && !(CG(compiler_options) & ZEND_COMPILE_IGNORE_INTERNAL_FUNCTIONS)) {
if (init_op->opcode == ZEND_INIT_FCALL && !zend_execute_internal) {
if (!(fbc->common.fn_flags & (ZEND_ACC_ABSTRACT|ZEND_ACC_DEPRECATED|ZEND_ACC_HAS_TYPE_HINTS|ZEND_ACC_RETURN_REFERENCE))) {
return ZEND_DO_ICALL;
@@ -3030,7 +3030,7 @@ ZEND_API zend_uchar zend_get_call_op(const zend_op *init_op, zend_function *fbc)
return ZEND_DO_FCALL_BY_NAME;
}
}
- } else {
+ } else if (!(CG(compiler_options) & ZEND_COMPILE_IGNORE_USER_FUNCTIONS)){
if (zend_execute_ex == execute_ex && !(fbc->common.fn_flags & ZEND_ACC_ABSTRACT)) {
return ZEND_DO_UCALL;
}