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

251 Commits

Author SHA1 Message Date
Nikita Popov 4daa413898 Fixed bug #77092
Weird that this worked for so long, probably because nearly all
ext/standard functions use fast ZPP rather than ordinary ZPP.
2018-11-02 14:29:03 +01:00
Nikita Popov 902ec36710 Merge branch 'PHP-7.1' into PHP-7.2 2018-10-25 16:43:36 +02:00
Nikita Popov f1ceec5533 Fixed bug #77058
Account for the fact that undef must be interpreted as null for
the purposes of INC/DEC inference.
2018-10-25 16:37:41 +02:00
Anatol Belski 6a5254bc96 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test when it's run on another drive
2018-10-18 00:44:43 +02:00
Anatol Belski fda06127fa Fix test when it's run on another drive 2018-10-18 00:43:24 +02:00
Peter Kokot f1d7e3ca0b Sync leading and final newlines in *.phpt sections
This patch adds missing newlines, trims multiple redundant final
newlines into a single one, and trims redundant leading newlines in all
*.phpt sections.

According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.

C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."

Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
2018-10-15 04:31:31 +02:00
Peter Kokot 113213f027 Sync leading and final newlines in *.phpt sections
This patch adds missing newlines, trims multiple redundant final
newlines into a single one, and trims redundant leading newlines in all
*.phpt sections.

According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.

C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."

Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
2018-10-15 04:29:24 +02:00
Peter Kokot 17ccbeec32 Trim trailing whitespace in *.phpt 2018-10-14 19:44:14 +02:00
Peter Kokot 7af945e271 Trim trailing whitespace in *.phpt 2018-10-14 19:43:12 +02:00
Peter Kokot 60a69daec6 Sync leading and final newlines in source code files
This patch adds missing newlines, trims multiple redundant final
newlines into a single one, and trims redundant leading newlines.

According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.

C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."

Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
2018-10-14 12:54:08 +02:00
Peter Kokot 03f3b8479b Sync leading and final newlines in source code files
This patch adds missing newlines, trims multiple redundant final
newlines into a single one, and trims redundant leading newlines.

According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.

C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."

Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
2018-10-14 12:51:01 +02:00
Nikita Popov cfdd828163 Fixed bug #76796 2018-09-07 14:02:03 +02:00
Xinchen Hui f31ba7cb53 Fixed bug #76477 (Opcache causes empty return value) 2018-06-15 16:31:31 +08:00
Anatol Belski f7b431fb30 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix Opcache test fails regarding to AppVeyor image update
2018-05-18 18:37:53 +02:00
Anatol Belski 6043a2d6f7 Fix Opcache test fails regarding to AppVeyor image update 2018-05-18 18:36:39 +02:00
Nikita Popov 4c083e7a66 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-27 22:23:55 +02:00
Nikita Popov 6738d19fb8 Fix bug #76281
Make sure we keep the smart-branch inhibiting NOP even if there
are multiple NOPs in sequence.
2018-04-27 22:21:59 +02:00
Nikita Popov 2c602be7c8 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-27 17:02:01 +02:00
Nikita Popov 279ba58edb Fixed bug #76275
* Adjust IS_SERIALIZED() check to account for potential empty
  allocations at the end of the memory region.
* Deallocate empty allocation if all try/catch elements have been
  removed in the block pass (similar to what we do if all live
  ranges have been eliminated).
2018-04-27 17:01:35 +02:00
Nikita Popov 3306577797 Followup fix for bug #75729
The case of overloaded substr() with 3 arguments was not handled.
2018-03-24 13:15:59 +01:00
Xinchen Hui 4758164ac5 Fixed bug #76094 (Access violation when using opcache) 2018-03-15 11:17:00 +08:00
Bob Weinand cfd0979be5 Merge branch 'PHP-7.1' into PHP-7.2 2018-03-10 15:21:16 +01:00
Bob Weinand 9c6df8a238 Fix bug #76074 (opcache corrupts variable in for-loop) 2018-03-10 15:20:45 +01:00
Nikita Popov 39974dd65d Disable negative range inference
The negative range inference implementation does not work correctly,
and it's not clear right now how it can be fixed. As such, disable
it entirely for now.
2018-02-18 15:33:28 +01:00
Nikita Popov 0674d677bc Merge branch 'PHP-7.1' into PHP-7.2 2018-02-16 20:30:49 +01:00
Nikita Popov 372bf8a923 Fixed bug #75969
Move NOP stripping out of zend_optimize_block: NOP stripping may
move instructions, which may invalidate a Tsource shared across
an extended basic block.
2018-02-16 20:30:03 +01:00
Anatol Belski 2235da59af Extend skipif check 2018-02-13 14:04:51 +01:00
Nikita Popov 7aac61ce76 Fixed bug #75938
New modulus range inference implementation has been verified using
https://gist.github.com/nikic/67947ff92cf0e1f7e931f2f0d4cf817f.

The computed bounds are not tight, but it seems to be very hard to
compute tight bounds on modulus operations.
2018-02-09 15:10:23 +01:00
Nikita Popov 1391a0fa0b Fixed bug #75893
It is not sufficient to just add the additional types for aliased
variables at the end of type inference, because types of derived
variables may depend on them. Make sure the additional types are
always added whenever the type of an aliased variable is updated.
2018-02-05 21:41:44 +01:00
Nikita Popov d9e71169e6 Fixed bug #75729
Don't try to evaluate substr() and strpos() at compile-time if
mbstring function overloading is enabled. I'm reusing the
COMPILE_NO_BUILTIN_STRLEN for the detection of mbstring function
overloading here, even if it's technically only about strlen()...
2018-02-05 21:08:18 +01:00
Nikita Popov ee45104dba Fixed bug #75698 2017-12-16 22:04:18 +01:00
Nikita Popov 19d0c5dc9f Add test for bug #75681
The issue itself has been fixed by 8a4532319d.
2017-12-16 21:24:26 +01:00
Xinchen Hui a20c9bd3fe Fixed bug #75687 (var 8 (TMP) has array key type but not value type) 2017-12-16 23:59:10 +08:00
Dmitry Stogov 3503dc7482 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75608 ("Narrowing occurred during type inference" error)
2017-12-04 17:22:28 +03:00
Dmitry Stogov 5934bff913 Fixed bug #75608 ("Narrowing occurred during type inference" error) 2017-12-04 17:22:06 +03:00
Xinchen Hui e02c2d2dfb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWs (added bug entry)
2017-11-28 13:16:22 +08:00
Xinchen Hui ee9e32caca Update NEWs (added bug entry) 2017-11-28 13:15:54 +08:00
Dmitry Stogov a4b2ae69e9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug in type inference
2017-11-27 10:16:46 +03:00
Dmitry Stogov 776bef8447 Fixed bug in type inference 2017-11-27 10:16:16 +03:00
Xinchen Hui c412b8b384 Fixed bug #75556 (Invalid opcode 138/1/1) 2017-11-25 00:54:15 +08:00
Dmitry Stogov b6294bbc6c Fixed assertion on phpMyAdmin-4.7.5 home page 2017-11-08 12:51:53 +03:00
Dmitry Stogov 49256dcf6f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed type inference
2017-10-30 10:44:12 +03:00
Xinchen Hui 8e147f12b9 Fixed bug (Phi sources removel) 2017-10-16 15:01:06 +08:00
Xinchen Hui abbdbc21b0 Fixed bug #75357 (segfault loading WordPress wp-admin) 2017-10-14 23:12:29 +08:00
Xinchen Hui a52d1088e5 Added skipf 2017-10-13 18:21:41 +08:00
Xinchen Hui e4f7ff9c0f Fixed bug #75370 (Webserver hangs on valid PHP text) 2017-10-13 18:18:10 +08:00
Dmitry Stogov 978c6c4e31 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75255 (Request hangs and not finish)
2017-09-27 17:17:46 +03:00
Dmitry Stogov 1c68d63f35 Fixed bug #75255 (Request hangs and not finish) 2017-09-27 17:16:24 +03:00
Xinchen Hui ed2a5ebaeb Fixed bug #75230 (Invalid opcode 49/1/8 using opcache) 2017-09-24 18:01:29 +08:00
Dmitry Stogov 251a5599b4 Fixed SSA reconstruction 2017-09-07 17:10:38 +03:00