Skip to content

Commit 2277b45

Browse files
committed
Merge branch 'master' of https://github.com/php/php-src
2 parents 9d72d2f + a858a53 commit 2277b45

File tree

162 files changed

+2506
-1640
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

162 files changed

+2506
-1640
lines changed

NEWS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,6 @@ PHP NEWS
4646
. Fixed bug #77646 (sign_detached() strings not terminated). (Frank)
4747

4848
- XML:
49-
. Fixed bug #76874 (xml_parser_free() should never leak memory). (Nikita
49+
. Fixed bug #76874 (xml_parser_free() should never leak memory). (Nikita)
5050

5151
<<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>

README.REDIST.BINS

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ PCRE2 LICENCE
2626
PCRE2 is a library of functions to support regular expressions whose syntax
2727
and semantics are as close as possible to those of the Perl 5 language.
2828

29-
Release 10 of PCRE2 is distributed under the terms of the "BSD" licence, as
30-
specified below, with one exemption for certain binary redistributions. The
31-
documentation for PCRE2, supplied in the "doc" directory, is distributed under
32-
the same terms as the software itself. The data in the testdata directory is
33-
not copyrighted and is in the public domain.
29+
Releases 10.00 and above of PCRE2 are distributed under the terms of the "BSD"
30+
licence, as specified below, with one exemption for certain binary
31+
redistributions. The documentation for PCRE2, supplied in the "doc" directory,
32+
is distributed under the same terms as the software itself. The data in the
33+
testdata directory is not copyrighted and is in the public domain.
3434

3535
The basic library functions are written in C and are freestanding. Also
3636
included in the distribution is a just-in-time compiler that can be used to
@@ -48,7 +48,7 @@ Email domain: cam.ac.uk
4848
University of Cambridge Computing Service,
4949
Cambridge, England.
5050

51-
Copyright (c) 1997-2018 University of Cambridge
51+
Copyright (c) 1997-2019 University of Cambridge
5252
All rights reserved.
5353

5454

@@ -57,9 +57,9 @@ PCRE2 JUST-IN-TIME COMPILATION SUPPORT
5757

5858
Written by: Zoltan Herczeg
5959
Email local part: hzmester
60-
Emain domain: freemail.hu
60+
Email domain: freemail.hu
6161

62-
Copyright(c) 2010-2018 Zoltan Herczeg
62+
Copyright(c) 2010-2019 Zoltan Herczeg
6363
All rights reserved.
6464

6565

@@ -68,9 +68,9 @@ STACK-LESS JUST-IN-TIME COMPILER
6868

6969
Written by: Zoltan Herczeg
7070
Email local part: hzmester
71-
Emain domain: freemail.hu
71+
Email domain: freemail.hu
7272

73-
Copyright(c) 2009-2018 Zoltan Herczeg
73+
Copyright(c) 2009-2019 Zoltan Herczeg
7474
All rights reserved.
7575

7676

UPGRADING

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ PHP 8.0 UPGRADE NOTES
4444
RFC: https://wiki.php.net/rfc/negative_array_index
4545
. The default error_reporting level is now E_ALL. Previously it excluded
4646
E_NOTICE and E_DEPRECATED.
47+
. display_startup_errors is now enabled by default.
4748
. The @ operator will no longer silence fatal errors (E_ERROR, E_CORE_ERROR,
4849
E_COMPILE_ERROR, E_USER_ERROR, E_RECOVERABLE_ERROR, E_PARSE). Error handlers
4950
that expect error_reporting to be 0 when @ is used, should be adjusted to
@@ -225,6 +226,9 @@ PHP 8.0 UPGRADE NOTES
225226
2. New Features
226227
========================================
227228

229+
- Core:
230+
. Added ValueError class.
231+
228232
========================================
229233
3. Changes in SAPI modules
230234
========================================

UPGRADING.INTERNALS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ PHP 8.0 INTERNALS UPGRADE NOTES
88
e. zend_parse_parameters 'L' specifier
99
f. Arginfo argument types
1010
g. zend_free_op type and should_free argument of zend_get_zval_ptr()
11+
h. zend_value_error()
1112

1213
2. Build system changes
1314
a. Abstract
@@ -66,6 +67,10 @@ PHP 8.0 INTERNALS UPGRADE NOTES
6667
execute_data, BP_VAR_R);
6768
zval *should_free = (op_type & (IS_TMP_VAR|IS_VAR)) ? ret : NULL;
6869

70+
h. Added the zend_value_error() function, which is intended to be used
71+
to raise ValueError when inappropriate argument values are passed
72+
to functions.
73+
6974
========================
7075
2. Build system changes
7176
========================

Zend/Zend.m4

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ AC_MSG_CHECKING(whether double cast to long preserves least significant bits)
157157
158158
AC_RUN_IFELSE([AC_LANG_SOURCE([[
159159
#include <limits.h>
160+
#include <stdlib.h>
160161
161162
int main()
162163
{
@@ -256,6 +257,7 @@ AC_MSG_CHECKING(for MM alignment and log values)
256257
257258
AC_RUN_IFELSE([AC_LANG_SOURCE([[
258259
#include <stdio.h>
260+
#include <stdlib.h>
259261
260262
typedef union _mm_align_test {
261263
void *ptr;

Zend/tests/bug30519.phpt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,7 @@ class test implements a {
66
}
77
?>
88
--EXPECTF--
9-
Fatal error: Interface 'a' not found in %sbug30519.php on line 2
9+
Fatal error: Uncaught Error: Interface 'a' not found in %s:%d
10+
Stack trace:
11+
#0 {main}
12+
thrown in %s on line %d

Zend/tests/bug30922.phpt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,7 @@ var_dump($a instanceOf A);
1010
echo "ok\n";
1111
?>
1212
--EXPECTF--
13-
Fatal error: Interface RecurisiveFooFar cannot implement itself in %s on line %d
13+
Fatal error: Uncaught Error: Interface 'RecurisiveFooFar' not found in %s:%d
14+
Stack trace:
15+
#0 {main}
16+
thrown in %s on line %d

Zend/tests/bug49908.phpt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,14 @@ var_dump(new Foo());
2424
--EXPECTF--
2525
string(3) "Foo"
2626
string(3) "Bar"
27+
string(3) "Foo"
28+
string(3) "Bar"
2729

28-
Fatal error: During class fetch: Uncaught Exception: Bar in %s:%d
30+
Fatal error: Uncaught Exception: Bar in %s:%d
2931
Stack trace:
3032
#0 [internal function]: {closure}('Bar')
3133
#1 %s(%d): spl_autoload_call('Bar')
3234
#2 [internal function]: {closure}('Foo')
3335
#3 %s(%d): spl_autoload_call('Foo')
34-
#4 {main} in %s on line %d
36+
#4 {main}
37+
thrown in %s on line %d

Zend/tests/bug73663.phpt

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,8 @@ var_dump($array);
2020
$array = [1];
2121
$func(list(&$val) = $array);
2222
var_dump($array);
23-
24-
$array = [1];
25-
change(list($val) = $array);
26-
var_dump($array);
2723
?>
28-
--EXPECTF--
24+
--EXPECT--
2925
array(1) {
3026
[0]=>
3127
int(1)
@@ -74,9 +70,3 @@ array(10) {
7470
[9]=>
7571
int(10)
7672
}
77-
78-
Notice: Only variables should be passed by reference in %s on line %d
79-
array(1) {
80-
[0]=>
81-
int(1)
82-
}

Zend/tests/bug73663_2.phpt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
--TEST--
2+
Bug #73663.2 ("Invalid opcode 65/16/8" occurs with a variable created with list())
3+
--FILE--
4+
<?php
5+
function change(&$ref) {
6+
$ref = range(1, 10);
7+
return;
8+
}
9+
10+
$array = [1];
11+
change(list($val) = $array);
12+
var_dump($array);
13+
?>
14+
--EXPECTF--
15+
Fatal error: Only variables can be passed by reference in %s on line %d

0 commit comments

Comments
 (0)