1
0
mirror of https://github.com/php/php-src.git synced 2026-04-14 19:41:05 +02:00
Commit Graph

119718 Commits

Author SHA1 Message Date
Christopher Jones
b2d1736de8 Fix cut/paste error in expected test output 2020-07-23 16:29:51 +10:00
Christoph M. Becker
1e938e8eba Fix build
MSVC is pretty picky there, so we add the `ZEND_VOIDP` cast.
2020-07-22 22:57:58 +02:00
Christoph M. Becker
dd30a3d8ce Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix brittle test
2020-07-22 20:47:16 +02:00
Christoph M. Becker
0a59a71947 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix brittle test
2020-07-22 20:46:28 +02:00
Christoph M. Becker
6b99a8be4d Fix brittle test
This test fails occasionally due to timing issues, because the session
file may have been unlinked by the first `session_start()`'s GC.  We
adapt the test expectation to this reality.
2020-07-22 20:45:56 +02:00
Christoph M. Becker
f1436c4832 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix minor memory leak of CG(script_encoding_list)
2020-07-22 20:34:21 +02:00
Christoph M. Becker
c1a80e075a Fix minor memory leak of CG(script_encoding_list)
This only leaks at the end of the process, so per se not an issue, but
the leak is caught by MSVC's CRT leak checker, so we better properly
clean up to avoid false positives.
2020-07-22 20:32:48 +02:00
Dmitry Stogov
d05e88250a Revert "Disable tracing JIT on AppVeyor"
This reverts commit a986933dde.

	Tracing JIT for Windows is already fixed.
2020-07-22 20:03:50 +03:00
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] <0e1e991a89 (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