George Peter Banyard
b40ae80804
Convert iterable into an internal alias for Traversable|array ( #7309 )
...
This does a compile time transformation of ``iterable`` into ``Traversable|array`` which simplifies some of the LSP variance handling.
The arginfo generation script from stubs is updated to produce a union type when it encounters the type ``iterable``
Extension functions which do not regenerate the arginfo, or write them manually are still supported by mimicking the compile time transformation while registering the function.
Type Reflection is preserved for single ``iterable`` (and ``?iterable``) to produce a ReflectionNamedType with name ``iterable``, however usage of ``iterable`` in union types will be converted to ``array|Traversable``
2022-06-07 13:35:34 +01:00
Dmitry Stogov
faf3410957
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix type inference
2022-06-06 11:14:33 +03:00
Dmitry Stogov
b86c6245cc
Fix type inference
...
This fixes oss-fuzz #47777
2022-06-06 11:13:53 +03:00
Dmitry Stogov
e2e2d29973
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix memory leak
2022-05-30 11:39:24 +03:00
Dmitry Stogov
7ebda198ea
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix memory leak
2022-05-30 11:39:10 +03:00
Dmitry Stogov
3a8912fb7c
Fix memory leak
...
This fixes oss-fuzz #47648
2022-05-30 11:32:17 +03:00
Máté Kocsis
21fe72757c
Declare DatePeriod properties ( #8534 )
2022-05-28 08:43:10 +02:00
Arnaud Le Blanc
2f78af397c
Merge branch 'PHP-8.1'
...
* PHP-8.1:
[ci skip] NEWS
Add JIT guards for INIT_METHOD_CALL when the method may be modified (#8600 )
2022-05-27 13:19:31 +02:00
Arnaud Le Blanc
69d263e2a1
Add JIT guards for INIT_METHOD_CALL when the method may be modified ( #8600 )
...
Non-polymorphic methods can be modified from one request to an other due to recompilation or conditional declaration.
Fixes GH-8591
Co-authored-by: Oleg Stepanischev <Oleg.Stepanischev@tatar.ru >
2022-05-27 13:15:15 +02:00
Dmitry Stogov
f135ed9a8a
Fix memory leak
...
This fixes oss-fuzz #47527
2022-05-23 13:33:20 +03:00
Ilija Tovilo
85d41da32a
Merge branch 'PHP-8.1'
...
* PHP-8.1:
[skip ci] Add NEWS entry
Fix undefined behavior in php_set_inet6_addr
Reduce the scope of XFAIL (#8592 )
2022-05-22 23:29:53 +02:00
Ilija Tovilo
7a2747ba78
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix undefined behavior in php_set_inet6_addr
Reduce the scope of XFAIL (#8592 )
2022-05-22 23:27:47 +02:00
Arnaud Le Blanc
c12141c860
Reduce the scope of XFAIL ( #8592 )
2022-05-20 19:11:00 +02:00
Arnaud Le Blanc
c88dc44a75
Revert "XFAIL tests (GH-8588)"
...
This reverts commit f2ac4f206a .
2022-05-20 13:38:44 +02:00
Arnaud Le Blanc
6465f3ed13
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
XFAIL tests (GH-8588)
Stop closing stderr and stdout streams (#8569 )
2022-05-20 13:36:22 +02:00
Arnaud Le Blanc
f2ac4f206a
XFAIL tests (GH-8588)
2022-05-20 13:27:24 +02:00
Dmitry Stogov
462d00f548
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix memory leak
2022-05-16 13:48:51 +03:00
Dmitry Stogov
c430116a11
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix memory leak
2022-05-16 13:48:40 +03:00
Dmitry Stogov
84ea0aa684
Fix memory leak
...
This fixes oss-fuzz #47448
2022-05-16 13:45:31 +03:00
Dmitry Stogov
adc8155119
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix type inference
2022-05-16 12:42:14 +03:00
Dmitry Stogov
aad5fbac85
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix type inference
2022-05-16 12:42:04 +03:00
Dmitry Stogov
05375602a7
Fix type inference
...
This fixes oss-fuzz #47422
2022-05-16 12:41:25 +03:00
Arnaud Le Blanc
298c1ab92e
Merge branch 'PHP-8.1'
2022-05-13 12:48:51 +02:00
Arnaud Le Blanc
332bd03782
Do not optimize out ini_get() when the entry does not exist during compilation ( #8507 )
...
The entry may exist later if dl is enabled
Fixes GH-8466
2022-05-13 12:35:00 +02:00
Dmitry Stogov
f9483708c7
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Add JIT guards for INIT_FCALL instructions and functions that may be modified
2022-05-12 18:46:12 +03:00
Dmitry Stogov
6c25413183
Add JIT guards for INIT_FCALL instructions and functions that may be modified
...
For methods we reuse mechanism of polymorphic calls.
For regular function we invalidate the whole root trace.
This fixes https://github.com/php/php-src/issues/8461
2022-05-12 18:44:12 +03:00
Dmitry Stogov
89fa77516c
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix type inference
2022-05-11 12:40:16 +03:00
Dmitry Stogov
84c1e99ecf
Fix type inference
...
This fizes oss-fuzz #47044
2022-05-11 12:39:26 +03:00
Dmitry Stogov
2495459e50
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix type inference
2022-05-11 12:10:00 +03:00
Dmitry Stogov
f1fc58ed8d
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix type inference
2022-05-11 12:09:53 +03:00
Dmitry Stogov
3f1e1b9ddf
Fix type inference
...
This fixes oss-fuzz #47049
2022-05-11 12:09:11 +03:00
Ilija Tovilo
9a90bd7054
Deprecate ${} string interpolation
...
https://wiki.php.net/rfc/deprecate_dollar_brace_string_interpolation
2022-05-05 10:14:56 +02:00
Dmitry Stogov
45d7695b5d
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fixed tests
2022-04-26 08:32:50 +03:00
Dmitry Stogov
e9d65c8e2b
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fixed tests
2022-04-26 08:32:28 +03:00
Dmitry Stogov
3564eaff42
Fixed tests
2022-04-26 08:31:42 +03:00
Dmitry Stogov
27efd125ed
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix ISSET_ISEMPTY_VAR missoptimization
2022-04-25 13:31:40 +03:00
Dmitry Stogov
948ef10dd0
Fix ISSET_ISEMPTY_VAR missoptimization
...
This fixes oss-fuzz #46909
2022-04-25 13:31:01 +03:00
Dmitry Stogov
73514d6e4f
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Reorder optimization passes to avoid miss-optimization
2022-04-25 13:12:03 +03:00
Dmitry Stogov
1aa5e9392d
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Reorder optimization passes to avoid miss-optimization
2022-04-25 13:09:31 +03:00
Dmitry Stogov
3b735456c6
Reorder optimization passes to avoid miss-optimization
2022-04-25 13:09:05 +03:00
Dmitry Stogov
992c8061b4
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix type inference
2022-04-25 12:17:17 +03:00
Dmitry Stogov
e14dc15e13
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix type inference
2022-04-25 12:17:07 +03:00
Dmitry Stogov
3e78964742
Fix type inference
...
Use MAY_BE_NULL result (insted of empty) for ASSIGN_DIM with invalid arguments
This fixes oss-fuzz #46840
2022-04-25 12:15:55 +03:00
Dmitry Stogov
9e6eb9d5a5
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix type narrowing warning during type inference of ZEND_FETCH_DIM_W
2022-04-25 11:18:37 +03:00
Dmitry Stogov
2cff0e674d
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix type narrowing warning during type inference of ZEND_FETCH_DIM_W
2022-04-25 11:17:04 +03:00
Dmitry Stogov
8286de2fd3
Fix type narrowing warning during type inference of ZEND_FETCH_DIM_W
...
Fixes oss-fuzz #45820
2022-04-25 11:16:10 +03:00
Jakub Zelenka
436cffc971
Merge branch 'PHP-8.1'
2022-04-22 23:08:23 +01:00
Arnaud Le Blanc
f20e11cbe1
Clear recorded errors before executing shutdown functions
...
Recorded errors may be attached to the wrong cached script when a fatal error
occurs during recording. This happens because the fatal error will cause a
bailout, which may prevent the recorded errors from being freed. If an other
script is compiled after bailout, or if a class is linked after bailout, the
recorded errors will be attached to it.
This change fixes this by freeing recorded errors before executing shutdown
functions.
Fixes GH-8063
2022-04-22 18:14:08 +02:00
Ilija Tovilo
3b4eaf67ec
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix preloading of constants containing enums
2022-04-21 11:59:15 +02:00
Ilija Tovilo
4397811db2
Fix preloading of constants containing enums
...
Fixes GH-8133
2022-04-21 11:57:12 +02:00