Skip to content

sync master #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 91 commits into from
Sep 20, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
3b2410e
Fix test
mbeccati Sep 16, 2020
392f0ab
Avoid ubsan warning due to memcpy null
nikic Sep 16, 2020
f896b98
Exclude trait methods from call-graph
dstogov Sep 16, 2020
f08e666
Remove unused GMP_ABS() macro
nikic Sep 16, 2020
0d99a56
Changed the wording of the error message
kamil-tekiela Sep 15, 2020
f786c0e
Optimize code for FETCH_THIS + INIT_METHOD_CALL/ASSIGN_OBJ_OP/etc
dstogov Sep 16, 2020
7a48381
XMLReader::getAttributeNs() can no longer return false
kocsismate Sep 16, 2020
81d6cee
Update php_xmlreader.stub.php
kocsismate Sep 16, 2020
e7e3099
Update xmlreader arginfo hash
kocsismate Sep 16, 2020
0286dec
Accept GMP|string|int union in GMP functions
nikic Sep 16, 2020
c76910c
Display types in stubs more uniformly
kocsismate Sep 16, 2020
de91282
Display string default values in stubs more uniformly
kocsismate Sep 16, 2020
36fd95b
Generate arginfos
kocsismate Sep 16, 2020
46d22e4
Change int parameter types to bool when the parameter behaves as bool
kocsismate Sep 16, 2020
8f56b7a
mysqli: Promote warning in field_seek
kamil-tekiela Sep 16, 2020
e3d0bc0
Fixed bug #80109
nikic Sep 17, 2020
a4f806a
Fixed bug #80083
nikic Sep 17, 2020
9c136f1
Merge branch 'PHP-7.3' into PHP-7.4
nikic Sep 17, 2020
801cf66
Merge branch 'PHP-7.4'
nikic Sep 17, 2020
efc52f1
ext/soap: Compare Set-Cookie header case-insensitively
Sep 16, 2020
f0d2efb
Merge branch 'PHP-7.3' into PHP-7.4
nikic Sep 17, 2020
e55a658
Merge branch 'PHP-7.4'
nikic Sep 17, 2020
e9820bf
Fixed memory leak in ext/spl/tests/bug77263.phpt
dstogov Sep 17, 2020
8d37c37
Fix a few UNKNOWN default values in ext/pgsql
kocsismate Sep 16, 2020
202a069
mysqli: use native api
grooverdan Aug 29, 2020
c9abb0c
mysql: native mysql-8.0 uses _Bool
grooverdan Sep 12, 2020
1aab7db
pdo_mysql/mysqli (native) libmysqlclient_r no-longer used
grooverdan Sep 13, 2020
d591e1c
Merge branch 'PHP-7.3' into PHP-7.4
nikic Sep 17, 2020
3ad57f9
Merge branch 'PHP-7.4'
nikic Sep 17, 2020
e7f98f8
Add missing mysqlnd checks to stubs
nikic Sep 17, 2020
5cb8b04
Drop support for libmysqlclient < 5.5
nikic Sep 17, 2020
efdbc36
Fix #80115: mysqlnd.debug doesn't recognize absolute paths with slashes
cmb69 Sep 17, 2020
c3c76db
Merge branch 'PHP-7.3' into PHP-7.4
cmb69 Sep 17, 2020
f601d7c
Merge branch 'PHP-7.4' into master
cmb69 Sep 17, 2020
d4e5b5b
Fix compilation warnings in odbc
nikic Sep 17, 2020
ec08180
Enable unixODBC in azure
nikic Sep 17, 2020
9f2d039
Update to PCRE2 10.35
cmb69 Sep 17, 2020
c584e84
Merge branch 'PHP-7.4' into master
cmb69 Sep 17, 2020
b0661a9
Fix warnings when building against libmysqlclient
nikic Sep 17, 2020
e2b3c0e
Remove checks for old libmysqlclient versions in tests
nikic Sep 17, 2020
86e0027
Fix some tests for libmysql
nikic Sep 17, 2020
c3944c4
Fix mysqli_release_savepoint() on mysqlnd
nikic Sep 17, 2020
3306957
Merge branch 'PHP-7.3' into PHP-7.4
nikic Sep 17, 2020
e9ac7d2
Merge branch 'PHP-7.4'
nikic Sep 17, 2020
f3ea88b
Fix bundled libpcre2 build regarding the `-fcf-protection` gcc flag
cmb69 Sep 17, 2020
cafeec3
Merge branch 'PHP-7.4' into master
cmb69 Sep 17, 2020
95f2583
Allow http tests to run in parallel by using ephemeral ports
sgolemon Sep 15, 2020
a61a9fe
Support ephemeral ports in debug server
sgolemon Sep 14, 2020
bfa8e42
Use ephemeral ports during curl tests with dev server
sgolemon Sep 14, 2020
23429b5
Fixed incorrect register allocation
dstogov Sep 17, 2020
0f9aefa
Fixed incorrect live-range construction
dstogov Sep 17, 2020
a03c1ed
Remove vestiges of embedded mysql from tests
nikic Sep 17, 2020
a9cbdaf
Support for ZEND_COMPILE_EXTENDED_STMT
dstogov Sep 17, 2020
9e94bcf
Remove specialization of SPEC(OBSERVER) handlers
SammyK Sep 17, 2020
34bb5ba
Remove support for EXT_NOP
nikic Sep 18, 2020
d9628b9
Update the default values of xmlwriter_write_dtd_entity()
kocsismate Sep 18, 2020
b4c2670
Fix UNKNOWN default values in ext/pdo_pgsql
kocsismate Sep 18, 2020
d5d31ea
Cleanup observer API and add JIT support
dstogov Sep 18, 2020
c7ceebc
Bug #80107 Add test for mysqli_query() fails for ~16 MB long query wh…
kocsismate Sep 15, 2020
ecd9c42
Fix bug #80107: Handling of large compressed packets
nikic Sep 16, 2020
5e7c5a8
Merge branch 'PHP-7.3' into PHP-7.4
nikic Sep 18, 2020
0582c40
Merge branch 'PHP-7.4'
nikic Sep 18, 2020
bfceb71
Apply tidy to SKIPIF and CLEAN section as well
nikic Sep 18, 2020
c540185
Run tidy
nikic Sep 18, 2020
77f43e4
Use MyISAM engine for new test
nikic Sep 18, 2020
d87c393
Merge branch 'PHP-7.3' into PHP-7.4
nikic Sep 18, 2020
2abea9c
Merge branch 'PHP-7.4'
nikic Sep 18, 2020
6454766
Assert that all switch cases are covered
nikic Sep 18, 2020
74d1699
mysqli_set_charset now throws an mysqli_sql_exception when incorrect …
kamil-tekiela Sep 16, 2020
70cba36
Support NO_BACKSLASH_ESCAPES with newer libmysqlclient
nikic Sep 18, 2020
e6dc9ab
Merge branch 'PHP-7.3' into PHP-7.4
nikic Sep 18, 2020
9962ad6
Merge branch 'PHP-7.4'
nikic Sep 18, 2020
740f0f6
Fix #78179: mysqli/mysqlnd transaction extensions
grooverdan Jul 21, 2020
f231645
Merge branch 'PHP-7.3' into PHP-7.4
nikic Sep 18, 2020
b40ffa9
Merge branch 'PHP-7.4'
nikic Sep 18, 2020
2d00225
Drop skipifemb.inc
nikic Sep 18, 2020
19314ff
Fix some tests for libmysql
nikic Sep 17, 2020
ef9359d
Set-up IMAP in Azure
Girgias Sep 17, 2020
30bb15b
Fix IMAP tests
Girgias Sep 18, 2020
1230672
Add system ID entropy API
SammyK Jul 16, 2020
40e8c7c
Adjust the order of method modifiers in stub
kocsismate Sep 19, 2020
f088aec
Fix UNKNOWN default value of apache_note()
kocsismate Sep 19, 2020
b15885b
Separate Closure::bind() implementations
kocsismate Sep 19, 2020
0741858
Fix mysqli build with mysqlnd and without PDO
bwoebi Sep 20, 2020
a754441
Fix mysqli build with mysqlnd and without PDO
bwoebi Sep 20, 2020
9d1c7f8
Merge branch 'PHP-7.3' into PHP-7.4
nikic Sep 20, 2020
e5082af
Merge branch 'PHP-7.4'
nikic Sep 20, 2020
93745a2
Only check linking in PHP_TEST_BUILD
nikic Sep 20, 2020
81b2f3e
Fix #80114: parse_url does not accept URLs with port 0
cmb69 Sep 20, 2020
105132b
Merge branch 'PHP-7.3' into PHP-7.4
cmb69 Sep 20, 2020
c0f8cc1
Merge branch 'PHP-7.4' into master
cmb69 Sep 20, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@ PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? ????, PHP 8.0.0RC1

- CLI:
. Allow debug server binding to an ephemeral port via `-S localhost:0`. (Sara)
- Core:
. Fixed bug #80109 (Cannot skip arguments when extended debug is enabled).
(Nikita)

17 Sep 2020, PHP 8.0.0beta4

Expand Down
6 changes: 5 additions & 1 deletion UPGRADING
Original file line number Diff line number Diff line change
Expand Up @@ -598,6 +598,8 @@ PHP 8.0 UPGRADE NOTES
. sem_get() will now return an SysvSemaphore object rather than a resource.
Return value checks using is_resource() should be replaced with checks
for `false`.
. The $auto_release parameter of sem_get() was changed to accept bool values
rather than int.

- Sysvshm:
. shm_attach() will now return an SysvSharedMemory object rather than a resource.
Expand Down Expand Up @@ -786,6 +788,8 @@ PHP 8.0 UPGRADE NOTES
array_diff($array, ...$excludes);
// OK even if $arrays only contains a single array.
array_intersect(...$arrays);
. The $flag parameter of ob_implicit_flush() was changed to accept bool
values rather than int.

- Zip:
. Extension updated to version 1.19.0
Expand Down Expand Up @@ -1029,7 +1033,7 @@ PHP 8.0 UPGRADE NOTES

- MySQLi / PDO MySQL:
. When mysqlnd is not used (which is the default and recommended option),
the minimum supported libmysqlclient version is now 5.1.
the minimum supported libmysqlclient version is now 5.5.
. mysqli_result now implements IteratorAggregate (instead of Traversable).

- PGSQL / PDO PGSQL:
Expand Down
10 changes: 10 additions & 0 deletions UPGRADING.INTERNALS
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ PHP 8.0 INTERNALS UPGRADE NOTES
t. Signature changes
u. Error Notification callbacks to replace zend_error_cb overwrite use-cases
v. Removed Zend APIs
w. Renamed Zend APIs
x. ZEND_EXT_NOP no longer emitted

2. Build system changes
a. Abstract
Expand Down Expand Up @@ -367,6 +369,10 @@ PHP 8.0 INTERNALS UPGRADE NOTES
- zend_stack_is_empty()
- zend_ts_hash_exists()
- zend_ts_hash_index_exists()
9. Argument void to const char* in Zend Engine 4.0:
- zend_get_op_array_extension_handle()
10. Argument zend_extension to const char* in Zend Engine 4.0:
- zend_get_resource_handle()

u. Instead of overwriting zend_error_cb extensions with debugging, monitoring
use-cases catching Errors/Exceptions are strongly encouraged to use
Expand Down Expand Up @@ -395,6 +401,10 @@ PHP 8.0 INTERNALS UPGRADE NOTES
w. The following APIs have been renamed:
- _zend_ts_hash_init() to zend_ts_hash_init()

x. In COMPILE_EXTENDED_STMT mode, a ZEND_EXT_NOP opcode will no longer be
generated at the start of a function. Use the new observer APIs or hook
into zend_execute_ex instead.

========================
2. Build system changes
========================
Expand Down
4 changes: 2 additions & 2 deletions Zend/tests/attributes/001_placement.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ $sources = [
];

foreach ($sources as $r) {
$attr = $r->getAttributes();
var_dump(get_class($r), count($attr));
$attr = $r->getAttributes();
var_dump(get_class($r), count($attr));

foreach ($attr as $a) {
var_dump($a->getName(), $a->getArguments());
Expand Down
14 changes: 7 additions & 7 deletions Zend/tests/attributes/003_ast_nodes.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ define('V1', strtoupper(php_sapi_name()));
#[A1([V1 => V1])]
class C1
{
public const BAR = 'bar';
public const BAR = 'bar';
}

$ref = new \ReflectionClass(C1::class);
Expand Down Expand Up @@ -38,7 +38,7 @@ echo "\n";
#[A1(self::FOO, C1::BAR)]
class C3
{
private const FOO = 'foo';
private const FOO = 'foo';
}

$ref = new \ReflectionClass(C3::class);
Expand All @@ -62,23 +62,23 @@ echo "\n";
#[Attribute]
class C5
{
public function __construct() { }
public function __construct() { }
}

$ref = new \ReflectionFunction(#[C5(MissingClass::SOME_CONST)] function () { });
$attr = $ref->getAttributes();
var_dump(count($attr));

try {
$attr[0]->getArguments();
$attr[0]->getArguments();
} catch (\Error $e) {
var_dump($e->getMessage());
var_dump($e->getMessage());
}

try {
$attr[0]->newInstance();
$attr[0]->newInstance();
} catch (\Error $e) {
var_dump($e->getMessage());
var_dump($e->getMessage());
}

?>
Expand Down
46 changes: 23 additions & 23 deletions Zend/tests/attributes/005_objects.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -6,68 +6,68 @@ Attributes can be converted into objects.
#[Attribute(Attribute::TARGET_FUNCTION)]
class A1
{
public string $name;
public int $ttl;

public function __construct(string $name, int $ttl = 50)
{
$this->name = $name;
$this->ttl = $ttl;
}
public string $name;
public int $ttl;

public function __construct(string $name, int $ttl = 50)
{
$this->name = $name;
$this->ttl = $ttl;
}
}

$ref = new \ReflectionFunction(#[A1('test')] function () { });

foreach ($ref->getAttributes() as $attr) {
$obj = $attr->newInstance();
$obj = $attr->newInstance();

var_dump(get_class($obj), $obj->name, $obj->ttl);
var_dump(get_class($obj), $obj->name, $obj->ttl);
}

echo "\n";

$ref = new \ReflectionFunction(#[A1] function () { });

try {
$ref->getAttributes()[0]->newInstance();
$ref->getAttributes()[0]->newInstance();
} catch (\ArgumentCountError $e) {
var_dump('ERROR 1', $e->getMessage());
var_dump('ERROR 1', $e->getMessage());
}

echo "\n";

$ref = new \ReflectionFunction(#[A1([])] function () { });

try {
$ref->getAttributes()[0]->newInstance();
$ref->getAttributes()[0]->newInstance();
} catch (\TypeError $e) {
var_dump('ERROR 2', $e->getMessage());
var_dump('ERROR 2', $e->getMessage());
}

echo "\n";

$ref = new \ReflectionFunction(#[A2] function () { });

try {
$ref->getAttributes()[0]->newInstance();
$ref->getAttributes()[0]->newInstance();
} catch (\Error $e) {
var_dump('ERROR 3', $e->getMessage());
var_dump('ERROR 3', $e->getMessage());
}

echo "\n";

#[Attribute]
class A3
{
private function __construct() { }
private function __construct() { }
}

$ref = new \ReflectionFunction(#[A3] function () { });

try {
$ref->getAttributes()[0]->newInstance();
$ref->getAttributes()[0]->newInstance();
} catch (\Error $e) {
var_dump('ERROR 4', $e->getMessage());
var_dump('ERROR 4', $e->getMessage());
}

echo "\n";
Expand All @@ -78,9 +78,9 @@ class A4 { }
$ref = new \ReflectionFunction(#[A4(1)] function () { });

try {
$ref->getAttributes()[0]->newInstance();
$ref->getAttributes()[0]->newInstance();
} catch (\Error $e) {
var_dump('ERROR 5', $e->getMessage());
var_dump('ERROR 5', $e->getMessage());
}

echo "\n";
Expand All @@ -90,9 +90,9 @@ class A5 { }
$ref = new \ReflectionFunction(#[A5] function () { });

try {
$ref->getAttributes()[0]->newInstance();
$ref->getAttributes()[0]->newInstance();
} catch (\Error $e) {
var_dump('ERROR 6', $e->getMessage());
var_dump('ERROR 6', $e->getMessage());
}

?>
Expand Down
8 changes: 4 additions & 4 deletions Zend/tests/attributes/006_filter.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -55,17 +55,17 @@ echo "\n";
$ref = new \ReflectionFunction(function () { });

try {
$ref->getAttributes(A1::class, 3);
$ref->getAttributes(A1::class, 3);
} catch (\Error $e) {
var_dump('ERROR 1', $e->getMessage());
var_dump('ERROR 1', $e->getMessage());
}

$ref = new \ReflectionFunction(function () { });

try {
$ref->getAttributes(SomeMissingClass::class, \ReflectionAttribute::IS_INSTANCEOF);
$ref->getAttributes(SomeMissingClass::class, \ReflectionAttribute::IS_INSTANCEOF);
} catch (\Error $e) {
var_dump('ERROR 2', $e->getMessage());
var_dump('ERROR 2', $e->getMessage());
}

?>
Expand Down
20 changes: 10 additions & 10 deletions Zend/tests/attributes/011_inheritance.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,19 @@ Attributes comply with inheritance rules.
#[A2]
class C1
{
#[A1]
public function foo() { }
#[A1]
public function foo() { }
}

class C2 extends C1
{
public function foo() { }
public function foo() { }
}

class C3 extends C1
{
#[A1]
public function bar() { }
#[A1]
public function bar() { }
}

$ref = new \ReflectionClass(C1::class);
Expand All @@ -37,20 +37,20 @@ echo "\n";

trait T1
{
#[A2]
public $a;
#[A2]
public $a;
}

class C4
{
use T1;
use T1;
}

class C5
{
use T1;
use T1;

public $a;
public $a;
}

$ref = new \ReflectionClass(T1::class);
Expand Down
12 changes: 6 additions & 6 deletions Zend/tests/attributes/012_ast_export.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ assert(0 && ($a = #[A1] #[A2] function ($a, #[A3(1)] $b) { }));
assert(0 && ($a = #[A1(1, 2, 1 + 2)] fn () => 1));

assert(0 && ($a = new #[A1] class() {
#[A1]#[A2] const FOO = 'foo';
#[A2] public $x;
#[A3] function a() { }
#[A1]#[A2] const FOO = 'foo';
#[A2] public $x;
#[A3] function a() { }
}));

assert(0 && ($a = function () {
#[A1] class Test1 { }
#[A2] interface Test2 { }
#[A3] trait Test3 { }
#[A1] class Test1 { }
#[A2] interface Test2 { }
#[A3] trait Test3 { }
}));

?>
Expand Down
Loading