History log of /PHP-8.0/Zend/zend_compile.c (Results 76 – 100 of 2365)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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>


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


# 7ce8c5ad 26-Apr-2020 Gabriel Caruso

Slipt error messages while checking magic methods attributes

Closes GH-5465


# 19e886d9 24-Apr-2020 Nikita Popov

Avoid throw expression leaks

Mark "throw" used in expression context with a flag, and don't
treat it as a BB terminator in that case. This prevents us from
optimizing away the follow

Avoid throw expression leaks

Mark "throw" used in expression context with a flag, and don't
treat it as a BB terminator in that case. This prevents us from
optimizing away the following opcodes as unreachable, which may
result in live ranges being dropped incorrectly.

Close GH-5450.

show more ...


# fd00c7cf 27-Apr-2020 Nikita Popov

Pass existing lcname to check_magic_method_implementation


# 90db6f2c 24-Apr-2020 Levi Morrison

Add case insensitive find_ptr hash functions

- zend_hash_find_ptr_lc(ht, zend_string *key)
- zend_hash_str_find_ptr_lc(ht, const char *str, size_t len)

Note that zend_hash_str

Add case insensitive find_ptr hash functions

- zend_hash_find_ptr_lc(ht, zend_string *key)
- zend_hash_str_find_ptr_lc(ht, const char *str, size_t len)

Note that zend_hash_str_find_ptr_lc used to exist in zend_compile.c
as zend_hash_find_ptr_lc. When exporting this I figured it
was best to use the same conventions as the rest of zend_hash.h.

show more ...


# 6f908a0b 23-Apr-2020 Gabriel Caruso

Check Serialization magic methods structure

Closes GH-5441


# 786e0ae5 24-Apr-2020 Nikita Popov

Use zend_make_tmp_result() helper in more places


# f264bf2d 24-Apr-2020 Nikita Popov

Accept result znode in zend_compile_class_decl()

Make this use the same pattern we use everywhere else.


# f6524075 23-Apr-2020 Ilija Tovilo

Use return in compile_expr for consistency


# 0810fcd0 18-Mar-2020 Ilija Tovilo

Make throw statement an expression

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

This has an open issue with temporaries that are live at the time
of the throw being leaked. La

Make throw statement an expression

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

This has an open issue with temporaries that are live at the time
of the throw being leaked. Landing this now for easier testing and
will revert if we cannot resolve the issue.

Closes GH-5279.

show more ...


# 08c5c69e 17-Apr-2020 Nikita Popov

Remove ZEND_ACC_DTOR flag

This is only used in reflection, where doing a simple string check
is acceptable.

I'm also dropping the "dtor" printing in the reflection dump.
Dto

Remove ZEND_ACC_DTOR flag

This is only used in reflection, where doing a simple string check
is acceptable.

I'm also dropping the "dtor" printing in the reflection dump.
Dtors are just one of many magic methods, I don't think there's
a point in explicitly highlighting them, when the name is already
unambiguous.

show more ...


# b10b73eb 16-Apr-2020 Gabriel Caruso

Fix magic method name


# 75a58ba5 15-Apr-2020 Gabriel Caruso

Improve error messages for magic methods by appending method's class

Closes GH-5397.


# 4fb705a0 14-Apr-2020 Nikita Popov

Add zend_string_concat2 API


# bac5137e 14-Apr-2020 Nikita Popov

Add zend_create_member_string() API

This is a recurring pattern.


# d030ddb2 09-Apr-2020 Nikita Popov

Export the zend_string_concat3() API


# f1dd8b2a 01-Apr-2020 Nikita Popov

Make division by zero error check more accurate

For division (rather than modulus) we should check the double
value, otherwise the result might be zero after integer truncation,
but

Make division by zero error check more accurate

For division (rather than modulus) we should check the double
value, otherwise the result might be zero after integer truncation,
but not zero as a floating point value.

show more ...


# 1ed132e2 01-Apr-2020 Nikita Popov

Unify checks for binary operator errors for ct eval

Move everything into one function and share it with opcache.
This fixes some discrepancies.


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, php-7.4.3, php-7.2.28, php-7.3.15RC1, php-7.4.3RC1, php-7.3.15, php-7.2.27, php-7.4.2, php-7.3.14
# f74e30c0 09-Jan-2020 Nikita Popov

Check abstract method signatures coming from traits

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

Closes GH-5068.


12345678910>>...95