com php-src: Merge branch 'PHP-7.4': Zend/zend_API.c Zend /zend_builtin_functions.c Zend/zend_compile.c Zen d/zend_compile.h Zend/zend_inheritance.c
ext/reflec tion/php_reflection.c
| From: | Dmitry Stogov | Date: | Thu, 14 Feb 2019 10:18:45 +0000 |
| Subject: | com php-src: Merge branch 'PHP-7.4': Zend/zend_API.c Zend /zend_builtin_functions.c Zend/zend_compile.c Zen d/zend_compile.h Zend/zend_inheritance.c ext/reflec tion/php_reflection.c |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-104628@lists.php.net to get a copy of this message | ||
Commit: 4474cf43e6ba4faa33e66146bfa2859e1094b32f
Author: Dmitry Stogov <dmitry@zend.com> Thu, 14 Feb 2019 13:18:45 +0300
Parents: ad559556b9f138a17f326cbeabcee76fdc732e2f 43a7d95016761787cace63fb52e93e27e123d0cc
Branches: master
Link: http://git.php.net/?p=php-src..git;a=commitdiff;h=4474cf43e6ba4faa33e66146bfa2859e1094b32f
Log:
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #77613 (method visibility change) (reverted ZEND_ACC_CTOR and ZEND_ACC_DTOR flags
removal)
Bugs:
https://bugs.php.net/77613
Changed paths:
MM Zend/zend_API.c
MM Zend/zend_builtin_functions.c
MM Zend/zend_compile.c
MM Zend/zend_compile.h
MM Zend/zend_inheritance.c
MM ext/reflection/php_reflection.c
Diff:
diff --cc Zend/zend_API.c
index 0b74516,f191ca2..c03b6bf
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@@ -2317,8 -2344,10 +2318,9 @@@ ZEND_API int zend_register_functions(ze
if (ctor->common.fn_flags & ZEND_ACC_STATIC) {
zend_error(error_type, "Constructor %s::%s() cannot be static",
ZSTR_VAL(scope->name), ZSTR_VAL(ctor->common.function_name));
}
- ctor->common.fn_flags &= ~ZEND_ACC_ALLOW_STATIC;
}
if (dtor) {
+ dtor->common.fn_flags |= ZEND_ACC_DTOR;
if (dtor->common.fn_flags & ZEND_ACC_STATIC) {
zend_error(error_type, "Destructor %s::%s() cannot be static",
ZSTR_VAL(scope->name), ZSTR_VAL(dtor->common.function_name));
}
diff --cc Zend/zend_compile.c
index 1ebc7c1,03f8cf2..33e6e47
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@@ -6217,7 -6264,13 +6217,8 @@@ void zend_compile_class_decl(zend_ast *
/* Reset lineno for final opcodes and errors */
CG(zend_lineno) = ast->lineno;
- if (!(ce->ce_flags & ZEND_ACC_IMPLEMENT_TRAITS)) {
- /* For traits this check is delayed until after trait binding */
- zend_check_deprecated_constructor(ce);
- }
-
if (ce->constructor) {
+ ce->constructor->common.fn_flags |= ZEND_ACC_CTOR;
if (ce->constructor->common.fn_flags & ZEND_ACC_STATIC) {
zend_error_noreturn(E_COMPILE_ERROR, "Constructor %s::%s() cannot be static",
ZSTR_VAL(ce->name), ZSTR_VAL(ce->constructor->common.function_name));