Commit Graph

126880 Commits

Author SHA1 Message Date
Kamil Tekiela
c149d37611
Merge branch 'PHP-8.1'
* PHP-8.1:
  mysqli_reap_async_query error reporting (#7629)
2021-11-09 18:17:37 +00:00
Kamil Tekiela
15a2c8660b
mysqli_reap_async_query error reporting (#7629) 2021-11-09 18:16:36 +00:00
Nikita Popov
4f3c0efeb0 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix bug #81441
2021-11-09 16:23:46 +01:00
Nikita Popov
425e70c11c Fix bug #81441
Zero-initialize the sa4/sa6 structures. On musl sin6_scope_id is
used by getnameinfo() without NI_NUMERICHOST flag. In the interest
of being conservative simply zero out everything.
2021-11-09 16:23:11 +01:00
Nikita Popov
cd3fbb1b15 Fix file name clash in phar test 2021-11-09 15:52:10 +01:00
Dmitry Stogov
6e3f3cbaee Improve strtr() performance using SSE2 instructions 2021-11-09 17:32:27 +03:00
Kamil Tekiela
304f758bf8 Remove redundant checks
I am unsure what this condition was actually supposed to do, but it
seems like it was only checking for 1 (loose check)
2021-11-09 14:00:30 +00:00
Kamil Tekiela
c5cc4c813c Fix grammar in code comments 2021-11-09 14:00:30 +00:00
Kamil Tekiela
0ac7dacc23 Fix PHP DocBlock 2021-11-09 14:00:30 +00:00
Kamil Tekiela
97bef32976 Invalid condition in connect.inc 2021-11-09 14:00:30 +00:00
Kamil Tekiela
1b3a73bbd7 Refactor have_innodb function 2021-11-09 14:00:30 +00:00
Tyson Andre
2b1b384d9a Fix inconsistency in true/false/null constant resolution when opcache is not used (#7441)
Strangely, uses of eval and 'php -a' (or loading a file without opcache after a namespaced constant was declared)
will not treat non-FQ true/false/null as magic keywords, while compiled php required from a file would do that.

This may confuse people learning the language, and result in code loaded with
eval() behaving differently from the same snippet in a file loaded by require.

```
Interactive shell

php > define('foo\true', 'test');
php > namespace foo { var_dump(true); }
string(4) "test"
```

This will make the same session instead properly emit `bool(true);` like it
already would if running those statements in files when opcache was used.

(cherry picked from commit 4c48fd22d7)
2021-11-09 10:43:56 +01:00
Nikita Popov
86379b6710 Warn if return type on internal __toString() is missing 2021-11-09 10:24:41 +01:00
Nikita Popov
85acad5688 Merge branch 'PHP-8.1'
* PHP-8.1:
  Add string return type to __toString() of internal classes
2021-11-09 10:21:16 +01:00
Nikita Popov
277caa1db0 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Add string return type to __toString() of internal classes
2021-11-09 10:20:36 +01:00
Nikita Popov
a551b08307 Add string return type to __toString() of internal classes
Same as with userland classes, automatically add a string return
type to __toString() methods in internal classes, so the signature
is compatible with Stringable.
2021-11-09 10:17:26 +01:00
Dmitry Stogov
fc60f2cce4 Merge branch 'PHP-8.1'
* PHP-8.1:
  Tracing JIT: Fixed missed type store in deoptimization code
2021-11-09 00:56:42 +03:00
Dmitry Stogov
eda9d7ac22 Tracing JIT: Fixed missed type store in deoptimization code 2021-11-09 00:55:40 +03:00
Dmitry Stogov
b7f19f2674 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fixed incorrect reference counter inference
2021-11-08 20:55:09 +03:00
Dmitry Stogov
9bd490dc33 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fixed incorrect reference counter inference
2021-11-08 20:54:45 +03:00
Dmitry Stogov
535a0553e8 Fixed incorrect reference counter inference 2021-11-08 20:54:17 +03:00
Dmitry Stogov
85aa735bc7 Merge branch 'PHP-8.1'
* PHP-8.1:
  JIT: Fixed incorrect guard elimination
2021-11-08 20:09:40 +03:00
Dmitry Stogov
9db900926c Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  JIT: Fixed incorrect guard elimination
2021-11-08 20:09:01 +03:00
Dmitry Stogov
8fe808207f JIT: Fixed incorrect guard elimination 2021-11-08 20:08:39 +03:00
Nikita Popov
e506564e08 Merge branch 'PHP-8.1'
* PHP-8.1:
  Drop pi nodes for both old/new pred in replace_predecessor
2021-11-08 14:58:42 +01:00
Nikita Popov
e5c2ad45dd Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Drop pi nodes for both old/new pred in replace_predecessor
2021-11-08 14:57:16 +01:00
Nikita Popov
53df29bc29 Drop pi nodes for both old/new pred in replace_predecessor
We also need to drop pi nodes for new_pred here, as the pi node
restriction for new_pred is not necessarily true for control
coming from old_pred as well.

Fixes oss-fuzz #40782.
2021-11-08 14:56:42 +01:00
Dmitry Stogov
f823999d49 Merge branch 'PHP-8.1'
* PHP-8.1:
  Don't call _zend_hash_index_find() for packed arrays
2021-11-08 13:14:11 +03:00
Dmitry Stogov
03f149799a Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Don't call _zend_hash_index_find() for packed arrays
2021-11-08 13:13:48 +03:00
Dmitry Stogov
e868ded6ef Don't call _zend_hash_index_find() for packed arrays 2021-11-08 13:13:23 +03:00
Nikita Popov
76df12cff0 Merge branch 'PHP-8.1'
* PHP-8.1:
  Combine variance obligation processing and error reporting
2021-11-08 10:42:41 +01:00
Nikita Popov
b969ce3b98 Combine variance obligation processing and error reporting
I don't believe there's a reason anymore to first resolve all
delayed variance obligations, and then report errors if any are
left.  We can report errors directly when resolving obligations.
2021-11-08 10:42:03 +01:00
Derick Rethans
369ab3b53e Merge branch 'PHP-8.1' 2021-11-08 09:40:41 +00:00
Derick Rethans
904933e918 Fixed bug #81458: Regression: Incorrect difference after timezone change 2021-11-08 09:40:27 +00:00
Dmitry Stogov
dc06c0efc9 Merge branch 'PHP-8.1'
* PHP-8.1:
  JIT: Fixed incorrect guard elimination
2021-11-08 12:29:12 +03:00
Dmitry Stogov
b1b6440d84 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  JIT: Fixed incorrect guard elimination
2021-11-08 12:29:03 +03:00
Dmitry Stogov
7bf63243e1 JIT: Fixed incorrect guard elimination 2021-11-08 12:28:36 +03:00
Nikita Popov
53332b7f66 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix bug #78647
2021-11-08 10:00:07 +01:00
Nikita Popov
a38f4f9881 Fix bug #78647
We can't take ownership of the delayed autoload table here. It is
important that pending classes get loaded before resolving variance
of any nested classed, as they might actually be lower in the
hierarchy.
2021-11-08 09:59:33 +01:00
Máté Kocsis
fdf63bfef3
Merge branch 'PHP-8.1'
* PHP-8.1:
  Add more specific array return type hints for various extensions - part 1
2021-11-07 08:48:49 +01:00
Máté Kocsis
d02b9b953d
Add more specific array return type hints for various extensions - part 1
ext/bz2, ext/calendar, ext/dba, ext/enchant

Closes GH-7432
2021-11-07 08:46:25 +01:00
George Peter Banyard
7db32add9b
Refactor dba_(p)open() to be more sensible (#7610)
Actually use ZPP
Throw ValueErrors for invalid values
Use dedicated struc members for file permission and map size instead of a zval stack
2021-11-06 23:09:40 +00:00
George Peter Banyard
a6cc76eeb8
Remove XFAIL
This was fixed in PHP 7 according to https://bugs.php.net/bug.php?id=61390 (which the linked commit points to)
2021-11-06 20:50:07 +00:00
Kamil Tekiela
9b433c2398
Fix SKIP in mysqli tests 2021-11-06 20:46:04 +00:00
Nikita Popov
ee2cec186c Merge branch 'PHP-8.1'
* PHP-8.1:
  Partially address bug #78647
2021-11-05 17:07:14 +01:00
Nikita Popov
a2fe8d48b1 Partially address bug #78647
Produce a sensible error message for the case where inheritance
should fail. There is still a remaining issue that we sometimes
fail inheritance while we should not.
2021-11-05 17:05:55 +01:00
Nikita Popov
fdf0455ff3 Merge branch 'PHP-8.1'
* PHP-8.1:
  Promote incorrect bzerr stream type to TypeError
2021-11-05 11:14:18 +01:00
Nikita Popov
c19c380323 Promote incorrect bzerr stream type to TypeError
This restores the signature we originally promised for PHP-8.0,
without the spurious false return type.
2021-11-05 11:13:08 +01:00
Nikita Popov
31fe384a7b Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix stubs for bzerr* functions
2021-11-05 11:10:39 +01:00
Nikita Popov
543bc88646 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix stubs for bzerr* functions
2021-11-05 11:09:57 +01:00