#
5265fabc |
| 28-Jan-2020 |
Akim Demaille |
Use "%define parse.error verbose" The YYERROR_VERBOSE macro will no longer be supported in Bison 3.6. It was superseded by the "%error-verbose" directive in Bison 1.875 (2003-01-01).
Use "%define parse.error verbose" The YYERROR_VERBOSE macro will no longer be supported in Bison 3.6. It was superseded by the "%error-verbose" directive in Bison 1.875 (2003-01-01). Bison 2.6 (2012-07-19) clearly announced that support for YYERROR_VERBOSE would be removed. Note that since Bison 3.0 (2013-07-25), "%error-verbose" is deprecated in favor of "%define parse.error verbose". Closes GH-5125.
show more ...
|
Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3, php-7.2.23, php-7.3.10, php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1 |
|
#
bcf9d1e9 |
| 09-Sep-2019 |
Christoph M. Becker |
new_variable '{' expr '}' is deprecated as well Curly brace syntax for accessing array elements and string offsets is deprecated [1]; this should also be the case for respective `new`
new_variable '{' expr '}' is deprecated as well Curly brace syntax for accessing array elements and string offsets is deprecated [1]; this should also be the case for respective `new` expressions. This issue has been reported by brzuchal@php.net. [1] <https://wiki.php.net/rfc/deprecate_curly_braces_array_access>
show more ...
|
Revision tags: php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9 |
|
#
e5c7f7100 |
| 27-Aug-2019 |
Nikita Popov |
Don't specify precedence for T_INC/T_DEC As these do not operate on expressions, precedence is meaningless for them.
|
Revision tags: php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2 |
|
#
85e8ccd5 |
| 02-Aug-2019 |
Nikita Popov |
Fixed bug #78363
|
Revision tags: php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1, php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3, php-7.3.7, php-7.2.20, php-7.4.0alpha2, php-7.3.7RC3, php-7.3.7RC2, php-7.2.20RC2, php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1, php-7.2.19, php-7.3.6, php-7.1.30, php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1, php-7.2.17, php-7.3.4, php-7.1.28, php-7.3.4RC1, php-7.2.17RC1 |
|
#
d574df63 |
| 13-Mar-2019 |
rjhdby |
Deprecate alternative array access syntax RFC: https://wiki.php.net/rfc/deprecate_curly_braces_array_access
|
#
9ad094e3 |
| 15-Jul-2019 |
Nikita Popov |
Emit T_BAD_CHARACTER for unexpected characters Avoid having holes in the token stream which are annoying and inefficient to reconstruct on the consumer side.
|
#
48ca5a1e |
| 05-Jul-2019 |
Dmitry Stogov |
Replace ZEND_ASSIGN_ADD (and others) by ZEND_ASSIGN_OP, ZEND_ASSIGN_DIM_OP, ZEND_ASSGIN_OBJ_OP and ZEND_ASSIGN_STATIC_PROP_OP
|
#
852ab5d8 |
| 11-Jun-2019 |
Nikita Popov |
Use %define api.pure instead of %pure-parser %pure-parser is deprecated. In our case there is no difference between true & full, as we don't use locations.
|
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.
|
#
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>
|
#
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 ...
|
#
2a04efe0 |
| 15-Mar-2019 |
Nikita Popov |
Remove unnecessary precedence/associativity annotations Some of these are entirely unnecessary. Some specify an associativity for operators where the concept doesn't make sense and has n
Remove unnecessary precedence/associativity annotations Some of these are entirely unnecessary. Some specify an associativity for operators where the concept doesn't make sense and has no effect: Explicit associativity is only meaningful for binary operators. For unary operators and constrained operations like instanceof or assignment the associativity specification has no effect and only serves to confuse. For example assignments were specified as %left, even though they will actually behave as right-associative due to the variable requirement on the LHS. Similarly instanceof was specified as %nonassoc, but it will behave as left-associative, due to the restrictions places on the RHS.
show more ...
|
#
92ac598a |
| 22-Jan-2019 |
Peter Kokot |
Remove local variables This patch removes the so called local variables defined per file basis for certain editors to properly show tab width, and similar settings. These are mainly
Remove local variables This patch removes the so called local variables defined per file basis for certain editors to properly show tab width, and similar settings. These are mainly used by Vim and Emacs editors yet with recent changes the once working definitions don't work anymore in Vim without custom plugins or additional configuration. Neither are these settings synced across the PHP code base. A simpler and better approach is EditorConfig and fixing code using some code style fixing tools in the future instead. This patch also removes the so called modelines for Vim. Modelines allow Vim editor specifically to set some editor configuration such as syntax highlighting, indentation style and tab width to be set in the first line or the last 5 lines per file basis. Since the php test files have syntax highlighting already set in most editors properly and EditorConfig takes care of the indentation settings, this patch removes these as well for the Vim 6.0 and newer versions. With the removal of local variables for certain editors such as Emacs and Vim, the footer is also probably not needed anymore when creating extensions using ext_skel.php script. Additionally, Vim modelines for setting php syntax and some editor settings has been removed from some *.phpt files. All these are mostly not relevant for phpt files neither work properly in the middle of the file.
show more ...
|
#
a81202ac |
| 30-Jan-2019 |
Zeev Suraski |
Adios, yearly copyright ranges
|
#
a50198d0 |
| 15-Jan-2019 |
Nikita Popov |
Implement ??= operator RFC: https://wiki.php.net/rfc/null_coalesce_equal_operator $a ??= $b is $a ?? ($a = $b), with the difference that $a is only evaluated once, to the degree
Implement ??= operator RFC: https://wiki.php.net/rfc/null_coalesce_equal_operator $a ??= $b is $a ?? ($a = $b), with the difference that $a is only evaluated once, to the degree that this is possible. In particular in $a[foo()] ?? $b function foo() is only ever called once. However, the variable access themselves will be reevaluated.
show more ...
|
#
e219ec14 |
| 07-Jan-2019 |
Nikita Popov |
Implement typed properties RFC: https://wiki.php.net/rfc/typed_properties_v2 This is a squash of PR #3734, which is a squash of PR #3313. Co-authored-by: Bob Weinand <bobwe
Implement typed properties RFC: https://wiki.php.net/rfc/typed_properties_v2 This is a squash of PR #3734, which is a squash of PR #3313. Co-authored-by: Bob Weinand <bobwei9@hotmail.com> Co-authored-by: Joe Watkins <krakjoe@php.net> Co-authored-by: Dmitry Stogov <dmitry@zend.com>
show more ...
|
#
290adc41 |
| 04-Jan-2019 |
Nikita Popov |
Introduce separate ZEND_AST_CLASS_NAME AST node Instead of representing this as a ZEND_AST_CLASS_CONST with a "class" constant name. Class constants and ::class are unrelated fe
Introduce separate ZEND_AST_CLASS_NAME AST node Instead of representing this as a ZEND_AST_CLASS_CONST with a "class" constant name. Class constants and ::class are unrelated features that happen to share syntax, so represent and handle them separately.
show more ...
|
#
9afce019 |
| 01-Nov-2018 |
Zeev Suraski |
Future-proof email addresses
|
#
54dc07f3 |
| 01-Nov-2018 |
Zeev Suraski |
Update email addresses. We're still @Zend, but future proofing it...
|
Revision tags: php-7.1.23RC1, php-7.2.11RC1, php-7.3.0RC2, php-5.6.38, php-7.1.22, php-7.3.0RC1, php-7.2.10, php-7.0.32, php-7.1.22RC1, php-7.3.0beta3, php-7.2.10RC1 |
|
#
b8828926 |
| 20-Aug-2018 |
Dmitry Stogov |
Avoid hash lookups in BIND_STATIC and BIND_LEXICAL opcode handlers. Encode static variable offset into opline->extended_value.
|
Revision tags: php-7.1.21, php-7.2.9, php-7.3.0beta2, php-7.1.21RC1, php-7.3.0beta1, php-7.2.9RC1, php-5.6.37, php-7.1.20, php-7.3.0alpha4, php-7.0.31, php-7.2.8, php-7.1.20RC1, php-7.2.8RC1, php-7.3.0alpha3 |
|
#
8d3f8ca1 |
| 03-Jul-2018 |
Peter Kokot |
Remove unused Git attributes ident The $Id$ keywords were used in Subversion where they can be substituted with filename, last revision number change, last changed date, and last use
Remove unused Git attributes ident The $Id$ keywords were used in Subversion where they can be substituted with filename, last revision number change, last changed date, and last user who changed it. In Git this functionality is different and can be done with Git attribute ident. These need to be defined manually for each file in the .gitattributes file and are afterwards replaced with 40-character hexadecimal blob object name which is based only on the particular file contents. This patch simplifies handling of $Id$ keywords by removing them since they are not used anymore.
show more ...
|
#
66cf76ee |
| 24-Jun-2018 |
Nikita Popov |
Remove expr_without_variable We no longer need this distinction.
|