Daniel Scherzer
b83dd1055b
gen_stub: use real mixed type
2026-03-20 14:44:10 -07:00
Arnaud Le Blanc
2e20074310
Merge branch 'PHP-8.5'
...
* PHP-8.5:
Fix GH-20875: Propagate IN_GET guard in get_property_ptr_ptr for lazy proxies
2026-03-20 15:45:55 +01:00
Arnaud Le Blanc
5485f8ee40
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Fix GH-20875: Propagate IN_GET guard in get_property_ptr_ptr for lazy proxies
2026-03-20 15:45:42 +01:00
Ilia Alshanetsky
9ec303edde
Fix GH-20875: Propagate IN_GET guard in get_property_ptr_ptr for lazy proxies
...
zend_std_get_property_ptr_ptr() was the only property handler that did
not propagate the IN_GET guard to the underlying object when forwarding
from a lazy proxy after initialization. This caused __get to be called
on the underlying object when it shouldn't be, leading to assertion
failures.
The same guard-copying pattern already existed in read_property,
write_property, unset_property, and has_property since commit
26f5009e91 (GH-18039).
Also fixes GH-20873 and GH-20854.
Closes GH-20875
2026-03-20 15:44:21 +01:00
Ilija Tovilo
e39b6b9697
Merge branch 'PHP-8.5'
...
* PHP-8.5:
Use default branch for symfony/laravel when possible
Fix Laravel build for PHP 8.2
2026-03-20 14:50:13 +01:00
Ilija Tovilo
f134227e5d
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Use default branch for symfony/laravel when possible
Fix Laravel build for PHP 8.2
2026-03-20 14:50:08 +01:00
Ilija Tovilo
69b455c89e
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Use default branch for symfony/laravel when possible
Fix Laravel build for PHP 8.2
2026-03-20 14:50:02 +01:00
Ilija Tovilo
d1c39a5bd9
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Use default branch for symfony/laravel when possible
Fix Laravel build for PHP 8.2
2026-03-20 14:49:54 +01:00
Ilija Tovilo
272cf1fb2d
Use default branch for symfony/laravel when possible
...
This way we don't have to keep bumping when new branches release, we just need
to pin to old versions when incompatibilities pop up.
2026-03-20 13:32:42 +01:00
Ilija Tovilo
183d2a617f
Fix Laravel build for PHP 8.2
...
Laravel 13.x dropped support for PHP 8.2. Fall back to 12.x for 8.2.
Closes GH-21473
2026-03-20 13:14:43 +01:00
Gina Peter Banyard
38cbbee4aa
Zend: add const qualifiers to the majority of compare functions ( #21304 )
...
This sadly does not include zend_compare() and functions relying on it because the default compare object hook (zend_std_compare_objects()) relies on zend_compare(), and adds recursion protections to OP1.
Thus making it seems difficult or even impossible for zend_compare to take const parameters.
2026-03-19 20:36:19 +00:00
Ilija Tovilo
8c42cf473e
Merge branch 'PHP-8.5'
...
* PHP-8.5:
Fix expected output for bug52820.phpt
2026-03-19 13:19:07 +01:00
Ilija Tovilo
f7753608cc
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Fix expected output for bug52820.phpt
2026-03-19 13:19:01 +01:00
Ilija Tovilo
b97dd3318d
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix expected output for bug52820.phpt
2026-03-19 13:18:54 +01:00
Ilija Tovilo
551809576b
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix expected output for bug52820.phpt
2026-03-19 13:18:36 +01:00
Ilija Tovilo
b8b5fb074d
Fix expected output for bug52820.phpt
...
Newer versions of curl seem to omit the "Closing connection ..." message. Make
the entire line optional.
2026-03-19 13:15:57 +01:00
Giovanni Giacobbi
103e35df7d
ext/session: code refactoring - improve readability and consistency
2026-03-19 10:48:05 +00:00
Giovanni Giacobbi
d63fb997e2
ext/session: code cleanup - use single empty line except for sections
2026-03-19 10:48:05 +00:00
Giovanni Giacobbi
adba504ea8
ext/session: code cleanup - space after control flow keywords
2026-03-19 10:48:05 +00:00
Giovanni Giacobbi
3b20ccda19
ext/session: code cleanup - don't use tabs for alignments
2026-03-19 10:48:05 +00:00
Giovanni Giacobbi
a6802737b3
ext/session: code cleanup - use consistent pointer declarations
2026-03-19 10:48:05 +00:00
Giovanni Giacobbi
7b16f81651
ext/session: code cleanup - use tab for indent
2026-03-19 10:48:05 +00:00
Dmitry Stogov
db37779940
Merge branch 'PHP-8.5'
...
* PHP-8.5:
Fix GH-21411: opcache_compile_file() fails to early-bind classes without parents (#21412 )
2026-03-19 11:13:41 +03:00
Dmitry Stogov
aa9964eebb
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Fix GH-21411: opcache_compile_file() fails to early-bind classes without parents (#21412 )
2026-03-19 11:13:30 +03:00
Rasmus Lerdorf
1a79ea47c5
Fix GH-21411: opcache_compile_file() fails to early-bind classes without parents ( #21412 )
2026-03-19 11:12:45 +03:00
Tim Düsterhus
ab043eefa4
[skip ci] Update versioned binary name in bug_report.yml template
...
Use `php8.5` instead of `php8.3`, matching the example output.
Following 769258f561 .
2026-03-18 21:47:48 +01:00
Tim Düsterhus
769258f561
[skip ci] Update php -v placeholder in bug_report.yml template
...
PHP 8.3 is out of active support. Show a supported version in the example.
2026-03-18 21:46:12 +01:00
Arshid
9b022c4c5c
ext/standard: replace RETVAL_EMPTY_ARRAY() + return with RETURN_EMPTY_ARRAY() ( #21464 )
2026-03-18 05:30:03 +00:00
ndossche
e6db18b74c
Merge branch 'PHP-8.5'
...
* PHP-8.5:
[ci skip] Update JIT news
2026-03-17 08:53:46 +01:00
ndossche
cefdfc9f5c
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
[ci skip] Update JIT news
2026-03-17 08:53:41 +01:00
ndossche
ae863ea4f8
[ci skip] Update JIT news
...
Closes GH-21395.
2026-03-17 08:53:10 +01:00
ndossche
a16ace8ee7
Merge branch 'PHP-8.5'
...
* PHP-8.5:
Fix GH-21454: Missing write lock validation in SplHeap
2026-03-17 08:47:51 +01:00
ndossche
c9a6743b59
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Fix GH-21454: Missing write lock validation in SplHeap
2026-03-17 08:47:46 +01:00
ndossche
8796d75365
Fix GH-21454: Missing write lock validation in SplHeap
...
Closes GH-21448.
2026-03-17 08:47:20 +01:00
Dmitry Stogov
8cf917990c
Merge branch 'PHP-8.5'
...
* PHP-8.5:
Update IR (#21462 )
2026-03-16 22:55:42 +03:00
Dmitry Stogov
0b2d8136e3
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Update IR (#21462 )
2026-03-16 22:55:26 +03:00
Dmitry Stogov
a5637221ee
Update IR ( #21462 )
...
IR commit: 7fed7999743ba6a5ffc5535e786725d5577f6f34
2026-03-16 22:55:03 +03:00
Dmitry Stogov
c43880587b
Update IR ( #21462 )
...
IR commit: 7fed7999743ba6a5ffc5535e786725d5577f6f34
2026-03-16 22:52:40 +03:00
Dmitry Stogov
0bd3a6b7f2
Merge branch 'PHP-8.5'
...
* PHP-8.5:
Fix support for TAILCALL VM
Fix GH-21267: JIT infinite loop on FETCH_OBJ_R with IS_UNDEF property (#21368 )
2026-03-16 21:58:32 +03:00
Dmitry Stogov
00ff93d660
Fix support for TAILCALL VM
2026-03-16 21:57:40 +03:00
Dmitry Stogov
81504d3db7
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Fix GH-21267: JIT infinite loop on FETCH_OBJ_R with IS_UNDEF property (#21368 )
2026-03-16 21:32:27 +03:00
Ilia Alshanetsky
e1a3a4c9a4
Fix GH-21267: JIT infinite loop on FETCH_OBJ_R with IS_UNDEF property ( #21368 )
...
When the JIT defers the IS_UNDEF check for FETCH_OBJ_R to the result
type guard, the deoptimization escape path dispatches to opline->handler
via the trace_escape stub. If opline->handler has been overwritten with
JIT code (e.g. a function entry trace), this creates an infinite loop.
Fix by dispatching to the original VM handler (orig_handler from the
trace extension) instead of going through the trace_escape stub. This
avoids the extra IS_UNDEF guard on every property read while correctly
handling the rare IS_UNDEF case during deoptimization.
Also set current_op_array in zend_jit_trace_exit_to_vm so that the
blacklisted exit deoptimizer can resolve orig_handler, covering the
case where side trace compilation is exhausted.
Closes GH-21368.
2026-03-16 21:31:49 +03:00
Daniel Scherzer
25f62cfa1f
gen_stub: simplify with early returns
2026-03-16 09:53:51 -07:00
Daniel Scherzer
f1dd3f2f30
gen_stub: move generateArgInfoCode() into FileInfo
...
Reduce the number of global functions by moving it to instance method
`FileInfo::generateArgInfoCode()`.
In the process, make the following parts of `FileInfo` private:
- `$funcInfos`
- `$generateFunctionEntries`
- `$declarationPrefix`
- `$generateClassEntries`
- `$generateCEnums`
- `::getMinimumPhpVersionIdCompatibility()`
2026-03-16 09:53:51 -07:00
Daniel Scherzer
777fa5d158
gen_stub: fix typo $minPHPCompatability to $minPHPCompatibility
2026-03-16 09:53:51 -07:00
Daniel Scherzer
8ee5a524fa
gen_stub: polyfill and use array_any()
2026-03-16 09:53:51 -07:00
Daniel Scherzer
a1d8e525f0
gen_stub: drop unused parameter in ConstInfo::getClassConstDeclaration()
2026-03-16 09:53:34 -07:00
Alexandre Daubois
a8543dfdd2
Convert remaining zend_parse_parameters_none() to ZPP ( #21343 )
2026-03-16 09:28:08 +01:00
Ilija Tovilo
0039af028c
Propagate bind error for stream_socket_server()
...
When stream_socket_server() fails during bind(), we're currently only showing
"Unknown error" in the error message. Properly propagate this error for better
diagnostics.
Closes GH-21328
2026-03-16 08:53:38 +01:00
Arshid
f44609c84d
ext/standard: Remove unreachable break after RETURN_STRING ( #21459 )
2026-03-16 07:40:55 +00:00