Revision tags: php-8.0.0, php-7.3.25, php-7.4.13, php-8.0.0RC5, php-7.4.13RC1, php-8.0.0RC4, php-7.3.25RC1, php-7.4.12, php-8.0.0RC3, php-7.3.24, php-8.0.0RC2, php-7.4.12RC1, php-7.3.24RC1, php-7.2.34, php-8.0.0rc1, php-7.4.11, php-7.3.23, php-8.0.0beta4, php-7.4.11RC1, php-7.3.23RC1 |
|
#
9e3e8345 |
| 09-Sep-2020 |
Hailong Zhao |
Remove the duplicate line in zend_ast.c Closes GH-6107.
|
#
09904242 |
| 06-Sep-2020 |
Tyson Andre |
Avoid gap in AST_CLASS child nodes for attributes See https://github.com/nikic/php-ast/pull/181 > Hm, I'm thinking it would make more sense to change the structure in php-src. >
Avoid gap in AST_CLASS child nodes for attributes See https://github.com/nikic/php-ast/pull/181 > Hm, I'm thinking it would make more sense to change the structure in php-src. > All the function types have consistent AST structure, but there's no reason at > all why classes should be consistent with functions. It's unusual to have an unused child node between other child nodes that are used (for name, extends, implements, and attributes of AST_CLASS) > That gap is a leftover from a previous refactoring. An earlier version of > attributes extended `zend_ast_decl` with a new member called `attributes` and > therefore did not need to handle functions and classes in different ways. Closes GH-6088
show more ...
|
Revision tags: php-8.0.0beta3, php-7.4.10, php-7.3.22, php-8.0.0beta2, php-7.3.22RC1, php-7.4.10RC1 |
|
#
8b37c1e9 |
| 15-Aug-2020 |
Benjamin Eberlei |
Change Attribute Syntax from @@ to #[]
|
#
fa8d9b11 |
| 28-Aug-2020 |
George Peter Banyard |
Improve type declarations for Zend APIs Voidification of Zend API which always succeeded Use bool argument types instead of int for boolean arguments Use bool return type for functio
Improve type declarations for Zend APIs Voidification of Zend API which always succeeded Use bool argument types instead of int for boolean arguments Use bool return type for functions which return true/false (1/0) Use zend_result return type for functions which return SUCCESS/FAILURE as they don't follow normal boolean semantics Closes GH-6002
show more ...
|
Revision tags: php-8.0.0beta1, php-7.4.9, php-7.2.33, php-7.3.21, php-8.0.0alpha3, php-7.4.9RC1, php-7.3.21RC1, php-7.4.8, php-7.2.32, php-8.0.0alpha2, php-7.3.20, php-8.0.0alpha1, php-7.4.8RC1, php-7.3.20RC1, php-7.4.7, php-7.3.19, php-7.4.7RC1, php-7.3.19RC1, php-7.4.6, php-7.2.31, php-7.4.6RC1, php-7.3.18RC1, php-7.2.30, php-7.4.5, php-7.3.17 |
|
#
d92229d8 |
| 06-Apr-2020 |
Nikita Popov |
Implement named parameters From an engine perspective, named parameters mainly add three concepts: * The SEND_* opcodes now accept a CONST op2, which is the argument nam
Implement named parameters From an engine perspective, named parameters mainly add three concepts: * The SEND_* opcodes now accept a CONST op2, which is the argument name. For now, it is looked up by linear scan and runtime cached. * This may leave UNDEF arguments on the stack. To avoid having to deal with them in other places, a CHECK_UNDEF_ARGS opcode is used to either replace them with defaults, or error. * For variadic functions, EX(extra_named_params) are collected and need to be freed based on ZEND_CALL_HAS_EXTRA_NAMED_PARAMS. RFC: https://wiki.php.net/rfc/named_params Closes GH-5357.
show more ...
|
#
470d1696 |
| 02-Jul-2020 |
Theodore Brown |
Implement Shorter Attribute Syntax RFC: https://wiki.php.net/rfc/shorter_attribute_syntax Closes GH-5796. Co-authored-by: Martin Schröder <m.schroeder2007@gmail.com>
|
#
3b5b2881 |
| 27-Jul-2020 |
Nikita Popov |
Add AST export support for nullsafe operator Fixes oss-fuzz #24403 and variants.
|
#
9fa1d133 |
| 09-Apr-2020 |
Ilija Tovilo |
Implement match expression RFC: https://wiki.php.net/rfc/match_expression_v2 Closes GH-5371.
|
#
eaf6303a |
| 07-Jul-2020 |
Nikita Popov |
Fixed bug #79790 I haven't tracked down in detail where the interaction with increment_function comes from, but the root problem here is failure to handle the illegal offset type exc
Fixed bug #79790 I haven't tracked down in detail where the interaction with increment_function comes from, but the root problem here is failure to handle the illegal offset type exception.
show more ...
|
#
4a0d6901 |
| 06-Jul-2020 |
moliata <7127204+moliata@users.noreply.github.com> |
refactor: class constants parsing As part of my work on typed class constants, I wanted to make a separate pull request for unrelated changes. These include: * Moving
refactor: class constants parsing As part of my work on typed class constants, I wanted to make a separate pull request for unrelated changes. These include: * Moving from ast->child[0]->attr to ast->attr * Making zend_ast_export_ex() export class constants' visibility * Extracting an additional zend_compile_class_const_group() function Closes GH-5812.
show more ...
|
#
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 ...
|
#
bb3d4456 |
| 15-Jun-2020 |
Dmitry Stogov |
Change GC_COLLECTABLE flag into GC_NOT_COLLECTABLE to simplify GC_MAY_LEAK() check
|
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>
|
#
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.
|
#
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>
|
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 |
|
#
28a30f7a |
| 19-Feb-2020 |
Nikita Popov |
Handle static return type in AST printer Fixes OSS-Fuzz #20782.
|
Revision tags: php-7.4.3, php-7.2.28, php-7.3.15RC1, php-7.4.3RC1 |
|
#
58b17906 |
| 03-Feb-2020 |
Nikita Popov |
Apply tidy formatting Mostly reindent PHP scripts to spaces.
|
Revision tags: php-7.3.15, php-7.2.27, php-7.4.2, php-7.3.14 |
|
#
0a2f6c55 |
| 10-Jan-2020 |
Nikita Popov |
Move undefined constant error into get_constant_ex All the other error conditions are already handled in there, so this one should be as well.
|
Revision tags: php-7.3.14RC1, php-7.4.2RC1, php-7.4.1, php-7.2.26, php-7.3.13, php-7.4.1RC1 |
|
#
fac43d65 |
| 04-Dec-2019 |
Nikita Popov |
Fix AST printing of nullable builtin types Fixes oss-fuzz #19109.
|
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 |
|
#
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 ...
|
#
14bdb0cf |
| 04-Nov-2019 |
Máté Kocsis |
Fix consistency issues with array accesses warnings/exceptions * Change a number of "resource used as offset" notices to warnings, which were previously missed. * Throw the "res
Fix consistency issues with array accesses warnings/exceptions * Change a number of "resource used as offset" notices to warnings, which were previously missed. * Throw the "resource used as offset" warning for isset() as well. * Make array_key_exists() behavior with regard to different key types consistent with isset() and normal array accesses. All key types now use the usual coercions and array/object keys throw TypeError. Closes GH-4887.
show more ...
|
#
0ebf2bdb |
| 26-Sep-2019 |
Nikita Popov |
Convert "Illegal offset type" warnings to exceptions
|
#
f2b09969 |
| 26-Sep-2019 |
Nikita Popov |
Convert "cannot add element" warning to exception
|
#
8a9df885 |
| 26-Sep-2019 |
Nikita Popov |
Fix null-pointer deref in if stmt printing Fixes OSS-Fuzz #17721.
|