#
de7c7efe |
| 06-Jan-2020 |
Nikita Popov |
Unify array and object dereferencability |
#
465e6f53 |
| 06-Jan-2020 |
Nikita Popov |
Split into fully_dereferencable and array_dereferencable |
#
cf5689e9 |
| 06-Jan-2020 |
Nikita Popov |
Split class_constant from constant production |
#
24e365f9 |
| 06-Jan-2020 |
Nikita Popov |
Make encapsed strings fully dereferencable This allows operations that were previously allowed on constant strings on interpolated strings as well. |
#
4cbffd89 |
| 01-Feb-2020 |
Akim Demaille |
Clean up the generation of the parsers Prefer '%define api.value.type' to '#define YYSTYPE', so that Bison know the type. Use '%code requires' to declare what is needed to defin
Clean up the generation of the parsers Prefer '%define api.value.type' to '#define YYSTYPE', so that Bison know the type. Use '%code requires' to declare what is needed to define the api.value.type (that code is output in the generated header before the generated definition of YYSTYPE). Prefer '%define api.prefix' inside the grammar file to '-p' outside, as anyway the functions defined in the file actually use this prefix. Prefer `%param` to both `%parse-param` and `%lex-param`. Closes GH-5138
show more ...
|
#
2127a37b |
| 01-Feb-2020 |
Akim Demaille |
Bison: enable all the warnings and fix them First, fix 5547d361208d90e12d53bb62bb2ffbbff9b93ca0: the definition of YFLAGS was not passed into the Makefile: AC_SUBST does not suffice, we
Bison: enable all the warnings and fix them First, fix 5547d361208d90e12d53bb62bb2ffbbff9b93ca0: the definition of YFLAGS was not passed into the Makefile: AC_SUBST does not suffice, we need PHP_SUBST_OLD. While at it, allow to pass variable and value at the same time. Then pass -Wall to bison, rather than only -Wempty-rules. Use %precedence where associativity is useless. Remove useless %precedence. GH-5138
show more ...
|
#
37d0f7d3 |
| 30-Jan-2020 |
Akim Demaille |
Use "%empty" in the parsers, instead of comments The annotation %empty is properly enforced: warnings when it's missing, and errors when it's inappropriate. Support for %empty was i
Use "%empty" in the parsers, instead of comments The annotation %empty is properly enforced: warnings when it's missing, and errors when it's inappropriate. Support for %empty was introduced in Bison 3.0. Pass -Wempty-rule to Bison. Closes GH-5134
show more ...
|
#
a73df8e5 |
| 29-Jan-2020 |
Nikita Popov |
Merge branch 'PHP-7.4' * PHP-7.4: Use "%define parse.error verbose"
|
#
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 ...
|
#
1caf0951 |
| 13-Jan-2020 |
Nikita Popov |
Handle one more case I missed |
#
5d869df7 |
| 13-Jan-2020 |
Nikita Popov |
Make class name references use the class_name production Throw a compile error for "static" references instead, where it isn't already the case. Also extract the code that does
Make class name references use the class_name production Throw a compile error for "static" references instead, where it isn't already the case. Also extract the code that does that -- we have quite a few places where we get a const class ref and require it to be default.
show more ...
|
#
2a3e37a4 |
| 13-Jan-2020 |
Nikita Popov |
Don't use yystrlen() This is unnecessary and not available when GLR is used. |
Revision tags: php-7.4.1, php-7.2.26, php-7.3.13, php-7.4.1RC1, 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 |
|
#
999e32b6 |
| 25-Sep-2019 |
Nikita Popov |
Implement union types According to RFC: https://wiki.php.net/rfc/union_types_v2 The type representation now makes use of both the pointer payload and the type mask at the same t
Implement union types According to RFC: https://wiki.php.net/rfc/union_types_v2 The type representation now makes use of both the pointer payload and the type mask at the same time. Additionall, zend_type_list is introduced as a new kind of pointer payload, which is used to store multiple class types. Each of the class types is a tagged pointer, which may be either a class name or class entry. The latter is only used for typed properties, while arguments/returns will instead use cache slots. A type list can contain a mix of both names and CEs at the same time, as not all classes may be resolvable. One thing this is missing is support for union types in arginfo and stubs, which I want to handle separately. I've also dropped the special object code from the JIT implementation for now -- I plan to add this back in a different form at a later time. For now I did not want to include non-trivial JIT changes together with large functional changes. Another possible piece of follow-up work is to implement "iterable" as an internal alias for "array|Traversable". I believe this will eliminate quite a few special-cases that had to be implemented. Closes GH-4838.
show more ...
|
Revision tags: php-7.2.23, php-7.3.10, php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1 |
|
#
8aff6627 |
| 09-Sep-2019 |
Christoph M. Becker |
Merge branch 'PHP-7.4' * PHP-7.4: new_variable '{' expr '}' is deprecated as well
|
#
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 |
|
#
a8792887 |
| 27-Aug-2019 |
Nikita Popov |
Merge branch 'PHP-7.4'
|
#
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 |
|
#
d4e31cc6 |
| 02-Aug-2019 |
Nikita Popov |
Merge branch 'PHP-7.4'
|
#
a4a535d8 |
| 02-Aug-2019 |
Nikita Popov |
Merge branch 'PHP-7.3' into PHP-7.4
|
#
e1934f85 |
| 02-Aug-2019 |
Nikita Popov |
Merge branch 'PHP-7.2' into PHP-7.3
|
#
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 |
|
#
eb766751 |
| 19-Jul-2019 |
Nikita Popov |
Merge branch 'PHP-7.4'
|
Revision tags: 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 |
#
193bcf96 |
| 15-Jul-2019 |
Nikita Popov |
Merge branch 'PHP-7.4'
|
#
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. |