Commit Graph

117877 Commits

Author SHA1 Message Date
Remi Collet
217ff8132e Merge branch 'PHP-7.4'
* PHP-7.4:
  unneeded after fix
  NEWS
  NEWS
  Fix Bug #79296 ZipArchive::open fails on empty file
2020-03-20 11:19:04 +01:00
Remi Collet
347d18b48e unneeded after fix 2020-03-20 11:18:52 +01:00
Remi Collet
6c0f9c3fc6 NEWS 2020-03-20 11:17:29 +01:00
Remi Collet
98687abb1d Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  NEWS
  Fix Bug #79296 ZipArchive::open fails on empty file
2020-03-20 11:16:38 +01:00
Remi Collet
51c57a9c67 NEWS 2020-03-20 11:16:08 +01:00
Remi Collet
8aab43c85d Fix Bug #79296 ZipArchive::open fails on empty file 2020-03-20 11:14:58 +01:00
Dmitry Stogov
517c30b05f JIT for FETCH_THIS 2020-03-20 12:33:41 +03:00
Derick Rethans
9c6bda3027 Merge branch 'PHP-7.4' 2020-03-20 09:31:46 +00:00
Derick Rethans
673a3ceaa2 Mention which categories to use for patch releases 2020-03-20 09:31:37 +00:00
Christoph M. Becker
825384c478 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix potential test conflict
2020-03-20 08:57:43 +01:00
Christoph M. Becker
9e6d80dc8f Fix potential test conflict
Cf. <https://ci.appveyor.com/project/php/php-src/builds/31564684/job/k9u3xv860fao3n2e#L5578>
2020-03-20 08:56:40 +01:00
Dmitry Stogov
ccc49ead68 Change jit_trace_stack_frame layout 2020-03-20 10:54:45 +03:00
Dmitry Stogov
7283dbba27 ZEND_MAKE_REF can't throw 2020-03-20 01:37:27 +03:00
Dmitry Stogov
9232af91fd JIT for STRLEN 2020-03-20 01:23:36 +03:00
Dmitry Stogov
3958d5bdc5 JIT for ECHO and variable string operands 2020-03-20 01:01:33 +03:00
Dmitry Stogov
282265bccd JIT for SEND_FUNC_ARG 2020-03-19 23:59:11 +03:00
Christoph M. Becker
8ea143a943 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #79396: DateTime hour incorrect during DST jump forward
2020-03-19 08:53:46 +01:00
Christoph M. Becker
1d9e716a47 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #79396: DateTime hour incorrect during DST jump forward
2020-03-19 08:51:55 +01:00
Nate Brunette
d70058a139 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.
2020-03-19 08:50:34 +01:00
Dmitry Stogov
8e879b9f44 JIT for ZEND_CHECK_FUNC_ARG 2020-03-18 23:56:03 +03:00
Máté Kocsis
bb6f374048
Improve argument error messages in ext/standard
Closes GH-5198
2020-03-18 19:56:10 +01:00
Dmitry Stogov
c2f1c36e30 Eliminate run-time check 2020-03-18 21:19:31 +03:00
Christoph M. Becker
ddf38fd764 Merge branch 'PHP-7.4'
* PHP-7.4:
  Improve FFI test suite for Windows
2020-03-18 17:01:30 +01:00
Christoph M. Becker
280485adc1 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.
2020-03-18 16:53:06 +01:00
Nikita Popov
22a2817d3c 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.
2020-03-18 16:29:09 +01:00
Nikita Popov
f768a5563f Merge branch 'PHP-7.4'
* PHP-7.4:
  Clarify session.cookie_samesite="None"
2020-03-18 16:00:23 +01:00
Nikita Popov
10bf541fd9 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Clarify session.cookie_samesite="None"
2020-03-18 16:00:05 +01:00
Nikita Popov
c00cce3229 Clarify session.cookie_samesite="None" 2020-03-18 15:59:30 +01:00
Dmitry Stogov
12cdab2d76 Improved JIT for BIND_GLOBAL 2020-03-18 17:20:40 +03:00
Nikita Popov
df79277de3 Revert "Fetch for read in nested property assignments"
This reverts commit bb43a3822e.

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.
2020-03-18 14:54:43 +01:00
Remi Collet
a5f136b855 bump zp to 1.18.1 + doc 2020-03-18 14:09:50 +01:00
Remi Collet
3b22e10535 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
2020-03-18 14:05:09 +01:00
Nikita Popov
bb43a3822e 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.
2020-03-18 12:08:06 +01:00
Nikita Popov
e957a8cd92 Merge branch 'PHP-7.4'
* PHP-7.4:
  Make bug52820.phpt more robust
  Explicitly start mysql
  Use "set -e" in some pipeline steps
2020-03-18 11:46:37 +01:00
Nikita Popov
ba6834fa57 Make bug52820.phpt more robust
Use a more robust error condition...
2020-03-18 11:46:27 +01:00
Nikita Popov
bf382a3cb6 Explicitly start mysql 2020-03-18 11:46:27 +01:00
Nikita Popov
372331fc6d Use "set -e" in some pipeline steps 2020-03-18 11:46:27 +01:00
Nikita Popov
70ef2f3817 Use different scratch register in read_obj
We already use r0 to hold the zval.
2020-03-18 11:44:34 +01:00
Nikita Popov
69937870da Explicitly pass scratch register to SAVE_VALID_OPLINE 2020-03-18 11:44:25 +01:00
Dmitry Stogov
f767807986 Result of ASSIGN may be different from the assigned value when LHS is a typed reference 2020-03-18 01:40:41 +03:00
Dmitry Stogov
a8e8c40ad4 Use zend_fetch_arg_info_type() 2020-03-17 18:10:27 +03:00
Dmitry Stogov
29bef78e9f Use _const_op_type() for converting constant into type info 2020-03-17 17:55:34 +03:00
Nikita Popov
1ba6e66c46 Improve type inference
After thinking about this a bit more, the code here was too
conservative. We know that everything but an object is going to
throw, so it's sufficient to restrict the type to MAY_BE_OBJECT.

The change in the test is weird but not incorrect, because it
operates on empty inferred types, in which case the code must be
dead (which it is). We should probably add a more explicit removal
of code working on empty types.
2020-03-17 15:41:47 +01:00
Nikita Popov
41a86a72c4 Clean up a few more places 2020-03-17 15:23:52 +01:00
Nikita Popov
023039fbfc Remove object auto-vivification leftovers in type-inference
undef/null/false no longer get promoted to object in PHP 8.

In fact, we may drop the SSA var defs outside RC inference mode now.
2020-03-17 14:54:11 +01:00
Christoph M. Becker
66d8d0c7d7 Drop support for iconv without proper errno setting
It is hard to impossible to work around iconv() implementations which
do not properly set errno according to POSIX.  We therefore do no
longer allow to build against such iconv() implementations.

Co-Authored-By: Nikita Popov <nikita.ppv@googlemail.com>
2020-03-17 14:02:29 +01:00
Dmitry Stogov
4b89d96489 Improved JIT for ZEND_ASSIGN 2020-03-17 15:45:54 +03:00
Nikita Popov
b1a082da25 Fix typos 2020-03-17 12:59:37 +01:00
Remi Collet
d81182461a Merge branch 'PHP-7.4'
* PHP-7.4:
  bump verison to 7.2.30-dev
2020-03-17 11:29:20 +01:00
Remi Collet
9659a86fc3 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  bump verison to 7.2.30-dev
2020-03-17 11:29:03 +01:00