History log of /php-src/Zend/zend_compile.c (Results 276 – 300 of 2856)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 6a195cac 02-Jul-2020 Nikita Popov

Treat attribute argument lists like normal argument lists

Allow trailing comma. Syntactically allow unpacking, but forbid it
during compilation.

The trailing comma test-case is

Treat attribute argument lists like normal argument lists

Allow trailing comma. Syntactically allow unpacking, but forbid it
during compilation.

The trailing comma test-case is adopted from GH-5796.

show more ...

# 053ef28b 28-Jun-2020 Martin Schröder

Implement Attribute Amendments.

RFC: https://wiki.php.net/rfc/attribute_amendments

Support for attribute grouping is left out, because the short
attribute syntax RFC will likely

Implement Attribute Amendments.

RFC: https://wiki.php.net/rfc/attribute_amendments

Support for attribute grouping is left out, because the short
attribute syntax RFC will likely make it obsolete.

Closes GH-5751.

show more ...

# 1314ccbf 26-Jun-2020 Nikita Popov

Cache __unserialize() instead of unserialize()

We should use these cache slots for the new object serialization
mechanism rather than the old one.

# c5caa051 26-Jun-2020 Nikita Popov

Fixed bug #79740

# 48e16a9d 18-Jun-2020 moliata

Use ZEND_TOSTRING_FUNC_NAME

Closes GH-5736.

# 45d1c38d 17-Jun-2020 moliata

Use zend_is_constructor()

# 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 ...

# 83a77015 08-Jun-2020 twosee

Add helper APIs for maybe-interned string creation

Add ZVAL_CHAR/RETVAL_CHAR/RETURN_CHAR as a shortcut for using
ZVAL_INTERNED_STRING and ZSTR_CHAR.

Add zend_string_init_fast()

Add helper APIs for maybe-interned string creation

Add ZVAL_CHAR/RETVAL_CHAR/RETURN_CHAR as a shortcut for using
ZVAL_INTERNED_STRING and ZSTR_CHAR.

Add zend_string_init_fast() as a helper for the empty string /
one char interned string / zend_string_init() pattern.

Also add corresponding ZVAL_STRINGL_FAST etc macros.

Closes GH-5684.

show more ...

# b03cafd1 05-Jun-2020 Nikita Popov

Fix bug #77966: Cannot alias a method named "namespace"

This is a bit tricky: In this cases we have "namespace as", which
means that we will only recognize "namespace" as an identifier w

Fix bug #77966: Cannot alias a method named "namespace"

This is a bit tricky: In this cases we have "namespace as", which
means that we will only recognize "namespace" as an identifier when
the lookahead token is already at the "as". This means that
zend_lex_tstring picks up the wrong identifier.

We solve this by actually assigning the identifier as the semantic
value on the parser stack -- as in almost all cases we will not
actually need the identifier, this is just an (offset, size)
reference, not a copy of the string.

Additionally, we need to teach the lexer feedback mechanism used
by tokenizer TOKEN_PARSE mode to apply feedback to something
other than the very last token. To that purpose we pass through
the token text and check the tokens in reverse order to find the
right one.

Closes GH-5668.

show more ...

# 88355dd3 07-Jun-2020 twosee

Constify char * arguments of APIs

Closes GH-5676.

# 7d6a0ba8 07-Jun-2020 twosee

Fix expression warnings and break warnings

Close GH-5675.

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>

# dd6e54b7 29-May-2020 Máté Kocsis

Fix #79652 Ensure that the mixed type is displayed instead of the union of all types

Closes GH-56430

# baa28588 26-May-2020 Nikita Popov

Fix variable type

This is no longer a boolean.

# 9b332725 25-May-2020 Tyson Andre

Allow generators to have a real return type of `mixed` or `object`

Fixes an edge case overlooked in
https://github.com/php/php-src/pull/5313

Generators are objects, so `object`

Allow generators to have a real return type of `mixed` or `object`

Fixes an edge case overlooked in
https://github.com/php/php-src/pull/5313

Generators are objects, so `object` should have also been allowed in addition to
`iterable` and `Traversable`

Closes GH-5626

show more ...

# 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.

# c803499e 22-May-2020 George Peter Banyard

Remove depreacted curly brace offset syntax

Closes GH-5221

# 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>

# c2068e95 20-May-2020 Nikita Popov

Merge branch 'PHP-7.4'

* PHP-7.4:
Fix bug #79603, by retrying on RTD key collision


# 4f47ba99 19-May-2020 Nikita Popov

Fix bug #79603, by retrying on RTD key collision

This is a non-intrusive fix for 7.4, still trying to find a good
solution for master.

Closes GH-5597.

# c6a6ca07 13-May-2020 Nikita Popov

Use zend_zval_type_name() API where possible

Rather than zend_get_type_by_const(Z_TYPE_P()).

# 5bc1e224 01-Apr-2020 Nikita Popov

Make numeric operations on resources, arrays and objects type errors

RFC: https://wiki.php.net/rfc/arithmetic_operator_type_checks

Closes GH-5331.

# 53eee290 27-Apr-2020 Nikita Popov

Completely remove disabled functions from function table

Currently, disabling a function only replaces the internal
function handler with one that throws a warning, and a few
places

Completely remove disabled functions from function table

Currently, disabling a function only replaces the internal
function handler with one that throws a warning, and a few
places in the engine special-case such functions, such as
function_exists. This leaves us with a Schrödinger's function,
which both does not exist (function_exists returns false) and
does exist (you cannot define a function with the same name).
In particular, this prevents the implementation of robust
polyfills, as reported in https://bugs.php.net/bug.php?id=79382:

if (!function_exists('getallheaders')) {
function getallheaders(...) { ... }
}

If getallheaders() is a disabled function, this code will break.

This patch changes disable_functions to remove the functions from
the function table completely. For all intents and purposes, it
will look like the function does not exist.

This also renders two bits of PHP functionality obsolete and thus
deprecated:

* ReflectionFunction::isDisabled(), as it will no longer be
possible to construct the ReflectionFunction of a disabled
function in the first place.
* get_defined_functions() with $exclude_disabled=false, as
get_defined_functions() now never returns disabled functions.

Fixed bug #79382.

Closes GH-5473.

show more ...

# 34c460f3 26-Apr-2020 Gabriel Caruso

Check `__set_state` structure

Fix Bug #79521.

Closes GH-5462.

1...<<11121314151617181920>>...115