]>
granicus.if.org Git - php/log
George Peter Banyard [Mon, 20 Jul 2020 16:34:57 +0000 (17:34 +0100)]
Use ZPP callable check for oci_register_taf_callback()
George Peter Banyard [Wed, 20 May 2020 14:20:33 +0000 (16:20 +0200)]
Some cleanup in OCI8 extension for PHP 8
Christoph M. Becker [Wed, 22 Jul 2020 06:51:08 +0000 (08:51 +0200)]
Disable tracing JIT on AppVeyor
This is a temporary measure until the current issues[1] are resolved.
[1] <https://github.com/php/php-src/commit/
0e1e991a89528b571a0271a3f24f9d3c2c36e23a #commitcomment-
40805659 >
Dmitry Stogov [Tue, 21 Jul 2020 19:58:24 +0000 (22:58 +0300)]
Fix deoptimization info and corresponding memory leaks
Dmitry Stogov [Tue, 21 Jul 2020 17:54:33 +0000 (20:54 +0300)]
Fixed bug #79864 (JIT segfault in Symfony OptionsResolver)
Tyson Andre [Wed, 1 Jul 2020 17:28:39 +0000 (13:28 -0400)]
Support optional comma in closure use list
RFC: https://wiki.php.net/rfc/trailing_comma_in_closure_use_list
Discussion: https://externals.io/message/110715
The release manager has agreed to allow merging of RFCs that have near-unanimous
votes. If an RFC ends up not achieving the required 2/3 majority at the time the
announced voting period closes, this implementation commit will be reverted
in time for the feature freeze.
Closes GH-5793
Máté Kocsis [Tue, 21 Jul 2020 07:58:04 +0000 (09:58 +0200)]
Improve argument types and names in ext/ctype
Closes GH-5878
Nikita Popov [Tue, 21 Jul 2020 14:01:45 +0000 (16:01 +0200)]
Give zend_pass_function an arginfo
Now that the ZEND_ACC_VARIADIC flag is set, we should also make
sure there is a variadic arg that can be looked up.
Nikita Popov [Tue, 21 Jul 2020 13:30:59 +0000 (15:30 +0200)]
Tweak zend_test arginfo/zpp
Nikita Popov [Tue, 21 Jul 2020 13:29:44 +0000 (15:29 +0200)]
Fix incorrect initialization in date_sunrise()
Dmitry Stogov [Tue, 21 Jul 2020 13:15:11 +0000 (16:15 +0300)]
Switch to tracing JIT by default
Nikita Popov [Tue, 21 Jul 2020 12:58:35 +0000 (14:58 +0200)]
Fix arg/func info
* mysqli_get_server_info() cannot return null. The underlying API
is infallible.
* mysqli_select_db() func info is redundant.
* mb_detect_order() can only return array|true, not array|false.
Also make the func_info.phpt test that is supposed to catch these
kinds of issues actually work.
Máté Kocsis [Sun, 12 Jul 2020 10:40:37 +0000 (12:40 +0200)]
Cleanup argument handling of Zend functions and methods
Closes GH-5847
Remi Collet [Tue, 21 Jul 2020 12:43:39 +0000 (14:43 +0200)]
add ZipArchive::CM_XZ constant (in upcoming libzip 1.8.0)
Dmitry Stogov [Tue, 21 Jul 2020 12:39:13 +0000 (15:39 +0300)]
Fix type recording and side exit information for FE_FETCH_* instructions
Nikita Popov [Fri, 17 Jul 2020 13:50:06 +0000 (15:50 +0200)]
Run arginfo / zpp mismatch tests for methods as well
As a side-effect, this also catches issues where classes are not
prepared for use with newInstanceWithoutConstructor.
Nikita Popov [Thu, 16 Jul 2020 18:56:44 +0000 (20:56 +0200)]
Check for missing arginfo arguments
Internal functions error when too many arguments are passed. Make
this part of the verification we do in debug builds. This will
help avoid cases where an argument is missing in the stubs,
as recently encountered in
6d96f0f .
Dmitry Stogov [Tue, 21 Jul 2020 11:11:19 +0000 (14:11 +0300)]
Avoid recording of uninitialized variable
Nikita Popov [Tue, 21 Jul 2020 09:10:53 +0000 (11:10 +0200)]
Check for redundant func info
Nikita Popov [Tue, 21 Jul 2020 10:58:52 +0000 (12:58 +0200)]
Separate __call and __soapCall implementations
This is overly pedantic, but allows us to enable more arginfo
consistency checks.
Nikita Popov [Tue, 21 Jul 2020 10:47:49 +0000 (12:47 +0200)]
Add stubs for PDO PGSql extension methods
Nikita Popov [Tue, 21 Jul 2020 10:33:25 +0000 (12:33 +0200)]
Add stubs for PDO SQLite extension methods
Putting these under a dummy PDO_SQLite_Ext class.
Dmitry Stogov [Tue, 21 Jul 2020 10:26:32 +0000 (13:26 +0300)]
Disable JIT for PHPDBG
Nikita Popov [Tue, 21 Jul 2020 10:02:00 +0000 (12:02 +0200)]
Fix UConvert::getErrorMessage() leak on zpp failure
Nikita Popov [Tue, 21 Jul 2020 09:59:18 +0000 (11:59 +0200)]
Move SOAP_SERVER_BEGIN_CODE() after zpp
This is still very dubious, because there are lots of other "returns"
between the BEGIN and END -- won't that end up not restoring the
original state?
Nikita Popov [Tue, 21 Jul 2020 09:53:00 +0000 (11:53 +0200)]
Make ReflectionGenerator final
This class is not safe against malicious extension / instantiation.
Nikita Popov [Tue, 21 Jul 2020 08:42:02 +0000 (10:42 +0200)]
Stricter verification of func info against arg info
Make sure they're actually the same up to cases where func info
allows more accurate expressions. There are some awkward edge cases
around true/false/null limitations in union types.
Nikita Popov [Tue, 21 Jul 2020 09:20:27 +0000 (11:20 +0200)]
Adjust Doctrine workaround in community job
[ci skip]
Dmitry Stogov [Mon, 20 Jul 2020 22:50:29 +0000 (01:50 +0300)]
Switch to tracing JIT by default
Dmitry Stogov [Tue, 21 Jul 2020 09:21:47 +0000 (12:21 +0300)]
Use different temporary register
Gabriel Caruso [Tue, 21 Jul 2020 09:10:02 +0000 (11:10 +0200)]
Next is PHP 8.0.0beta1
Nikita Popov [Tue, 21 Jul 2020 09:07:59 +0000 (11:07 +0200)]
Remove some redundant func info
This is fully covered by arginfo.
The array_merge_recursive() RC information was also wrong,
it should be the same as array_merge().
Gabriel Caruso [Tue, 21 Jul 2020 08:43:08 +0000 (08:43 +0000)]
Update NEWS for PHP 8.0.0alpha3
Dmitry Stogov [Tue, 21 Jul 2020 08:49:15 +0000 (11:49 +0300)]
Fixed support for 64-bit constants
Nikita Popov [Tue, 21 Jul 2020 08:39:03 +0000 (10:39 +0200)]
Fix mb_ereg_search* arg and func info
Nikita Popov [Tue, 21 Jul 2020 08:32:08 +0000 (10:32 +0200)]
Fix readline test after callback changes
This one requires libedit and was probably missed for that reason.
Nikita Popov [Tue, 21 Jul 2020 08:25:22 +0000 (10:25 +0200)]
Remove null from highlight_* return types
Also fix show_source() discrepancy in func_info.
Derick Rethans [Tue, 21 Jul 2020 08:24:27 +0000 (09:24 +0100)]
Merge branch 'PHP-7.4'
Derick Rethans [Tue, 21 Jul 2020 08:23:51 +0000 (09:23 +0100)]
Prepare for 7.4.10
Nikita Popov [Tue, 21 Jul 2020 08:17:21 +0000 (10:17 +0200)]
Remove bool return type from assert_options
Not seeing any way this function can return bool.
Nikita Popov [Tue, 21 Jul 2020 08:04:11 +0000 (10:04 +0200)]
Fix iptcembed func info
This function can return true with $spool >= 2.
Nikita Popov [Mon, 20 Jul 2020 14:39:43 +0000 (16:39 +0200)]
Call zpp_none in PharFileInfo::__destruct()
Using __destruct() with internal classes is dubious, but not so
simple to avoid here because the code extends SPL classes.
Christoph M. Becker [Tue, 21 Jul 2020 07:53:39 +0000 (09:53 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
7.3 is now 7.3.22-dev
Christoph M. Becker [Tue, 21 Jul 2020 07:52:04 +0000 (09:52 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
7.3 is now 7.3.22-dev
Christoph M. Becker [Tue, 21 Jul 2020 07:18:07 +0000 (09:18 +0200)]
7.3 is now 7.3.22-dev
Dmitry Stogov [Tue, 21 Jul 2020 06:58:36 +0000 (09:58 +0300)]
Fixed pg_select() function info
George Peter Banyard [Mon, 20 Jul 2020 23:52:50 +0000 (00:52 +0100)]
Use ZPP callable check in readline extension
George Peter Banyard [Mon, 20 Jul 2020 23:19:32 +0000 (00:19 +0100)]
Use ZPP callable for PDO Sqlite
Dmitry Stogov [Mon, 20 Jul 2020 22:49:01 +0000 (01:49 +0300)]
Fixed tracing JIT exception handling
Máté Kocsis [Mon, 6 Jul 2020 09:28:10 +0000 (11:28 +0200)]
Explode _php_image_output_ctx() into multiple functions
Closes GH-5844
Dmitry Stogov [Mon, 20 Jul 2020 20:14:23 +0000 (23:14 +0300)]
Fixed VM interrupt handling
Dmitry Stogov [Mon, 20 Jul 2020 18:04:14 +0000 (21:04 +0300)]
Keep CPU regesters used by deoptimizer
Dmitry Stogov [Mon, 20 Jul 2020 17:57:12 +0000 (20:57 +0300)]
Fixed tracing JIT for VM without global register variables
Nikita Popov [Mon, 20 Jul 2020 14:56:20 +0000 (16:56 +0200)]
Preserve original ce_flags when registering class
Bug that regularly sneaks in: ZEND_ACC_FINAL is set before calling
zend_register_internal_class() and promptly gets ignored. Remove
this footgun by preserving flags from the original CE.
Nikita Popov [Mon, 20 Jul 2020 14:26:28 +0000 (16:26 +0200)]
Fetch pdo stmt after zpp
Nikita Popov [Mon, 20 Jul 2020 14:15:21 +0000 (16:15 +0200)]
Update method signature in test
Nikita Popov [Fri, 17 Jul 2020 15:18:03 +0000 (17:18 +0200)]
Use zpp for PDO fetch mode
Also changing the function signatures to accept variadic args
for the fetch params. If we're already breaking Doctrine anyway,
we may as well do it properly.
Nikita Popov [Mon, 20 Jul 2020 13:29:47 +0000 (15:29 +0200)]
Fix bug #79857: Add upgrading note for exit dtor change
[ci skip]
Nikita Popov [Mon, 20 Jul 2020 13:15:23 +0000 (15:15 +0200)]
Fix bug #79868
This simply restores the code from PHP 7.4 which I incorrectly
"simplified" in master.
Nikita Popov [Mon, 20 Jul 2020 12:56:48 +0000 (14:56 +0200)]
Add common code for magic method assignment
This was repeated three times.
Christoph M. Becker [Mon, 20 Jul 2020 12:45:42 +0000 (14:45 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #63527: DCOM does not work with Username, Password parameter
Christoph M. Becker [Mon, 20 Jul 2020 12:43:59 +0000 (14:43 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #63527: DCOM does not work with Username, Password parameter
Christoph M. Becker [Fri, 10 Jul 2020 13:43:32 +0000 (15:43 +0200)]
Fix #63527: DCOM does not work with Username, Password parameter
We must not mix multibyte and wide character strings in the
`COAUTHIDENTITY` structure. Using wide character strings throughout
would have the advantage that the remote connection can be established
regardless of the code page of the server, but that would more likely
break BC, so we just drop the wide character string conversion of the
username.
Dmitry Stogov [Mon, 20 Jul 2020 10:49:46 +0000 (13:49 +0300)]
Fixed incorrect deoptimization info
Nikita Popov [Mon, 20 Jul 2020 09:22:47 +0000 (11:22 +0200)]
Directly assign magic methods
Instead of going through intermediary variables.
Nikita Popov [Mon, 20 Jul 2020 09:15:58 +0000 (11:15 +0200)]
Remove unused lc_class_name variable
This is probably a leftover from "old style constructor" support.
Nikita Popov [Mon, 20 Jul 2020 09:11:21 +0000 (11:11 +0200)]
Report magic method names as written
Report the name the way the user has written it, the same way we
always do.
Nikita Popov [Mon, 20 Jul 2020 09:05:33 +0000 (11:05 +0200)]
Unify magic method visibility check
This was missing entirely for the internal function case.
Dmitry Stogov [Mon, 20 Jul 2020 08:57:19 +0000 (11:57 +0300)]
Remove old code (BP_VAR_RW warning)
Nikita Popov [Mon, 20 Jul 2020 08:54:59 +0000 (10:54 +0200)]
Fix tests I missed before
Nikita Popov [Mon, 20 Jul 2020 08:51:48 +0000 (10:51 +0200)]
Unify magic method return type checks
Nikita Popov [Mon, 20 Jul 2020 08:39:43 +0000 (10:39 +0200)]
Unify static/non-static check for magic methods
And promote it to be fatal.
Nikita Popov [Mon, 20 Jul 2020 08:20:29 +0000 (10:20 +0200)]
Add missing arg num check for __set_state
Nikita Popov [Mon, 20 Jul 2020 08:11:52 +0000 (10:11 +0200)]
Clean up zend_check_magic_method_implementation
Let everything go through a common function, which fixes some
consistency issues.
Christopher Jones [Mon, 20 Jul 2020 08:09:09 +0000 (18:09 +1000)]
Merge branch 'oci8-3.0'
* oci8-3.0:
Rename OCI8 classes to use standard names so arg stub parsing works
Bump OCI8 version to 3.0 so a PHP 8 PECL release can be made
Christopher Jones [Mon, 20 Jul 2020 07:32:00 +0000 (17:32 +1000)]
Rename OCI8 classes to use standard names so arg stub parsing works
Christopher Jones [Wed, 15 Jul 2020 04:35:14 +0000 (14:35 +1000)]
Bump OCI8 version to 3.0 so a PHP 8 PECL release can be made
Nikita Popov [Mon, 20 Jul 2020 07:44:02 +0000 (09:44 +0200)]
Revert "Switch to tracing JIT by default"
This reverts commit
10b09578a89a444d9df45e75d5ce8c0826bb2efe .
This seems to cause many test failures:
Test === operator : different types [tests/lang/operators/operator_identical_basic.phpt]
Test <=> operator : different types [tests/lang/operators/operator_spaceship_basic.phpt]
comparing different variables for equality [Zend/tests/compare_001_64bit.phpt]
comparing different variables for identity [Zend/tests/compare_002_64bit.phpt]
Rebinding of ::getClosure()s [Zend/tests/closure_061.phpt]
comparing different variables (greater than) [Zend/tests/compare_003_64bit.phpt]
comparing different variables (less than) [Zend/tests/compare_004_64bit.phpt]
comparing different variables (greater or equal than) [Zend/tests/compare_005_64bit.phpt]
comparing different variables (smaller or equal than) [Zend/tests/compare_006_64bit.phpt]
Invalid numeric string E_WARNINGs and E_NOTICEs, combined assignment operations [Zend/tests/numeric_string_errors_assign.phpt]
Bug #51819 (Case discrepancy in timezone names cause Uncaught exception and fatal error) [ext/date/tests/bug51819.phpt]
Test all filters returned by filter_list() [ext/filter/tests/033.phpt]
filter_var() and FILTER_VALIDATE_MAC [ext/filter/tests/055.phpt]
Test strrpos() function : usage variations - unexpected inputs for 'needle' argument [ext/standard/tests/strings/strrpos_variation10.phpt]
Test strtr() function : usage variations - empty string & null for 'str' argument [ext/standard/tests/strings/strtr_variation4.phpt]
Test strtr() function : usage variations - unexpected inputs for 'from' argument [ext/standard/tests/strings/strtr_variation6.phpt]
Test strstr() function [ext/standard/tests/strings/strstr.phpt]
Dmitry Stogov [Mon, 20 Jul 2020 06:17:04 +0000 (09:17 +0300)]
Switch to tracing JIT by default
Tyson Andre [Sun, 19 Jul 2020 01:22:57 +0000 (21:22 -0400)]
Skip upload_2G.phpt if disk_free_space() <= 2GB
This test failed when the free disk space is close to 2.15GB.
I see the file size in the .out file as 0.
PHP has to save the full file contents to disk (the path is in `$_FILES`)
Related to GH-5283
Closes GH-5873
Nikita Popov [Fri, 17 Jul 2020 14:54:15 +0000 (16:54 +0200)]
Use proper methods for php_user_filter implementation
These are dummy methods, but should at least check zpp for
arginfo consistency.
Nikita Popov [Fri, 17 Jul 2020 14:50:09 +0000 (16:50 +0200)]
Move SessionHandler sanity checks after zpp
Nikita Popov [Fri, 17 Jul 2020 14:42:21 +0000 (16:42 +0200)]
Only set DIT type on successful initialization
Nikita Popov [Fri, 17 Jul 2020 14:11:30 +0000 (16:11 +0200)]
Remove spurious return true from DOMXPath::registerPhpFunctions()
Only one of three identical cases returned true, and the function
is documented to return void. Remove the outlier.
Nikita Popov [Fri, 17 Jul 2020 14:10:49 +0000 (16:10 +0200)]
Use string|array type in DOMXPath::registerPhpFunctions()
Nikita Popov [Fri, 17 Jul 2020 14:04:55 +0000 (16:04 +0200)]
Add missing zpp_none call in Exception::__wakeup
Nikita Popov [Fri, 17 Jul 2020 14:03:08 +0000 (16:03 +0200)]
Convert SPL fatal error to Error exception
George Peter Banyard [Thu, 16 Jul 2020 19:07:01 +0000 (21:07 +0200)]
Drop useless zend_accel_script_persistable() function
George Peter Banyard [Thu, 16 Jul 2020 19:00:28 +0000 (21:00 +0200)]
Drop unused param in zend_parse_arg_class_name_or_obj()
Benjamin Eberlei [Fri, 17 Jul 2020 13:51:09 +0000 (15:51 +0200)]
Add error notification callbacks to UPGRADING.INTERNALS
Nikita Popov [Fri, 17 Jul 2020 13:42:56 +0000 (15:42 +0200)]
Parse parameters in zend_test_void_return()
Nikita Popov [Fri, 17 Jul 2020 13:41:50 +0000 (15:41 +0200)]
Fix some pgsql arginfos
And make sure too few/many arguments throws, to satisfy the
function signature.
Nikita Popov [Fri, 17 Jul 2020 13:31:22 +0000 (15:31 +0200)]
Some zpp cleanup in pgsql
Nikita Popov [Fri, 17 Jul 2020 13:24:24 +0000 (15:24 +0200)]
Remove some zpp quiet uses in pgsql
These functions don't do anything special, just use normal zpp.
Nikita Popov [Fri, 17 Jul 2020 13:13:00 +0000 (15:13 +0200)]
Add missing image_type_to_extension() argument
Nikita Popov [Fri, 17 Jul 2020 13:09:29 +0000 (15:09 +0200)]
Fixed bug #79867
In line with usual rules, give untyped properties a null default
value. Otherwise constructor promotion would give you a property
declaration that cannot be achieved through any other means.
Benjamin Eberlei [Mon, 27 Apr 2020 06:20:56 +0000 (08:20 +0200)]
Introduce error notification callbacks that are run independant of zend_error_cb
Nikita Popov [Fri, 17 Jul 2020 12:51:16 +0000 (14:51 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79839
Nikita Popov [Fri, 17 Jul 2020 12:50:22 +0000 (14:50 +0200)]
Fixed bug #79839
Add reference type sources in array_walk.
Nikita Popov [Fri, 17 Jul 2020 10:40:05 +0000 (12:40 +0200)]
Fix IntlGregorianCalendar constructor signature
Give these conversative UNKNOWN defaults and no types, as the
overload is something of a mess.