#
c803499e |
| 22-May-2020 |
George Peter Banyard |
Remove depreacted curly brace offset syntax Closes GH-5221
|
#
aec4c0fd |
| 27-Mar-2020 |
Máté Kocsis |
Add support for the mixed type RFC: https://wiki.php.net/rfc/mixed_type_v2 Closes GH-5313 Co-authored-by: Dan Ackroyd <danack@basereality.com>
|
#
4f47ba99 |
| 19-May-2020 |
Nikita Popov |
Fix bug #79603, by retrying on RTD key collision This is a non-intrusive fix for 7.4, still trying to find a good solution for master. Closes GH-5597.
|
#
c6a6ca07 |
| 13-May-2020 |
Nikita Popov |
Use zend_zval_type_name() API where possible Rather than zend_get_type_by_const(Z_TYPE_P()).
|
#
5bc1e224 |
| 01-Apr-2020 |
Nikita Popov |
Make numeric operations on resources, arrays and objects type errors RFC: https://wiki.php.net/rfc/arithmetic_operator_type_checks Closes GH-5331.
|
#
53eee290 |
| 27-Apr-2020 |
Nikita Popov |
Completely remove disabled functions from function table Currently, disabling a function only replaces the internal function handler with one that throws a warning, and a few places
Completely remove disabled functions from function table Currently, disabling a function only replaces the internal function handler with one that throws a warning, and a few places in the engine special-case such functions, such as function_exists. This leaves us with a Schrödinger's function, which both does not exist (function_exists returns false) and does exist (you cannot define a function with the same name). In particular, this prevents the implementation of robust polyfills, as reported in https://bugs.php.net/bug.php?id=79382: if (!function_exists('getallheaders')) { function getallheaders(...) { ... } } If getallheaders() is a disabled function, this code will break. This patch changes disable_functions to remove the functions from the function table completely. For all intents and purposes, it will look like the function does not exist. This also renders two bits of PHP functionality obsolete and thus deprecated: * ReflectionFunction::isDisabled(), as it will no longer be possible to construct the ReflectionFunction of a disabled function in the first place. * get_defined_functions() with $exclude_disabled=false, as get_defined_functions() now never returns disabled functions. Fixed bug #79382. Closes GH-5473.
show more ...
|
#
34c460f3 |
| 26-Apr-2020 |
Gabriel Caruso |
Check `__set_state` structure Fix Bug #79521. Closes GH-5462.
|
#
7ce8c5ad |
| 26-Apr-2020 |
Gabriel Caruso |
Slipt error messages while checking magic methods attributes Closes GH-5465
|
#
19e886d9 |
| 24-Apr-2020 |
Nikita Popov |
Avoid throw expression leaks Mark "throw" used in expression context with a flag, and don't treat it as a BB terminator in that case. This prevents us from optimizing away the follow
Avoid throw expression leaks Mark "throw" used in expression context with a flag, and don't treat it as a BB terminator in that case. This prevents us from optimizing away the following opcodes as unreachable, which may result in live ranges being dropped incorrectly. Close GH-5450.
show more ...
|
#
fd00c7cf |
| 27-Apr-2020 |
Nikita Popov |
Pass existing lcname to check_magic_method_implementation
|
#
90db6f2c |
| 24-Apr-2020 |
Levi Morrison |
Add case insensitive find_ptr hash functions - zend_hash_find_ptr_lc(ht, zend_string *key) - zend_hash_str_find_ptr_lc(ht, const char *str, size_t len) Note that zend_hash_str
Add case insensitive find_ptr hash functions - zend_hash_find_ptr_lc(ht, zend_string *key) - zend_hash_str_find_ptr_lc(ht, const char *str, size_t len) Note that zend_hash_str_find_ptr_lc used to exist in zend_compile.c as zend_hash_find_ptr_lc. When exporting this I figured it was best to use the same conventions as the rest of zend_hash.h.
show more ...
|
#
6f908a0b |
| 23-Apr-2020 |
Gabriel Caruso |
Check Serialization magic methods structure Closes GH-5441
|
#
786e0ae5 |
| 24-Apr-2020 |
Nikita Popov |
Use zend_make_tmp_result() helper in more places
|
#
f264bf2d |
| 24-Apr-2020 |
Nikita Popov |
Accept result znode in zend_compile_class_decl() Make this use the same pattern we use everywhere else.
|
#
f6524075 |
| 23-Apr-2020 |
Ilija Tovilo |
Use return in compile_expr for consistency
|
#
0810fcd0 |
| 18-Mar-2020 |
Ilija Tovilo |
Make throw statement an expression RFC: https://wiki.php.net/rfc/throw_expression This has an open issue with temporaries that are live at the time of the throw being leaked. La
Make throw statement an expression RFC: https://wiki.php.net/rfc/throw_expression This has an open issue with temporaries that are live at the time of the throw being leaked. Landing this now for easier testing and will revert if we cannot resolve the issue. Closes GH-5279.
show more ...
|
#
08c5c69e |
| 17-Apr-2020 |
Nikita Popov |
Remove ZEND_ACC_DTOR flag This is only used in reflection, where doing a simple string check is acceptable. I'm also dropping the "dtor" printing in the reflection dump. Dto
Remove ZEND_ACC_DTOR flag This is only used in reflection, where doing a simple string check is acceptable. I'm also dropping the "dtor" printing in the reflection dump. Dtors are just one of many magic methods, I don't think there's a point in explicitly highlighting them, when the name is already unambiguous.
show more ...
|
#
b10b73eb |
| 16-Apr-2020 |
Gabriel Caruso |
Fix magic method name
|
#
75a58ba5 |
| 15-Apr-2020 |
Gabriel Caruso |
Improve error messages for magic methods by appending method's class Closes GH-5397.
|
#
4fb705a0 |
| 14-Apr-2020 |
Nikita Popov |
Add zend_string_concat2 API
|
#
bac5137e |
| 14-Apr-2020 |
Nikita Popov |
Add zend_create_member_string() API This is a recurring pattern.
|
#
d030ddb2 |
| 09-Apr-2020 |
Nikita Popov |
Export the zend_string_concat3() API
|
#
f1dd8b2a |
| 01-Apr-2020 |
Nikita Popov |
Make division by zero error check more accurate For division (rather than modulus) we should check the double value, otherwise the result might be zero after integer truncation, but
Make division by zero error check more accurate For division (rather than modulus) we should check the double value, otherwise the result might be zero after integer truncation, but not zero as a floating point value.
show more ...
|
#
1ed132e2 |
| 01-Apr-2020 |
Nikita Popov |
Unify checks for binary operator errors for ct eval Move everything into one function and share it with opcache. This fixes some discrepancies.
|
Revision tags: php-7.3.18, php-7.4.4, php-7.2.29, php-7.3.16, php-7.4.4RC1, php-7.3.16RC1, php-7.4.3, php-7.2.28, php-7.3.15RC1, php-7.4.3RC1, php-7.3.15, php-7.2.27, php-7.4.2, php-7.3.14 |
|
#
f74e30c0 |
| 09-Jan-2020 |
Nikita Popov |
Check abstract method signatures coming from traits RFC: https://wiki.php.net/rfc/abstract_trait_method_validation Closes GH-5068.
|