#
6a195cac |
| 02-Jul-2020 |
Nikita Popov |
Treat attribute argument lists like normal argument lists Allow trailing comma. Syntactically allow unpacking, but forbid it during compilation. The trailing comma test-case is
Treat attribute argument lists like normal argument lists Allow trailing comma. Syntactically allow unpacking, but forbid it during compilation. The trailing comma test-case is adopted from GH-5796.
show more ...
|
#
053ef28b |
| 28-Jun-2020 |
Martin Schröder |
Implement Attribute Amendments. RFC: https://wiki.php.net/rfc/attribute_amendments Support for attribute grouping is left out, because the short attribute syntax RFC will likely
Implement Attribute Amendments. RFC: https://wiki.php.net/rfc/attribute_amendments Support for attribute grouping is left out, because the short attribute syntax RFC will likely make it obsolete. Closes GH-5751.
show more ...
|
#
1314ccbf |
| 26-Jun-2020 |
Nikita Popov |
Cache __unserialize() instead of unserialize() We should use these cache slots for the new object serialization mechanism rather than the old one. |
#
c5caa051 |
| 26-Jun-2020 |
Nikita Popov |
Fixed bug #79740 |
#
48e16a9d |
| 18-Jun-2020 |
moliata |
Use ZEND_TOSTRING_FUNC_NAME Closes GH-5736. |
#
45d1c38d |
| 17-Jun-2020 |
moliata |
Use zend_is_constructor() |
#
92c4b065 |
| 16-Jun-2020 |
Christoph M. Becker |
Use ZEND_UNREACHABLE() instead of ZEND_ASSERT(0) Instead of marking unreachable code with `ZEND_ASSERT(0)`, we introduce `ZEND_UNREACHABLE()`, so that MSVC which does not consider `asser
Use ZEND_UNREACHABLE() instead of ZEND_ASSERT(0) Instead of marking unreachable code with `ZEND_ASSERT(0)`, we introduce `ZEND_UNREACHABLE()`, so that MSVC which does not consider `assert(0)` to mark unreachable code does no longer trigger C4715[1] warnings in debug builds. This may be useful for other compilers as well. [1] <https://docs.microsoft.com/de-de/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4715?view=vs-2019>
show more ...
|
#
83a77015 |
| 08-Jun-2020 |
twosee |
Add helper APIs for maybe-interned string creation Add ZVAL_CHAR/RETVAL_CHAR/RETURN_CHAR as a shortcut for using ZVAL_INTERNED_STRING and ZSTR_CHAR. Add zend_string_init_fast()
Add helper APIs for maybe-interned string creation Add ZVAL_CHAR/RETVAL_CHAR/RETURN_CHAR as a shortcut for using ZVAL_INTERNED_STRING and ZSTR_CHAR. Add zend_string_init_fast() as a helper for the empty string / one char interned string / zend_string_init() pattern. Also add corresponding ZVAL_STRINGL_FAST etc macros. Closes GH-5684.
show more ...
|
#
b03cafd1 |
| 05-Jun-2020 |
Nikita Popov |
Fix bug #77966: Cannot alias a method named "namespace" This is a bit tricky: In this cases we have "namespace as", which means that we will only recognize "namespace" as an identifier w
Fix bug #77966: Cannot alias a method named "namespace" This is a bit tricky: In this cases we have "namespace as", which means that we will only recognize "namespace" as an identifier when the lookahead token is already at the "as". This means that zend_lex_tstring picks up the wrong identifier. We solve this by actually assigning the identifier as the semantic value on the parser stack -- as in almost all cases we will not actually need the identifier, this is just an (offset, size) reference, not a copy of the string. Additionally, we need to teach the lexer feedback mechanism used by tokenizer TOKEN_PARSE mode to apply feedback to something other than the very last token. To that purpose we pass through the token text and check the tokens in reverse order to find the right one. Closes GH-5668.
show more ...
|
#
88355dd3 |
| 07-Jun-2020 |
twosee |
Constify char * arguments of APIs Closes GH-5676. |
#
7d6a0ba8 |
| 07-Jun-2020 |
twosee |
Fix expression warnings and break warnings Close GH-5675. |
Revision tags: php-7.4.5RC1, php-7.3.17RC1 |
|
#
064b4644 |
| 24-Mar-2020 |
Nikita Popov |
Implement "Constructor Promotion" RFC RFC: https://wiki.php.net/rfc/constructor_promotion Closes GH-5291. |
#
a7908c2d |
| 24-May-2020 |
Benjamin Eberlei |
Add Attributes Co-authored-by: Martin Schröder <m.schroeder2007@gmail.com> |
#
dd6e54b7 |
| 29-May-2020 |
Máté Kocsis |
Fix #79652 Ensure that the mixed type is displayed instead of the union of all types Closes GH-56430 |
#
baa28588 |
| 26-May-2020 |
Nikita Popov |
Fix variable type This is no longer a boolean. |
#
9b332725 |
| 25-May-2020 |
Tyson Andre |
Allow generators to have a real return type of `mixed` or `object` Fixes an edge case overlooked in https://github.com/php/php-src/pull/5313 Generators are objects, so `object`
Allow generators to have a real return type of `mixed` or `object` Fixes an edge case overlooked in https://github.com/php/php-src/pull/5313 Generators are objects, so `object` should have also been allowed in addition to `iterable` and `Traversable` Closes GH-5626
show more ...
|
#
23ee4d4b |
| 03-Apr-2020 |
Max Semenik |
Support catching exceptions without capturing them to variables RFC: https://wiki.php.net/rfc/non-capturing_catches Closes GH-5345. |
#
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> |
#
c2068e95 |
| 20-May-2020 |
Nikita Popov |
Merge branch 'PHP-7.4' * PHP-7.4: Fix bug #79603, by retrying on RTD key collision
|
#
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. |