]> granicus.if.org Git - php/log
php
4 years agoAdd PhpToken class
Nikita Popov [Thu, 23 Mar 2017 15:14:39 +0000 (16:14 +0100)]
Add PhpToken class

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

Relative to the RFC, this also adds a __toString() method,
as discussed on list.

Closes GH-5176.

4 years agoCheck abstract method signatures coming from traits
Nikita Popov [Thu, 9 Jan 2020 14:04:33 +0000 (15:04 +0100)]
Check abstract method signatures coming from traits

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

Closes GH-5068.

4 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Thu, 26 Mar 2020 07:29:34 +0000 (10:29 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Explicitly declare the char as signed in zend_ffi_val.

4 years agoExplicitly declare the char as signed in zend_ffi_val.
George Peter Banyard [Thu, 26 Mar 2020 02:20:10 +0000 (03:20 +0100)]
Explicitly declare the char as signed in zend_ffi_val.

This causes issues down the line as char are unsigned on some platforms,
e.g. ARM and cause a [-Wtype-limits] warning to be emitted.

4 years agoExplicitly declare the char as signed in zend_ffi_val.
George Peter Banyard [Thu, 26 Mar 2020 02:20:10 +0000 (03:20 +0100)]
Explicitly declare the char as signed in zend_ffi_val.

This causes issues down the line as char are unsigned on some platforms,
e.g. ARM and cause a [-Wtype-limits] warning to be emitted.

4 years agoFix php_exec() output length
Christoph M. Becker [Wed, 25 Mar 2020 21:49:57 +0000 (22:49 +0100)]
Fix php_exec() output length

If trailing whitespace is stripped, we have to propagate the change of
`bufl` back to php_exec().

4 years agoFix -Wtype-limits warning by using correct type declaration in JIT trace
George Peter Banyard [Wed, 25 Mar 2020 20:44:03 +0000 (21:44 +0100)]
Fix -Wtype-limits warning by using correct type declaration in JIT trace

Namely int as that is the type of 'definition'

Closes GH-5299

4 years agoSeparate zend_jit_var_supports_reg() and cleanup
Dmitry Stogov [Wed, 25 Mar 2020 20:09:32 +0000 (23:09 +0300)]
Separate zend_jit_var_supports_reg() and cleanup

4 years agoFixed incorrect "TSSA start" headers
Dmitry Stogov [Wed, 25 Mar 2020 20:07:21 +0000 (23:07 +0300)]
Fixed incorrect "TSSA start" headers

4 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Wed, 25 Mar 2020 14:38:08 +0000 (17:38 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fixed bug #79412 (Opcache chokes and uses 100% CPU on specific script).

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Dmitry Stogov [Wed, 25 Mar 2020 14:31:33 +0000 (17:31 +0300)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fixed bug #79412 (Opcache chokes and uses 100% CPU on specific script).

4 years agoFixed bug #79412 (Opcache chokes and uses 100% CPU on specific script).
Dmitry Stogov [Wed, 25 Mar 2020 14:31:06 +0000 (17:31 +0300)]
Fixed bug #79412 (Opcache chokes and uses 100% CPU on specific script).

4 years agoFix #75958 Return void instead of true
Máté Kocsis [Wed, 25 Mar 2020 11:33:38 +0000 (12:33 +0100)]
Fix #75958 Return void instead of true

4 years agoAdd stubs for SplDoublyLinkedList
Máté Kocsis [Wed, 25 Mar 2020 08:24:52 +0000 (09:24 +0100)]
Add stubs for SplDoublyLinkedList

Closes GH-5293

4 years agoAdd new line before basic-block labels (except for the first BB0)
Dmitry Stogov [Wed, 25 Mar 2020 10:22:01 +0000 (13:22 +0300)]
Add new line before basic-block labels (except for the first BB0)

4 years agoAlways print numeric opline numbers
Dmitry Stogov [Wed, 25 Mar 2020 09:42:04 +0000 (12:42 +0300)]
Always print numeric opline numbers

4 years agoClean up php_exec() implementation a bit
Nikita Popov [Wed, 25 Mar 2020 10:11:30 +0000 (11:11 +0100)]
Clean up php_exec() implementation a bit

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Wed, 25 Mar 2020 09:51:32 +0000 (10:51 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix bug #79410 (system() swallows last chunk if it is exactly 4095 bytes without newline)

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Wed, 25 Mar 2020 09:50:57 +0000 (10:50 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix bug #79410 (system() swallows last chunk if it is exactly 4095 bytes without newline)

4 years agoFix bug #79410 (system() swallows last chunk if it is exactly 4095 bytes without...
Christian Schneider [Tue, 24 Mar 2020 15:43:17 +0000 (16:43 +0100)]
Fix bug #79410 (system() swallows last chunk if it is exactly 4095 bytes without newline)

Closes GH-5292.

4 years agoRename "var" to "stack". This is an abstract stack that holds TSSA variable numbers.
Dmitry Stogov [Wed, 25 Mar 2020 07:49:01 +0000 (10:49 +0300)]
Rename "var" to "stack". This is an abstract stack that holds TSSA variable numbers.

4 years agoMake SSA dump format controlled by opcache.jit_debug more readable (always print...
Dmitry Stogov [Tue, 24 Mar 2020 19:44:11 +0000 (22:44 +0300)]
Make SSA dump format controlled by opcache.jit_debug more readable (always print opcode number).
This doesn't affect dumps controlled by opcache.opt_debug_level.

4 years agoImprove error messages of ext/hash
Máté Kocsis [Wed, 18 Mar 2020 19:58:45 +0000 (20:58 +0100)]
Improve error messages of ext/hash

Closes GH-5275

4 years agoPromote warnings to exceptions in ext/hash
Máté Kocsis [Wed, 18 Mar 2020 19:58:37 +0000 (20:58 +0100)]
Promote warnings to exceptions in ext/hash

4 years agoAdd stubs for SPL iterators
Máté Kocsis [Sun, 22 Mar 2020 18:27:00 +0000 (19:27 +0100)]
Add stubs for SPL iterators

Closes GH-5286

4 years agoImprove error messages of various extensions
Máté Kocsis [Wed, 18 Mar 2020 21:44:02 +0000 (22:44 +0100)]
Improve error messages of various extensions

Closes GH-5278

4 years agoImprove error messages of ext/reflection
Máté Kocsis [Wed, 18 Mar 2020 20:39:56 +0000 (21:39 +0100)]
Improve error messages of ext/reflection

Closes GH-5277

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 23 Mar 2020 16:14:42 +0000 (17:14 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Add test file

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 23 Mar 2020 16:14:16 +0000 (17:14 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Add test file

4 years agoAdd test file
Nikita Popov [Mon, 23 Mar 2020 16:13:57 +0000 (17:13 +0100)]
Add test file

Forgot the git add again...

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 23 Mar 2020 16:12:55 +0000 (17:12 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Handle NULL caller_call_opline

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 23 Mar 2020 16:12:12 +0000 (17:12 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Handle NULL caller_call_opline

4 years agoHandle NULL caller_call_opline
Nikita Popov [Mon, 23 Mar 2020 16:10:54 +0000 (17:10 +0100)]
Handle NULL caller_call_opline

This can happen if there is an EXIT in the call arguments, in which
case the DO_CALL opcode may be eliminated as unreachable.

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 23 Mar 2020 15:33:26 +0000 (16:33 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix leak on Windows as well

4 years agoFix leak on Windows as well
Christoph M. Becker [Mon, 23 Mar 2020 15:31:45 +0000 (16:31 +0100)]
Fix leak on Windows as well

Cf. <http://git.php.net/?p=php-src.git;a=commit;h=db08ef0d3274b239a6b9e68d71d02bb6acb71d82>

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 23 Mar 2020 15:26:19 +0000 (16:26 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix test for Windows

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 23 Mar 2020 15:23:33 +0000 (16:23 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix test for Windows

4 years agoFix test for Windows
Christoph M. Becker [Mon, 23 Mar 2020 15:19:25 +0000 (16:19 +0100)]
Fix test for Windows

Windows filenames may very well contain a colon, so we adjust the test
accordingly.

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 23 Mar 2020 13:31:16 +0000 (14:31 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #79200: Some iconv functions cut Windows-1258

4 years agoDon't use quiet zpp in RecursiveIteratorIterator ctor
Nikita Popov [Mon, 23 Mar 2020 13:22:51 +0000 (14:22 +0100)]
Don't use quiet zpp in RecursiveIteratorIterator ctor

Don't be a special snowflake, generate a standard TypeError here.

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 23 Mar 2020 13:13:24 +0000 (14:13 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #79200: Some iconv functions cut Windows-1258

4 years agoFix #79200: Some iconv functions cut Windows-1258
Christoph M. Becker [Mon, 16 Mar 2020 12:09:16 +0000 (13:09 +0100)]
Fix #79200: Some iconv functions cut Windows-1258

To cater to potentially state-dependent encodings, we have to reset the
conversion descriptor into its initial shift state to properly finish
the conversion.  Furthermore, state-dependent encodings may not show
progress when comparing `in_left` before and after the conversion; we
rather have to see whether `out_left` has decreased.  Also we have to
cater to the fact that the final potentially state resetting call does
not signal failure, but we still have to break respective loops
afterwards.

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 23 Mar 2020 12:59:22 +0000 (13:59 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #79393: Null coalescing operator failing with SplFixedArray

4 years agoFix ZPP of SplFileInfo::openFile()
Máté Kocsis [Mon, 23 Mar 2020 11:26:47 +0000 (12:26 +0100)]
Fix ZPP of SplFileInfo::openFile()

4 years agoAdd stubs for SplFileInfo et al.
Máté Kocsis [Sat, 21 Mar 2020 22:34:29 +0000 (23:34 +0100)]
Add stubs for SplFileInfo et al.

Closes GH-5287

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 23 Mar 2020 12:31:08 +0000 (13:31 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #79393: Null coalescing operator failing with SplFixedArray

4 years agoFix #79393: Null coalescing operator failing with SplFixedArray
Christoph M. Becker [Wed, 18 Mar 2020 16:39:27 +0000 (17:39 +0100)]
Fix #79393: Null coalescing operator failing with SplFixedArray

We favor the KISS principle over optimization[1] – SPL is already
special enough.

[1] <https://github.com/php/php-src/pull/2489/commits/352f3d4476a79bb86136b431719df7394e5a8d4e#r112498098>ff

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 23 Mar 2020 11:01:15 +0000 (12:01 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix RSA memory leak in mysqlnd auth

4 years agoFix RSA memory leak in mysqlnd auth
Nikita Popov [Mon, 23 Mar 2020 10:54:55 +0000 (11:54 +0100)]
Fix RSA memory leak in mysqlnd auth

4 years agoFix signed integer overflow UB in dasm
Nikita Popov [Mon, 23 Mar 2020 10:12:42 +0000 (11:12 +0100)]
Fix signed integer overflow UB in dasm

Should hopefully fix the ubsan and community builds.

4 years agoFix pointer UB in dynasm
Nikita Popov [Mon, 23 Mar 2020 10:03:56 +0000 (11:03 +0100)]
Fix pointer UB in dynasm

Looks like newer GCC versions started warning about this.

4 years agoMinor cleanup in spl_direcotry
Nikita Popov [Mon, 23 Mar 2020 08:45:44 +0000 (09:45 +0100)]
Minor cleanup in spl_direcotry

* Rename variable for clarity
* Reduce section with replaced error handling
* Drop comment code line

4 years agoRepair ext_skel.php to create the basic framework for a PHP extension
ZoDream [Mon, 23 Mar 2020 01:45:34 +0000 (09:45 +0800)]
Repair ext_skel.php to create the basic framework for a PHP extension

Copy the arginfo stubs file, and drop the %EXTNAME%_ to make things line up.

Closes GH-5289.

4 years agoFix compilation error on mac with -Wshift-negative-value
Tyson Andre [Sat, 21 Mar 2020 15:56:44 +0000 (11:56 -0400)]
Fix compilation error on mac with -Wshift-negative-value

Fix for mac OS build error seen in ccc49ead681add7bdf6a021c7a3420aff543bc1e
when shifting -1 (max argument count?)

```
ext/opcache/jit/zend_jit_trace.c:1668:2:
error: shifting a negative signed value is undefined
[-Werror,-Wshift-negative-value]
        TRACE_FRAME_INIT(frame, op_array, 0, -1);
```

Closes GH-5284.

4 years agoSkip ftruncate_bug76422 if disk_free_space() <= 4GB
Tyson Andre [Sat, 21 Mar 2020 14:58:35 +0000 (10:58 -0400)]
Skip ftruncate_bug76422 if disk_free_space() <= 4GB

Followup to https://github.com/php/php-src/pull/5043

In the middle of running this test with TESTS=-j9,
run-tests.php stopped the test suite because the partition started
with 3.5GB of free disk space and new test files couldn't be created.

Reclaiming the disk space of that file also took a while.

Closes GH-5283

4 years agoAdd tracing JIT guards for INTI_FCALL_BY_NAME and INIT_NS_FCALL_BY_NAME
Dmitry Stogov [Fri, 20 Mar 2020 13:59:02 +0000 (16:59 +0300)]
Add tracing JIT guards for INTI_FCALL_BY_NAME and INIT_NS_FCALL_BY_NAME

4 years agobump zip version
Remi Collet [Fri, 20 Mar 2020 13:08:57 +0000 (14:08 +0100)]
bump zip version

4 years agoNote that `active => true` has to be kept for `$QA_RELEASES`
Christoph M. Becker [Fri, 20 Mar 2020 13:00:11 +0000 (14:00 +0100)]
Note that `active => true` has to be kept for `$QA_RELEASES`

Otherwise the bug tracker and test failure reporting will not work as
intended (and maybe there are even more issues).

4 years agoJIT for INIT_NS_FCALL_BY_NAME
Dmitry Stogov [Fri, 20 Mar 2020 12:36:40 +0000 (15:36 +0300)]
JIT for INIT_NS_FCALL_BY_NAME

4 years agoadd missing test
Remi Collet [Fri, 20 Mar 2020 11:13:15 +0000 (12:13 +0100)]
add missing test

4 years agofix test, thanks Indrek
Remi Collet [Fri, 20 Mar 2020 11:09:15 +0000 (12:09 +0100)]
fix test, thanks Indrek

4 years agoCAST to the same type mat be JIT-ed as QM_ASSIGN
Dmitry Stogov [Fri, 20 Mar 2020 10:31:55 +0000 (13:31 +0300)]
CAST to the same type mat be JIT-ed as QM_ASSIGN

4 years agoZipArchive::open(): Using empty file as ZipArchive is deprecated
Remi Collet [Fri, 20 Mar 2020 10:27:42 +0000 (11:27 +0100)]
ZipArchive::open(): Using empty file as ZipArchive is deprecated

4 years agoMerge branch 'PHP-7.4'
Remi Collet [Fri, 20 Mar 2020 10:19:04 +0000 (11:19 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  unneeded after fix
  NEWS
  NEWS
  Fix Bug #79296 ZipArchive::open fails on empty file

4 years agounneeded after fix
Remi Collet [Fri, 20 Mar 2020 10:18:52 +0000 (11:18 +0100)]
unneeded after fix

4 years agoNEWS
Remi Collet [Fri, 20 Mar 2020 10:17:29 +0000 (11:17 +0100)]
NEWS

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Remi Collet [Fri, 20 Mar 2020 10:16:38 +0000 (11:16 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  NEWS
  Fix Bug #79296 ZipArchive::open fails on empty file

4 years agoNEWS
Remi Collet [Fri, 20 Mar 2020 10:16:08 +0000 (11:16 +0100)]
NEWS

4 years agoFix Bug #79296 ZipArchive::open fails on empty file
Remi Collet [Thu, 19 Mar 2020 16:31:17 +0000 (17:31 +0100)]
Fix Bug #79296 ZipArchive::open fails on empty file

4 years agoJIT for FETCH_THIS
Dmitry Stogov [Fri, 20 Mar 2020 09:33:41 +0000 (12:33 +0300)]
JIT for FETCH_THIS

4 years agoMerge branch 'PHP-7.4'
Derick Rethans [Fri, 20 Mar 2020 09:31:46 +0000 (09:31 +0000)]
Merge branch 'PHP-7.4'

4 years agoMention which categories to use for patch releases
Derick Rethans [Fri, 20 Mar 2020 09:31:37 +0000 (09:31 +0000)]
Mention which categories to use for patch releases

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Fri, 20 Mar 2020 07:57:43 +0000 (08:57 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix potential test conflict

4 years agoFix potential test conflict
Christoph M. Becker [Fri, 20 Mar 2020 07:56:40 +0000 (08:56 +0100)]
Fix potential test conflict

Cf. <https://ci.appveyor.com/project/php/php-src/builds/31564684/job/k9u3xv860fao3n2e#L5578>

4 years agoChange jit_trace_stack_frame layout
Dmitry Stogov [Fri, 20 Mar 2020 07:54:45 +0000 (10:54 +0300)]
Change jit_trace_stack_frame layout

4 years agoZEND_MAKE_REF can't throw
Dmitry Stogov [Thu, 19 Mar 2020 22:37:27 +0000 (01:37 +0300)]
ZEND_MAKE_REF can't throw

4 years agoJIT for STRLEN
Dmitry Stogov [Thu, 19 Mar 2020 22:23:36 +0000 (01:23 +0300)]
JIT for STRLEN

4 years agoJIT for ECHO and variable string operands
Dmitry Stogov [Thu, 19 Mar 2020 22:01:33 +0000 (01:01 +0300)]
JIT for ECHO and variable string operands

4 years agoJIT for SEND_FUNC_ARG
Dmitry Stogov [Thu, 19 Mar 2020 20:59:11 +0000 (23:59 +0300)]
JIT for SEND_FUNC_ARG

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Thu, 19 Mar 2020 07:53:46 +0000 (08:53 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #79396: DateTime hour incorrect during DST jump forward

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Thu, 19 Mar 2020 07:51:39 +0000 (08:51 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #79396: DateTime hour incorrect during DST jump forward

4 years agoFix #79396: DateTime hour incorrect during DST jump forward
Nate Brunette [Wed, 18 Mar 2020 20:04:46 +0000 (15:04 -0500)]
Fix #79396: DateTime hour incorrect during DST jump forward

When you attempt to set the time to a non-existent time occuring during
a DST jump forward, the hour does not move forward correctly.

4 years agoJIT for ZEND_CHECK_FUNC_ARG
Dmitry Stogov [Wed, 18 Mar 2020 20:56:03 +0000 (23:56 +0300)]
JIT for ZEND_CHECK_FUNC_ARG

4 years agoImprove argument error messages in ext/standard
Máté Kocsis [Mon, 24 Feb 2020 19:19:20 +0000 (20:19 +0100)]
Improve argument error messages in ext/standard

Closes GH-5198

4 years agoEliminate run-time check
Dmitry Stogov [Wed, 18 Mar 2020 18:19:31 +0000 (21:19 +0300)]
Eliminate run-time check

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Wed, 18 Mar 2020 16:01:30 +0000 (17:01 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Improve FFI test suite for Windows

4 years agoImprove FFI test suite for Windows
Christoph M. Becker [Fri, 13 Mar 2020 13:09:53 +0000 (14:09 +0100)]
Improve FFI test suite for Windows

We add Windows support to four existing test cases, extract some useful
utility functions, and use them to simplify further test cases.

We also remove the Windows specific code from preload.inc, since
preloading isn't supported on Windows anyway.

4 years agoImprove build instructions in README
Nikita Popov [Wed, 18 Mar 2020 15:29:09 +0000 (16:29 +0100)]
Improve build instructions in README

Provide enough information to get a build going without hunting
down packages.

If someone wants to add info for macos or other distros, that
would probably be nice as well.

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Wed, 18 Mar 2020 15:00:23 +0000 (16:00 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Clarify session.cookie_samesite="None"

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Wed, 18 Mar 2020 15:00:05 +0000 (16:00 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Clarify session.cookie_samesite="None"

4 years agoClarify session.cookie_samesite="None"
Nikita Popov [Wed, 18 Mar 2020 14:59:30 +0000 (15:59 +0100)]
Clarify session.cookie_samesite="None"

4 years agoImproved JIT for BIND_GLOBAL
Dmitry Stogov [Wed, 18 Mar 2020 14:20:40 +0000 (17:20 +0300)]
Improved JIT for BIND_GLOBAL

4 years agoRevert "Fetch for read in nested property assignments"
Nikita Popov [Wed, 18 Mar 2020 13:52:22 +0000 (14:52 +0100)]
Revert "Fetch for read in nested property assignments"

This reverts commit bb43a3822e42dbd15b1d416a166549d3980b379a.

After thinking about this a bit more, this is now going to be
a complete solution for the "readonly properties" case, for example:

    unset($foo->readOnly->bar);

should also be legal and

    $foo->readOnly['bar'] = 42;

should also be legal if $foo->readOnly is not an array but an
ArrayAccess object.

I think it may be better to distinguish better on the BP_VAR flag
level. Reverting for now.

4 years agobump zp to 1.18.1 + doc
Remi Collet [Wed, 18 Mar 2020 13:09:50 +0000 (14:09 +0100)]
bump zp to 1.18.1 + doc

4 years agoFix bug #77960 add compr. /encr. options for ZipArchive::addGlob and ZipArchive:...
Remi Collet [Wed, 18 Mar 2020 10:55:16 +0000 (11:55 +0100)]
Fix bug #77960 add compr. /encr. options for ZipArchive::addGlob and ZipArchive::addPattern

options parameter now accepts:
- comp_method
- comp_flags
- enc_method
- enc_password

4 years agoFetch for read in nested property assignments
Nikita Popov [Tue, 10 Mar 2020 09:50:17 +0000 (10:50 +0100)]
Fetch for read in nested property assignments

    $a->b->c = 'd';

is now compiled the same way as

    $b = $a->b;
    $b->c = 'd';

That is, we perform a read fetch on $a->b, rather than a write
fetch.

This is possible, because PHP 8 removed auto-vivification support
for objects, so $a->b->c = 'd' may no longer modify $a->b proper
(i.e. not counting interior mutability of the object).

Closes GH-5250.

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Wed, 18 Mar 2020 10:46:37 +0000 (11:46 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Make bug52820.phpt more robust
  Explicitly start mysql
  Use "set -e" in some pipeline steps

4 years agoMake bug52820.phpt more robust
Nikita Popov [Wed, 18 Mar 2020 09:25:38 +0000 (10:25 +0100)]
Make bug52820.phpt more robust

Use a more robust error condition...

4 years agoExplicitly start mysql
Nikita Popov [Wed, 18 Mar 2020 09:15:05 +0000 (10:15 +0100)]
Explicitly start mysql

4 years agoUse "set -e" in some pipeline steps
Nikita Popov [Wed, 18 Mar 2020 09:11:15 +0000 (10:11 +0100)]
Use "set -e" in some pipeline steps