Revision tags: php-7.4.0RC1 |
|
#
94e2f25f |
| 03-Sep-2019 |
Tyson Andre |
Add missing opcache return types for functions in spl (excluding spl_autoload) spl_object_id() is of the most interest to me, since I frequently call it in an application.
Add missing opcache return types for functions in spl (excluding spl_autoload) spl_object_id() is of the most interest to me, since I frequently call it in an application. This includes false/null types caused by wrong argument types and wrong argument counts. I can't rule out iterator_to_array returning null in spl_iterator_apply, so leave MAY_BE_NULL in. With review comments by nikic: Co-Authored-By: Nikita Popov <nikita.ppv@googlemail.com>
show more ...
|
#
597a5da0 |
| 03-Sep-2019 |
Nikita Popov |
Support computing func info from ret arg info for internal funcs
|
#
3cca014c |
| 03-Sep-2019 |
Nikita Popov |
Remove duplicate func info for array_key_first/last Looks like this was already added in master separately...
|
#
4de8503c |
| 03-Sep-2019 |
Tyson Andre |
Add missing opcache return info for ext/standard. array_key_first/last returns null for invalid args, wrong argument counts, and empty arrays. random_bytes returns a string or t
Add missing opcache return info for ext/standard. array_key_first/last returns null for invalid args, wrong argument counts, and empty arrays. random_bytes returns a string or throws.
show more ...
|
#
1a905bcb |
| 03-Sep-2019 |
Tyson Andre |
Add new missing functions from ext/hash
|
#
14958828 |
| 03-Sep-2019 |
Tyson Andre |
Fix opcache optimizer info for time_nanosleep (again) Fixes my earlier PR #4617 If I remember correctly, The F0 macro is used for return values that are guaranteed to not be
Fix opcache optimizer info for time_nanosleep (again) Fixes my earlier PR #4617 If I remember correctly, The F0 macro is used for return values that are guaranteed to not be reference counted. The F1 macro is used for return values that may have up to 1 reference (i.e. MAY_BE_RC1). I didn't notice that time_nanosleep needed to be F1 since it could return an array, and that array is reference counted.
show more ...
|
#
7f78f839 |
| 03-Sep-2019 |
Nikita Popov |
php_stream_from_zval can no longer return false
|
#
9c3b7ccd |
| 03-Sep-2019 |
Tyson Andre |
Fix opcache return type for hash_update_stream It can return false if the resource type is wrong. ``` php > var_export(hash_update_stream(hash_init('md5'), imagecrea
Fix opcache return type for hash_update_stream It can return false if the resource type is wrong. ``` php > var_export(hash_update_stream(hash_init('md5'), imagecreate(1,1))); Warning: hash_update_stream(): supplied resource is not a valid stream resource in php shell code on line 1 false ``` The return types were initially added in c88ffa9a5673cb3141660626ba1921671f0b84d6
show more ...
|
#
0581508b |
| 02-Sep-2019 |
Dmitry Stogov |
Fixed pow() function info
|
#
69cf5352 |
| 30-Aug-2019 |
Nikita Popov |
Fix func info for chop() chop() is an alias of rtrim() and may return copied strings, so should use FN.
|
Revision tags: php-7.1.32, php-7.2.22, php-7.3.9 |
|
#
1e82a2d6 |
| 25-Aug-2019 |
Tyson Andre |
Also fix signature for passthru Backported from a1a8d144854acb1c891cf0c21abb0f612b1d8de7 https://www.php.net/manual/en/function.passthru.php#refsect1-function.passthru-returnvalues
Also fix signature for passthru Backported from a1a8d144854acb1c891cf0c21abb0f612b1d8de7 https://www.php.net/manual/en/function.passthru.php#refsect1-function.passthru-returnvalues `passthru()` is false with invalid args `passthru('command')` is null.
show more ...
|
#
f5bccc0e |
| 25-Aug-2019 |
Tyson Andre |
Fix opcache optimizer info for time_nanosleep This can also return an array. See https://www.php.net/manual/en/function.time-nanosleep.php#refsect1-function.time-nanosleep-returnvalues
Fix opcache optimizer info for time_nanosleep This can also return an array. See https://www.php.net/manual/en/function.time-nanosleep.php#refsect1-function.time-nanosleep-returnvalues > If the delay was interrupted by a signal, an associative array will be returned with the components: > > - seconds - number of seconds remaining in the delay > - nanoseconds - number of nanoseconds remaining in the delay Sending a SIGUSR1 to the below program would trigger this behavior. ``` pcntl_signal(\SIGUSR1, function ($signo, $signinfo) { echo "Handling a signal $signo\n"; }); echo "Sleeping for 100 seconds\n"; var_export(time_nanosleep(100, 0)); ``` The incomplete signature existed since c88ffa9a5. No phpt tests existed for time_nanosleep returning an array
show more ...
|
Revision tags: php-7.4.0beta4 |
|
#
50be2ecb |
| 20-Aug-2019 |
Tyson Andre |
Fix opcache type info for stream_bucket_make_writable() Closes GH-4567.
|
Revision tags: php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1, php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3, php-7.3.7, php-7.2.20, php-7.4.0alpha2 |
|
#
638c2176 |
| 23-Jun-2019 |
Peter Kokot |
Remove HAVE_STRCOLL check The strcoll function is defined in the C89 standard and should be on today's systems always available via the <string.h> header. https://port70.net/~ns
Remove HAVE_STRCOLL check The strcoll function is defined in the C89 standard and should be on today's systems always available via the <string.h> header. https://port70.net/~nsz/c/c89/c89-draft.html#4.11.4.3 - Remove also SKIPIF strcoll check in test
show more ...
|
Revision tags: php-7.3.7RC3, php-7.3.7RC2, php-7.2.20RC2 |
|
#
38c0f605 |
| 15-Jun-2019 |
Tyson Andre |
zend_func_info: Remove null from methods with non-null return type Detected by parsing the strings in zend_func_info.c, looping over them and checking for inconsistencies with Reflection
zend_func_info: Remove null from methods with non-null return type Detected by parsing the strings in zend_func_info.c, looping over them and checking for inconsistencies with Reflection. (new ReflectionFunction('str_shuffle')->getReturnType()) would be a non-null 'string', for example. - e.g. that change was made in 7393777da97977db5a4786a4dbe765bde4bc3921 for php 8.0 Closes GH-4269.
show more ...
|
#
74589cf6 |
| 15-Jun-2019 |
Tyson Andre |
Make opcache zend_func_info consistent with Reflection for ctype This follows up with php 8.0 adding a real return type (non-null bool) in 1409a3b1535e221d8449416d77ed45175f3335d2
|
Revision tags: php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1 |
|
#
5d3e3a62 |
| 09-Jun-2019 |
Tyson Andre |
Be more precise about possible types for mysqli methods mysqli has an uncommon approach to 64-bit compatibility: it will convert numbers that can't be represented on 32-bit platforms
Be more precise about possible types for mysqli methods mysqli has an uncommon approach to 64-bit compatibility: it will convert numbers that can't be represented on 32-bit platforms to a string. This is documented at https://www.php.net/manual/en/mysqli-stmt.affected-rows.php#refsect1-mysqli-stmt.affected-rows-returnvalues So if there's a query to a remote mysqli server that affects more than 2.2 billion rows, then the opcache inference might be incorrect. (It's possible to add a MAY_BE_STRING_ON_32_BIT_PLATFORM bitflag macro to account for this, but I don't think there's a need or want to?) Patches 3162285b86871fb22a85a50ce9bc30823da64b6a This is based on the list of php 7.4 functions using MYSQLI_RETURN_LONG_INT in mysqli_api.c
show more ...
|
#
07c63c6f |
| 09-Jun-2019 |
Tyson Andre |
Fix opcache signatures for mysqli_stat See mysqli_api.c and https://www.php.net/manual/en/mysqli.stat.php
|
#
7350e808 |
| 09-Jun-2019 |
Tyson Andre |
Fix bug in opcache flags for mysqli_get_charset https://www.php.net/manual/en/mysqli.get-charset.php tests/mysqli_field_seek.phpt has a test of this returning an object. Looking
Fix bug in opcache flags for mysqli_get_charset https://www.php.net/manual/en/mysqli.get-charset.php tests/mysqli_field_seek.phpt has a test of this returning an object. Looking at the source in ext/mysqli/mysqli_nonapi.c, this should be object|null, not array|null This might actually cause bugs in opcache's inferences, (no proof of this) so it might make sense to pull this patch into an earlier minor version.
show more ...
|
Revision tags: php-7.2.19, php-7.3.6, php-7.1.30, php-7.2.19RC1 |
|
#
eecd8961 |
| 14-May-2019 |
Nikita Popov |
Add get_mangled_object_vars() function
|
#
cdc82f19 |
| 09-Jun-2019 |
Tyson Andre |
Fix php 8.0's opcache flags for pathinfo() See https://php.net/pathinfo This fixes a bug introduced in the cleanup for commit 0d79c70cf3c10f60a2e8fbfd68903d8716b7b43c `
Fix php 8.0's opcache flags for pathinfo() See https://php.net/pathinfo This fixes a bug introduced in the cleanup for commit 0d79c70cf3c10f60a2e8fbfd68903d8716b7b43c `pathinfo($str, PATHINFO_EXTENSION)` will always return a string (if there is no extension, the function returns the empty string)
show more ...
|
#
5c8b702e |
| 09-Jun-2019 |
Tyson Andre |
Fix typo in opcache function flag info (mage->image) ext/gd/gd.c seems to return null for wrong parameter count, false for error, and long otherwise. See https://php.net/imagecoloralloca
Fix typo in opcache function flag info (mage->image) ext/gd/gd.c seems to return null for wrong parameter count, false for error, and long otherwise. See https://php.net/imagecolorallocate In php 8.0, the MAY_BE_NULL can probably be removed.
show more ...
|
#
cbaf37ff |
| 09-Jun-2019 |
Tyson Andre |
Delete opcache flags for php 8.0's removed mbereg*() aliases See UPGRADING for Mbstring. All of these are aliases of corresponding `mb_*` functions that existed in php 7 but were rem
Delete opcache flags for php 8.0's removed mbereg*() aliases See UPGRADING for Mbstring. All of these are aliases of corresponding `mb_*` functions that existed in php 7 but were removed in php 8. Other functions such as gzgetss were already removed.
show more ...
|
#
b921564a |
| 09-Jun-2019 |
Tyson Andre |
Clean up opcache func flags for set_socket_blocking It was removed in php 7.0. See https://php.net/set_socket_blocking
|
#
0542eb5b |
| 11-Jun-2019 |
Joe Watkins |
Rest of c3e78efecfca85fc497357cc31ad4c6f4f7181aa
|