1
0
mirror of https://github.com/php/php-src.git synced 2026-04-27 01:48:26 +02:00
Commit Graph

124635 Commits

Author SHA1 Message Date
Alex Dowad 9868c17368 Mark CP932 and CP51932 encoding tests as 'slow tests' 2021-06-17 13:12:40 +02:00
Alex Dowad e2459857af Remove duplicate implementation of CP932 from mbstring
Sigh. Double sigh. After fruitlessly searching the Internet for information on
this mysterious text encoding called "SJIS-open", I wrote a script to try
converting every Unicode codepoint from 0-0xFFFF and compare the results from
different variants of Shift-JIS, to see which one "SJIS-open" would be most
similar to.

The result? It's just CP932. There is no difference at all. So why do we have
two implementations of CP932 in mbstring?

In case somebody, somewhere is using "SJIS-open" (or its aliases "SJIS-win" or
"SJIS-ms"), add these as aliases to CP932 so existing code will continue to
work.
2021-06-17 13:12:40 +02:00
Alex Dowad 7502c86342 Add test suite for UTF-{7,8,16,32}
Also fix a couple small problems with UTF-32 and UTF-8 support:

- UTF-32 would pass very large codepoints (>= 0x80000000), which are
  not valid.
- UTF-8 would sometimes emit two error marker characters for a single
  bad input byte.
2021-06-17 13:12:40 +02:00
Dmitry Stogov cc0aac3f73 Merge branch 'PHP-8.0'
* PHP-8.0:
  Fixed incorrect type inference for "(array)$null".
2021-06-17 13:05:45 +03:00
Dmitry Stogov df16fd149b Fixed incorrect type inference for "(array)$null". 2021-06-17 13:03:09 +03:00
Nikita Popov deb7955bf4 Fix #81150 Add UPGRADING note for float to int deprecation
[ci skip]
2021-06-17 09:52:44 +02:00
Alex Dowad 5d37cd97e4 Improve documentation for contributors 2021-06-17 06:29:38 +02:00
Nikita Popov 0d6358f2cf Drop support for printf p modifier
To be conservative, cause a fatal error if the p modifier is
encountered, in case this is still used by some extension.
2021-06-16 17:59:00 +02:00
Nikita Popov 7eec57c263 Test ARM64 JIT on Travis (#7157)
Run tests with tracing JIT, function JIT and tracing JIT under --repeat 2.

As the overall build with three test runs only takes ~15m, I'm enabling this unconditionally, rather than just for nightly builds.
2021-06-16 17:13:46 +02:00
Nikita Popov c492c90a6e Fix mysqlnd debug formats on 32-bit 2021-06-16 17:08:20 +02:00
Nikita Popov 57f06b6058 Fix more mysqlnd debug printf formats
These didn't show up on my system...
2021-06-16 16:23:30 +02:00
Nikita Popov 3acdab864d Fix printf formats in mysql debug logging
Enable printf format verification and fix the reported errors.
2021-06-16 16:09:06 +02:00
Dmitry Stogov 3a78259525 JIT: Avoid too aggressive loop unrolling
This fixes tests/func/010.phpt failure with tracing JIT on ARM64.
2021-06-16 16:44:27 +03:00
Nikita Popov 591dcdbdb0 Use different error condition in ACCEL_LOG_FATAL test
This test fails on s390x with opcache. Presumably the large allocation
works fine there as long as it's not used.

Switch to a different error condition that produces a more reliable
failure.
2021-06-16 13:08:54 +02:00
Christoph M. Becker 46a6d481d3 Merge branch 'PHP-8.0'
* PHP-8.0:
  Fix #72809: Locale::lookup() wrong result with canonicalize option
2021-06-16 10:38:14 +02:00
Christoph M. Becker 13f3999a77 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Fix #72809: Locale::lookup() wrong result with canonicalize option
2021-06-16 10:36:51 +02:00
Christoph M. Becker 0f1b17e378 Fix #72809: Locale::lookup() wrong result with canonicalize option
Canonicalization converts the locale to ICU format[1].  However, the
lookup described in RFC 4647, section 3.4, is about POSIX format.  To
make that lookup work for ICU format, we also need to cater to keyword
separators.

The results are somewhat unexpected, but apparently canonical lookup is
explicitly supposed to return canonical language tags[2].

[1] <https://unicode-org.github.io/icu/userguide/locale/#canonicalization>
[2] <https://github.com/php/php-src/blob/php-7.4.20/ext/intl/locale/locale_methods.c#L1504>

Closes GH-7151.
2021-06-16 10:33:59 +02:00
Dmitry Stogov 8ae06582c6 Fixed incorrect map_ptr slots counting 2021-06-16 11:33:43 +03:00
Derick Rethans e63ed9d0da Merge branch 'PHP-8.0' 2021-06-15 19:53:03 +01:00
Derick Rethans 77bfe96109 Merge branch 'PHP-7.4' into PHP-8.0 2021-06-15 19:52:14 +01:00
Derick Rethans 8370a084e4 Prepare for 7.4.22 2021-06-15 19:52:02 +01:00
Aaron Piotrowski 5d4f05527b Drop fiber block hooks
Removes the ability for an extension to allow Fiber switching in blocked contexts.

See discussion on fdc22744a8.
2021-06-15 08:58:07 -05:00
Nikita Popov b64213872a Fix missing error for single index unset on wrong type
The error was correctly thrown for a nested index, but not for a
single index. Make sure both have the same behavior.
2021-06-15 14:41:11 +02:00
Nikita Popov 34257e1cfc Remove unnecessary IS_UNUSED check
This operand cannot be UNUSED.
2021-06-15 14:27:41 +02:00
Nikita Popov 0eafc97d29 Fix prototype 2021-06-15 10:08:50 +02:00
Joe Watkins ba3c8027bc Adds zend_fiber_startup at the right stage, moves setting of switch hooks
to correct stage

In a threaded environment, these ought to be set before any threads are
created, and they ought to be set once.
2021-06-15 09:56:15 +02:00
Joe Watkins f46063495d reset blocking state on init 2021-06-15 09:41:36 +02:00
Gabriel Caruso b81c3b5b1c Prepare for PHP 8.0.9 2021-06-15 09:19:13 +02:00
Christoph M. Becker 139a73b5a4 Improve performance of AppVeyor test runs
We only load a minimum set of extensions, and rely on dynamic loading
of others due to `--EXTENSION--` triggers.  We do not run the imap,
ldap and snmp test suites, because most of the tests would be skipped
after timeouts anyway.

Closes GH-7150.
2021-06-14 23:36:17 +02:00
Aaron Piotrowski 859524c246 Remove fiber context embedding 2021-06-14 14:34:36 -05:00
Aaron Piotrowski fdc22744a8 Add API to prevent Fiber switch in select contexts
Co-authored-by: Martin Schröder <m.schroeder2007@gmail.com>
2021-06-14 14:19:00 -05:00
Nikita Popov 9871a624bf Clean up some more function_exists() checks 2021-06-14 15:47:08 +02:00
Nikita Popov 892421c9a8 Make some zend_test dependencies explicit
Rather than checking that specific functions exist.
2021-06-14 15:40:34 +02:00
Nikita Popov 6ce9076b2d Remove unnecessary skipifs in date 2021-06-14 15:35:48 +02:00
Nikita Popov ca423a1b39 Remove unnecessary curl skipifs
These test for functions/versions that are always available.
2021-06-14 15:34:24 +02:00
Nikita Popov 06053e9b67 Remove unnecessary curl version guards in stubs
We have bumped the libcurl requirement to 7.29.0 in PHP 8.1,
but the function declarations in the stubs were still conditional
on the curl version. Drop them to make it more obvious that these
functions are always available.
2021-06-14 15:33:26 +02:00
Nikita Popov a06d015e61 Remove unnecessary mbstring skipifs
These functions are always available (if the extension is available
at all).
2021-06-14 15:27:28 +02:00
Nikita Popov 1eaaabca2b Move test from intl to iconv
Somehow this iconv-specific test ended up in ext/intl instead.
2021-06-14 15:03:46 +02:00
Nikita Popov fcccb4c593 Add missing zend_test dependency 2021-06-14 15:03:26 +02:00
Nikita Popov 584dc19df1 Move tests requiring pdo_sqlite into ext directory
If the test is written against a specific PDO driver, it should
not be part of the generic ext/pdo tests.
2021-06-14 15:01:16 +02:00
Nikita Popov a148ea2c50 Add missing dba extension requirement in pgsql test 2021-06-14 14:55:03 +02:00
Nikita Popov 6600ad6067 Add some missing EXTENSIONS sections to misc tests 2021-06-14 14:52:44 +02:00
Nikita Popov e378968c4f Fix EXTENSIONS section for pgsql
This should have been pgsql, not psql...
2021-06-14 14:40:38 +02:00
Nikita Popov 72f47c0c9d Remove duplicate entries in EXTENSIONS
These would cause failures if the extensions is loaded dynamically.
2021-06-14 14:34:31 +02:00
Joe Watkins 72c0deb400 Revert "hrtime implementation update for Mac"
This reverts commit a3e55286a6.

    This commit broke the build for OSX before Sierra.

    The apple documentation states the equivalent uses raw uptime, and
    the source code of the non portable function says raw uptime would
    call the same routine we were calling before this commit.

    Since the correct version of this commit - according to docs -
    would bring no value whatsoever, and this version breaks the build
    there doesn't seem any sense in making this change.
2021-06-14 14:27:35 +02:00
Nikita Popov 821a5a1239 Drop fast_div_function
This is the same as div_function nowadays.
2021-06-14 11:32:28 +02:00
Joe Watkins a297c66cfb Fix #81136 opcache header not installed, causing shared build to fail 2021-06-14 11:09:36 +02:00
Nikita Popov 4a107523bf Merge branch 'PHP-8.0'
* PHP-8.0:
  Regenerate arginfo file
  Fixed bug #80197
2021-06-14 11:00:15 +02:00
Nikita Popov b6fa386749 Regenerate arginfo file 2021-06-14 10:59:18 +02:00
Nikita Popov 5dc31e0cb6 Fixed bug #80197
Use "libmagic/magic.h" rather than <magic.h> to make sure that we
use the bundled libmagic, even if there is a system libmagic on the
include path.
2021-06-14 10:59:13 +02:00