History log of /PHP-8.2/Zend/zend_compile.c (Results 1 – 25 of 2545)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 18cdfd3f 07-Feb-2024 Ilija Tovilo

Skip frameless functions with zend_execute_internal

zend_execute_internal is used to intercept function calls. We must use the
DO_FCALL opcode in this instance.


# 631bc816 06-Feb-2024 Ilija Tovilo

Implement stackless internal function calls

Co-authored-by: Dmitry Stogov <dmitry@zend.com>

Closes GH-12461


# fe064d7f 19-Jan-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-13142: Undefined variable name is shortened when contains \0

Uses the new %S formatter and introduces the necessary changes and
helpers.


# ffc250d2 09-Jan-2024 Ilija Tovilo

Add runtime type inference verification

Co-authored-by: Dmitry Stogov <dmitry@zend.com>

Closes GH-12930


# d84ed03a 13-Jan-2024 Máté Kocsis

Improve error messages related to void/never return types of methods


# 012ec21d 24-Dec-2023 Máté Kocsis

Remove unused parameter from zend_compile_typename()

The force_allow_null parameter is always false, therefore it is not needed. This simplification paves the road for deprecating implicitly

Remove unused parameter from zend_compile_typename()

The force_allow_null parameter is always false, therefore it is not needed. This simplification paves the road for deprecating implicitly nullable parameter types.

show more ...


# 6aa70b57 10-Dec-2023 Arnaud Le Blanc

WS


# b1516d95 11-Nov-2023 Arnaud Le Blanc

Clarify the stack limit exception message

Make it clearer why the size is not exactly zend.max_allowed_stack_size


# 4ba56999 02-Oct-2023 Ilija Tovilo

Fix invalid returned opcode for memoized expressions

Closes GH-12345


# 011071a3 11-Sep-2023 Ilija Tovilo

Improve invalid cpp modifier message

The ZEND_MODIFIER_TARGET_CPP should really have been called _PARAM, but we
shouldn't break API at this point.

Fixes GH-12069
Closes GH-1

Improve invalid cpp modifier message

The ZEND_MODIFIER_TARGET_CPP should really have been called _PARAM, but we
shouldn't break API at this point.

Fixes GH-12069
Closes GH-12175

show more ...


# 782ffd76 22-Aug-2023 Cristian Rodríguez

Use a single version of strnlen (#12015)

* Zend: Make zend_strnlen available for use outside zend_compile

* exif: remove local php_strnlen, use zend_strnlen instead

* main

Use a single version of strnlen (#12015)

* Zend: Make zend_strnlen available for use outside zend_compile

* exif: remove local php_strnlen, use zend_strnlen instead

* main: remove local strnlen, use zend_strnlen instead

* phar: remove local strnlen, use zend_strnlen

show more ...


# 7f1c3bf0 18-Aug-2023 ju1ius

Adds support for DNF types in internal functions and properties (#11969)

Note that this does not add support for items generated by gen_stubs,
only for items registered dynamically via

Adds support for DNF types in internal functions and properties (#11969)

Note that this does not add support for items generated by gen_stubs,
only for items registered dynamically via the Zend API.

Closes GH-10120

show more ...


# db4dba67 09-Aug-2023 Ilija Tovilo

Move opnum_start for goto for clarification (#11911)

opnum_start denotes the start of the ZEND_FREE block of skipped consuming
opcodes. Storing the number before zend_compile_expr(..., l

Move opnum_start for goto for clarification (#11911)

opnum_start denotes the start of the ZEND_FREE block of skipped consuming
opcodes. Storing the number before zend_compile_expr(..., label_ast) makes it
seem like it denotes the start of the label block. However, label_ast must only
be a zval string AST, and as such never results in an actual opcode.

show more ...


# 1057cce1 04-Jul-2023 Ilija Tovilo

Always memoize calls in lhs of coalesce assignment

We don't want to invoke calls twice, even if they are considered "variables",
i.e. might be writable if returning a reference. Function

Always memoize calls in lhs of coalesce assignment

We don't want to invoke calls twice, even if they are considered "variables",
i.e. might be writable if returning a reference. Function calls behave the same
in all BP contexts so they don't need to be invoked twice. The singular
exception to this is nullsafe coalesce in isset/empty, because it needs to
return false/true respectively when short-circuited. However, since nullsafe
calls are not allwed in write context we may ignore this problem.

Closes GH-11592

show more ...


# 3e2dbbf9 07-Jul-2023 George Peter Banyard

Add support for deprecating class constants


# 72a163aa 07-Jul-2023 Arnaud Le Blanc

Add stack limit check in zend_eval_const_expr() (#11424)


# 49ef6e20 29-Jun-2023 Tim Düsterhus

RFC: Add #[Override] attribute (#9836)

* Add #[Override] attribute

* Move #[\Override] tests into Zend/tests/attributes/override/

* Check `check_only` before removing `ZEND

RFC: Add #[Override] attribute (#9836)

* Add #[Override] attribute

* Move #[\Override] tests into Zend/tests/attributes/override/

* Check `check_only` before removing `ZEND_ACC_OVERRIDE`

* NEWS/UPGRADING for #[\Override]

show more ...


# 68ef3938 21-Jun-2023 Ilija Tovilo

Fix missing "Optional parameter before required" deprecation on union null type

The check would only work for the ?type syntax, but not type|null. Switch to a
check during type compilat

Fix missing "Optional parameter before required" deprecation on union null type

The check would only work for the ?type syntax, but not type|null. Switch to a
check during type compilation instead.

Fixes GH-11488
Closes GH-11497

show more ...


# fae42c8b 21-Jun-2023 Ilija Tovilo

Fix assertion violation for invalid class const objects in const expressions (#11458)

Fixes oss-fuzz #59764


# d5ad7510 08-Jun-2023 George Peter Banyard

More usage of known zend_str instead of C string (#11381)


# 79d024ac 07-Jun-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Allow final modifier when using a method from a trait (#11394)

Fixes GH-11388.

Following https://wiki.php.net/rfc/horizontalreuse which introduced traits,
this should be allowed

Allow final modifier when using a method from a trait (#11394)

Fixes GH-11388.

Following https://wiki.php.net/rfc/horizontalreuse which introduced traits,
this should be allowed.
The implementation was refactored in 3f8c729. That commit is the first time
the "final" check appears AFAICT, but no reason was given for why. That
commit seems to have landed in 5.4.11 and the NEWS for that version doesn't
seem to mention something relevant to the behaviour change.
This patch removes the restriction of the final modifier.

Closes GH-11394.

show more ...


# fbe6696d 26-May-2023 Ilija Tovilo

Revert "Use zend_ast_apply in zend_eval_const_expr (#11261)"

This reverts commit 1c733c8bbc295dbb0634371cc40952c1528f9038.

Fixes GH-11320


# 0b1d750d 11-Aug-2022 Ilija Tovilo

Allow arbitrary expressions in static variable initializer

Closes GH-9301


# 1c733c8b 24-May-2023 Ilija Tovilo

Use zend_ast_apply in zend_eval_const_expr (#11261)

Supporting new constant expressions requires remembering to add them to
zend_eval_const_expr, even if it only evalutes its children. T

Use zend_ast_apply in zend_eval_const_expr (#11261)

Supporting new constant expressions requires remembering to add them to
zend_eval_const_expr, even if it only evalutes its children. This is routinely
forgotten, at least by me. Use zend_ast_apply to solve this generically.

show more ...


# c230aa9b 20-May-2023 Nikita Popov

Correctly handle multiple constants in typed declaration

While here also fix AST printing support.


12345678910>>...102