Commit Graph
119415 Commits
Author SHA1 Message Date
Gabriel Caruso 2b6c80f22b Update versions for PHP 8.0.0alpha2 php-8.0.0alpha2 2020-07-07 10:51:09 +00:00
Gabriel Caruso f5f8bae7a0 Update NEWS for PHP 8.0.0alpha2 2020-07-07 10:50:33 +00:00
Nikita Popov 2c73bf7e3f Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #78598
2020-07-07 12:28:35 +02:00
Nikita Popov 220880ad2d Fixed bug #78598
When performing an RW modification of an array offset, the undefined
offset warning may call an error handler / OB callback, which may
destroy the array we're supposed to change. Detect this by temporarily
incrementing the reference count. If we find that the array has been
modified/destroyed in the meantime, we do nothing -- the execution
model here would be that the modification has happened on the destroyed
version of the array.
2020-07-07 12:13:58 +02:00
Nikita Popov ecf368b8f2 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #79792
2020-07-07 12:00:34 +02:00
Nikita Popov 48a247178e Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fixed bug #79792
2020-07-07 11:59:40 +02:00
Nikita Popov 64931fd3c4 Fixed bug #79792
We need to remove the iterators even if the array is empty (we
will not create one if the first place, but the array may become
empty after the fact).
2020-07-07 11:58:25 +02:00
Nikita Popov b48bd671b8 Assert no exception if using NEXT_OPCODE()
When NEXT_OPCODE() is used instead of NEXT_OPCODE_CHECK_EXCEPTION(),
assert that there is indeed no exception.
2020-07-07 11:34:43 +02:00
Nikita Popov 5d0687e895 Assert exception set in HANDLE_EXCEPTION()
Some code paths were checking this manually, but we can turn this
into a general assertion to avoid surprises (functions returning
failure without throwing).
2020-07-07 11:31:05 +02:00
Nikita Popov fb91611276 Remove #undefs from vm_gen
Possibly these were needed for VM_EXPORT, but they don't serve a
purpose now.
2020-07-07 11:25:28 +02:00
Nikita Popov 002c264d07 Remove ZEND_VM_EXPORT functionality
This hasn't been used since forever and makes things more confusing
than they already are.
2020-07-07 11:23:28 +02:00
Nikita Popov eaf6303a74 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.
2020-07-07 10:56:55 +02:00
Nikita Popov e0743d0f91 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #79779
2020-07-07 10:27:53 +02:00
Nikita Popov 6a9d934b2c Fixed bug #79779
ASSIGN_OBJ_REF was not handling in zend_wrong_string_offset.
2020-07-07 10:27:22 +02:00
Nikita Popov 7da8c48a9b Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #79778
2020-07-07 10:20:31 +02:00
Nikita Popov d9b4974cbc Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fixed bug #79778
2020-07-07 10:20:11 +02:00
Nikita Popov b765f96f5f Fixed bug #79778
In the interest of avoiding side-effects during dumping, I'm
replacing the value with a <constant ast> string instead of
performing an update constant operation.
2020-07-07 10:19:39 +02:00
Nikita Popov 1e39469678 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #79783
2020-07-07 09:57:07 +02:00
Nikita Popov 971e5c5186 Fixed bug #79783
Make sure we don't drop the by-reference check when passing the
result of a VM builtin function.
2020-07-07 09:56:14 +02:00
Nikita Popov 302933daea Remove no_separation flag 2020-07-07 09:30:24 +02:00
Nikita Popov e93aca7167 Explicitly create references in UConverter callbacks
And don't allow separation.
2020-07-07 09:29:21 +02:00
Nikita Popov 5b4bf4d3e9 Fixup test 2020-07-07 09:23:05 +02:00
Nikita Popov dadb92ea35 Don't allow separation in array functions
The only case here that might be *somewhat* sensible is the userdata
argument of array_walk(), which could be used to keep persistent state
between callback invokations -- with the WTF moment that the final
result after the walk finishes will be unchanged. Nowdays, this is
much better achieved using a closure with a use-by-reference.
2020-07-07 09:15:43 +02:00
Nikita Popov df8119d3e1 Don't allow separation in CallbackFilterIterator
As the name might suggest, this is a *filter* iterator. If you want
to have a *map* iterator, write one, or use a generator.
2020-07-07 09:04:20 +02:00
Nikita Popov 632766a561 Disallow separation in a number of callbacks
All of these clearly do not need separation support.
2020-07-07 09:02:24 +02:00
Nikita Popov b406b3d624 Don't allow separation in callback filter
This causes some tests to fail. Those tests are specifically about
the callback not being able to modify the data though, so this is
clearly not supposed to be a supported use-case.
2020-07-07 08:57:05 +02:00
Gabriel Caruso 829a1e653a Update NEWS for 8.0.0alpha3 2020-07-07 02:32:35 +00:00
Gabriel Caruso 73f4441d0f Update NEWS for PHP 8.0.0alpha2 2020-07-07 02:23:24 +00:00
George Peter Banyard c4a0ba8d6e Refactor levenshtein()
Closes GH-5816
2020-07-07 00:41:10 +02:00
Máté Kocsis 91fbd12d57 Fix a few comments 2020-07-06 21:23:35 +02:00
Max Semenik 2b5de6f839 Remove proto comments from C files
Closes GH-5758
2020-07-06 21:13:34 +02:00
Max Semenik 4757998650 Remove requirements for proto comments from CODING_STANDARDS
They've been made obsolete by .stub.php files and are often
outdated as they're not the source of truth.
2020-07-06 21:13:14 +02:00
Nikita Popov 0280b83e11 Avoid some unnecessary uses of no_separation=0
For the rare cases where references are part of the API,
construct them explicitly. Otherwise do not allow separation.
2020-07-06 19:05:57 +02:00
moliata 4a0d6901bb 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.
2020-07-06 18:34:41 +02:00
Dmitry Stogov ff3c40206c More accurate reference-counter inference 2020-07-06 17:55:23 +03:00
Dmitry Stogov b35255ad21 More accurate reference-counter inference 2020-07-06 15:53:28 +03:00
Tiffany 48eb635a0f [skip-ci] Add README for ext/mysqli tests
Closes GH-5804
2020-07-06 14:35:53 +02:00
Máté Kocsis b18b2c8fe5 Add string or object ZPP macros
Closes GH-5788
2020-07-06 12:42:02 +02:00
Nikita Popov a4b253c40b ReflectionMethod::invoke() object is not optional 2020-07-06 11:53:57 +02:00
Nikita Popov 75c4e613e4 Correctly determine arg name of USER_ARG_INFO functions 2020-07-06 11:51:10 +02:00
Remi Collet 8d1a1120bf [skip ci] add upgrade note
Closes GH-5798
2020-07-06 10:57:55 +02:00
Christoph M. Becker 6cef9331fd define build system and provider on Windows 2020-07-06 10:54:43 +02:00
Remi Collet ad0d2e438f display info about system used to build and its provider 2020-07-06 10:54:43 +02:00
Christoph M. Becker fecea7b89c Fix sapi_windows_vt100_support() arginfo 2020-07-06 10:48:10 +02:00
Nikita Popov 795d2cbd71 Reuse warning function 2020-07-06 10:38:02 +02:00
Jens de Nies 58f51f8c75 Added stubs for ext/oci8
Closes GH-5701
2020-07-04 10:56:48 +02:00
Nikita Popov 49396f817a Fixed bug #79777 2020-07-04 09:59:42 +02:00
Nikita Popov 344c077400 Use zend_string_equals API in a couple places 2020-07-03 17:02:28 +02:00
Dmitry Stogov 2ecc597259 Removed already implemented TODO comment 2020-07-03 13:40:11 +03:00
Christoph M. Becker 62f05ac01f Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix tests for x86 Windows
2020-07-03 10:39:00 +02:00