1
0
mirror of https://github.com/php/php-src.git synced 2026-04-22 07:28:09 +02:00
Commit Graph

119710 Commits

Author SHA1 Message Date
twosee 6e92487f66 Fix warnings of strict-prototypes
Closes GH-5887.
2020-07-23 00:59:00 +08:00
twosee a65ec4c2db Change type of max_num_args to uint32_t
Closes GH-5885.
2020-07-23 00:55:58 +08:00
twosee e29ee65ec0 Export zend_register_error_notify_callback() with ZEND_API 2020-07-23 00:45:06 +08:00
Nikita Popov 5febd633b9 Accept unsigned instead of enum pdo_attribute_type
Driver-specific options get passed to these functions, which are
not part of the pdo_attribute_type enum. Newer GCC versions don't
like that. Accept a simple integr type instead.
2020-07-22 18:28:22 +02:00
Dmitry Stogov bc1d7b6040 Reserve WIN64 shadow space 2020-07-22 17:49:51 +03:00
Nikita Popov 9250abfb04 php.ini cleanup
[ci skip]
2020-07-22 15:46:03 +02:00
Dmitry Stogov c9434a4af2 Separate and fix deoptimization code generator 2020-07-22 15:04:17 +03:00
Nikita Popov 7a3dcc3e33 Treat namespaced names as single token
Namespace names are now lexed as single tokens of type
T_NAME_QUALIFIED, T_NAME_FULLY_QUALIFIED or T_NAME_RELATIVE.

RFC: https://wiki.php.net/rfc/namespaced_names_as_token

Closes GH-5827.
2020-07-22 12:36:05 +02:00
Nikita Popov acbf7802af Improved number to string comparison semantics
RFC: https://wiki.php.net/rfc/string_to_number_comparison

Closes GH-3886.
2020-07-22 12:23:49 +02:00
Dmitry Stogov 2940839d28 Prevent incorrect trasing JIT TSSA usage for range() result type inference 2020-07-22 13:01:11 +03:00
Nikita Popov e6ae1bf489 Check dual_it validity in CallbackFilterIterator::accept()
Avoid accessing intern->u.cbfilter null pointer, though it's
harmless here.
2020-07-22 11:31:15 +02:00
Nikita Popov f90c735957 Drop no-op dasm_growpc() call
This doesn't do anything, as maxpc=0 is passed. However, ubsan
complains about the memset of a null pointer, so avoid it.
2020-07-22 11:11:36 +02:00
Nikita Popov aaedbde8b4 Mark zend_jit_patch memory accesses as unaligned
This prevents ubsan from complaining.
2020-07-22 11:02:24 +02:00
Nikita Popov eb04cb5f20 Move checks after zpp in opcache_is_script_cached() 2020-07-22 10:52:50 +02:00
Nikita Popov 80b4d49f90 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #79881
2020-07-22 10:21:29 +02:00
Nikita Popov 657a832a77 Fixed bug #79881 2020-07-22 10:21:24 +02:00
Christopher Jones 30073ac645 Update NEWS 2020-07-22 17:30:20 +10:00
George Peter Banyard 7a3375a08c Use ZPP callable check for oci_register_taf_callback() 2020-07-22 17:29:30 +10:00
George Peter Banyard 0d146cb3eb Some cleanup in OCI8 extension for PHP 8 2020-07-22 17:29:30 +10:00
Christoph M. Becker a986933dde 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>
2020-07-22 08:55:52 +02:00
Dmitry Stogov b5e2b64adc Fix deoptimization info and corresponding memory leaks 2020-07-21 22:58:24 +03:00
Dmitry Stogov b44169e9dd Fixed bug #79864 (JIT segfault in Symfony OptionsResolver) 2020-07-21 20:54:33 +03:00
Tyson Andre 4cf8b6f1c9 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
2020-07-21 13:01:27 -04:00
Máté Kocsis 69a5c561d0 Improve argument types and names in ext/ctype
Closes GH-5878
2020-07-21 16:40:47 +02:00
Nikita Popov e079e753dc 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.
2020-07-21 16:01:45 +02:00
Nikita Popov df2749da70 Tweak zend_test arginfo/zpp 2020-07-21 15:33:01 +02:00
Nikita Popov 1d4e229ab7 Fix incorrect initialization in date_sunrise() 2020-07-21 15:33:01 +02:00
Dmitry Stogov 0e1e991a89 Switch to tracing JIT by default 2020-07-21 16:15:11 +03:00
Nikita Popov f7f557926e 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.
2020-07-21 15:00:33 +02:00
Máté Kocsis 5770b66722 Cleanup argument handling of Zend functions and methods
Closes GH-5847
2020-07-21 14:47:03 +02:00
Remi Collet 42226fcf03 add ZipArchive::CM_XZ constant (in upcoming libzip 1.8.0) 2020-07-21 14:43:52 +02:00
Dmitry Stogov 7686118212 Fix type recording and side exit information for FE_FETCH_* instructions 2020-07-21 15:39:13 +03:00
Nikita Popov c9881fde7a 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.
2020-07-21 14:17:29 +02:00
Nikita Popov 38fb1f8383 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.
2020-07-21 14:17:29 +02:00
Dmitry Stogov be0d912674 Avoid recording of uninitialized variable 2020-07-21 14:11:19 +03:00
Nikita Popov ae2b214be2 Check for redundant func info 2020-07-21 13:01:12 +02:00
Nikita Popov ac56ca0dcc Separate __call and __soapCall implementations
This is overly pedantic, but allows us to enable more arginfo
consistency checks.
2020-07-21 12:59:28 +02:00
Nikita Popov 4dd8fec073 Add stubs for PDO PGSql extension methods 2020-07-21 12:49:37 +02:00
Nikita Popov 1afcced1f0 Add stubs for PDO SQLite extension methods
Putting these under a dummy PDO_SQLite_Ext class.
2020-07-21 12:49:36 +02:00
Dmitry Stogov 047474c3b4 Disable JIT for PHPDBG 2020-07-21 13:26:32 +03:00
Nikita Popov 4ce9571978 Fix UConvert::getErrorMessage() leak on zpp failure 2020-07-21 12:05:44 +02:00
Nikita Popov ae81549048 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?
2020-07-21 12:05:42 +02:00
Nikita Popov b3ea6ce720 Make ReflectionGenerator final
This class is not safe against malicious extension / instantiation.
2020-07-21 11:53:00 +02:00
Nikita Popov 3a9036ac54 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.
2020-07-21 11:47:52 +02:00
Nikita Popov 6e09a3e203 Adjust Doctrine workaround in community job
[ci skip]
2020-07-21 11:28:41 +02:00
Dmitry Stogov 447a098ebb Switch to tracing JIT by default 2020-07-21 12:22:36 +03:00
Dmitry Stogov bb9e3dd6cc Use different temporary register 2020-07-21 12:21:47 +03:00
Gabriel Caruso d9227a1b44 Next is PHP 8.0.0beta1 2020-07-21 11:14:19 +02:00
Nikita Popov e4c1366b63 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().
2020-07-21 11:10:07 +02:00
Gabriel Caruso a1d88b193d Update NEWS for PHP 8.0.0alpha3 2020-07-21 11:06:59 +02:00