History log of /PHP-7.4/Zend/zend_compile.c (Results 51 – 75 of 2214)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


12345678910>>...89