#
89b2d886 |
| 24-May-2019 |
Nikita Popov |
Register class before fetching parent We want the class declaration to be available while compiling the parent class.
|
#
42d60add |
| 10-Jun-2019 |
Joe Watkins |
BIND_LEXICAL has a meaningless line number
|
#
006b1911 |
| 08-Jun-2019 |
Joe Watkins |
Fix #78132 wrong line number on ZEND_BIND_STATIC for lexical vars
|
#
67b84e45 |
| 31-May-2019 |
Nikita Popov |
Fixed uninitialized var warning Causes build failure on release+zts azure build. I'm rewriting this code to separate the if/else handling, because they don't really have anything in
Fixed uninitialized var warning Causes build failure on release+zts azure build. I'm rewriting this code to separate the if/else handling, because they don't really have anything in common anyway...
show more ...
|
#
fd23f910 |
| 27-May-2019 |
Nikita Popov |
BIND_STATIC of implicit binding may be undef Even though we don't need it at runtime, add the BIND_IMPLICIT flag to BIND_STATIC as well, so we can distinguish this case in type infer
BIND_STATIC of implicit binding may be undef Even though we don't need it at runtime, add the BIND_IMPLICIT flag to BIND_STATIC as well, so we can distinguish this case in type inference. This fixes a JIT miscompile in arrow_functions/002.phpt.
show more ...
|
#
e6fac86d |
| 24-May-2019 |
Nikita Popov |
Accept flags argument in zend_lookup_class_ex() Instead of a single boolean, so we have space for extension here.
|
#
d7f3844c |
| 24-May-2019 |
Nikita Popov |
Deprecate use of parent where no parent exists This deprecation is part of the covariance RFC.
|
#
afec3a92 |
| 09-May-2019 |
Nikita Popov |
Avoid early-binding on unresolved types Fixes bug #76451, and more importantly lays necessary groundwork for covariant/contravariant types. Bug #76451 is just an edge case, but once
Avoid early-binding on unresolved types Fixes bug #76451, and more importantly lays necessary groundwork for covariant/contravariant types. Bug #76451 is just an edge case, but once covariance is introduced this will become a common problem instead.
show more ...
|
#
f53b9939 |
| 20-May-2019 |
Dmitry Stogov |
Fixed bug #78014 (Preloaded classes may depend on non-preloaded classes due to unresolved consts)
|
Revision tags: php-7.1.27, php-7.3.3, php-7.2.16, php-7.3.3RC1, php-7.2.16RC1, php-7.2.15, php-7.3.2, php-7.2.15RC1, php-7.3.2RC1, php-5.6.40, php-7.1.26, php-7.3.1, php-7.2.14, php-7.2.14RC1, php-7.3.1RC1, php-5.6.39, php-7.1.25, php-7.2.13, php-7.0.33, php-7.3.0, php-7.1.25RC1, php-7.2.13RC1, php-7.3.0RC6, php-7.1.24, php-7.2.12, php-7.3.0RC5, php-7.1.24RC1, php-7.2.12RC1, php-7.3.0RC4, php-7.1.23, php-7.2.11, php-7.3.0RC3 |
|
#
e829d087 |
| 06-Oct-2018 |
CHU Zhaowei |
Implement spread operator in arrays RFC: https://wiki.php.net/rfc/spread_operator_for_array Closes GH-3640.
|
#
d0a56f70 |
| 09-May-2019 |
Nikita Popov |
Fixed bug #71030 Make sure to always fetch the RHS of a list assignment first, instead of special casing known self-assignments, which will not detect cases using references correctl
Fixed bug #71030 Make sure to always fetch the RHS of a list assignment first, instead of special casing known self-assignments, which will not detect cases using references correctly. As a side-effect, it is no longer possible to do something like byRef(list($x) = $y). This worked by accident previously, but only if $y was a CV and the self-assignment case did not trigger. However it shouldn't work for the same reason that byRef($x = $y) doesn't. Conversely byRef(list(&$x) = $y) and byRef($x =& $y) continue to be legal.
show more ...
|
#
09ea55cb |
| 09-Apr-2019 |
Nikita Popov |
Deprecate left-associative ternary Deprecate nesting ternary operators without explicit parentheses. RFC: https://wiki.php.net/rfc/ternary_associativity
|
#
f3e5bbe6 |
| 02-May-2019 |
Nikita Popov |
Implement arrow functions Per RFC: https://wiki.php.net/rfc/arrow_functions_v2 Co-authored-by: Levi Morrison <levim@php.net> Co-authored-by: Bob Weinand <bobwei9@hotmail.com>
|
#
339b0af4 |
| 12-Apr-2019 |
Nikita Popov |
Avoid misc uninitialized variable warnings
|
#
88a2268d |
| 11-Apr-2019 |
Dmitry Stogov |
Replace "ZEND_CALL_CTOR" hack by additional live-range
|
#
30df87f7 |
| 11-Apr-2019 |
Nikita Popov |
Generate ZEND_COUNT for sizeof() sizeof() is an alias of count(), so we should generate the same code for them.
|
#
3b23694a |
| 28-Mar-2019 |
Bob Weinand |
Deprecate unparenthesized concatenation and addition/subtraction Implementing RFC https://wiki.php.net/rfc/concatenation_precedence
|
#
7f72d771 |
| 28-Mar-2019 |
Nikita Popov |
Revert "Switch to bison location tracking" This reverts commit e528762c1c59bc0bd0bd6d78246c14269630cf0f. Dmitry reports that this has a non-trivial impact on parsing overhead, e
Revert "Switch to bison location tracking" This reverts commit e528762c1c59bc0bd0bd6d78246c14269630cf0f. Dmitry reports that this has a non-trivial impact on parsing overhead, especially on 32-bit systems. As we don't have a strong need for this change right now, I'm reverting it. See also comments on https://github.com/php/php-src/commit/e528762c1c59bc0bd0bd6d78246c14269630cf0f.
show more ...
|
#
e528762c |
| 15-Mar-2019 |
Nikita Popov |
Switch to bison location tracking Locations for AST nodes are now tracked with the help of bison location tracking. This is more accurate than what we currently do and easier to exte
Switch to bison location tracking Locations for AST nodes are now tracked with the help of bison location tracking. This is more accurate than what we currently do and easier to extend with more information. A zend_ast_loc structure is introduced, which is used for the location stack. Currently it only holds the start lineno, but can be extended to also hold end lineno and offset/column information in the future. All AST constructors now accept a zend_ast_loc* as first argument, and will use it to determine their lineno. Previously this used either the CG(zend_lineno), or the smallest AST lineno of child nodes. On the parser side, the location structure for a whole rule can be obtained using the &@$ character salad.
show more ...
|
#
c7920aba |
| 14-Mar-2019 |
Xinchen Hui |
Fixed bug #77738 (Nullptr deref in zend_compile_expr)
|
#
deb44d40 |
| 04-Mar-2019 |
Nikita Popov |
Revert "Detect invalid uses of parent:: during compilation" This reverts commit a9e6667817c38f22f4645ec5b4e5c6b0e4b928fa. Breakage found in the wild: Mockery uses a parent:: call in
Revert "Detect invalid uses of parent:: during compilation" This reverts commit a9e6667817c38f22f4645ec5b4e5c6b0e4b928fa. Breakage found in the wild: Mockery uses a parent:: call in the implementation regardless of whether the class has a parent or not: https://github.com/mockery/mockery/blob/4324afeaf9d95b492507e6587abb3f024e2576de/library/Mockery/Mock.php#L600 This change is not worth the compat break in 7.4.
show more ...
|
#
94d3e401 |
| 27-Feb-2019 |
Bob Weinand |
Delay array to string conversion notice until runtime
|
#
4ac954ac |
| 25-Feb-2019 |
Xinchen Hui |
Fixed compiler warning
|
#
1c22ace0 |
| 25-Feb-2019 |
Xinchen Hui |
Fixed bug #77660 (Segmentation fault on break 2147483648)
|
#
b33fa18e |
| 20-Feb-2019 |
Peter Kokot |
Remove unused PHP_AC_BROKEN_SPRINTF and AC_ZEND_BROKEN_SPRINTF The sprintf function has been normalized to php_sprintf via 61364b5bb172fa512c871b795c2613b1b587e4cd. This patch r
Remove unused PHP_AC_BROKEN_SPRINTF and AC_ZEND_BROKEN_SPRINTF The sprintf function has been normalized to php_sprintf via 61364b5bb172fa512c871b795c2613b1b587e4cd. This patch removes the checks to make a custom sprintf function The ZEND_BROKEN_SPRINTF has been removed and the hardcoded #define zend_sprintf sprintf is used. The php_sprintf and zend_sprintf are now symbols to sprintf. This patch now removes the custom PHP definitions of the php_sprintf and zend_sprintf functions in favor of the C99 sprintf which is also standardized in C89 already. Once, on some systems sprintf didn't behave in same way.
show more ...
|