]> granicus.if.org Git - php/log
php
4 years agoDeprecate required param after optional
Nikita Popov [Thu, 9 Jan 2020 11:21:02 +0000 (12:21 +0100)]
Deprecate required param after optional

As an exception, we allow "Type $foo = null" to occur before a
required parameter, because this pattern was used as a replacement
for nullable types in PHP versions older than 7.1.

Closes GH-5067.

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Tue, 18 Feb 2020 10:12:08 +0000 (11:12 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove extra tab in NEWS [ci skip]

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 18 Feb 2020 10:10:34 +0000 (11:10 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Remove extra tab in NEWS [ci skip]

4 years agoRemove extra tab in NEWS [ci skip]
Christoph M. Becker [Tue, 18 Feb 2020 10:09:37 +0000 (11:09 +0100)]
Remove extra tab in NEWS [ci skip]

4 years agoMerge branch 'PHP-7.4'
Remi Collet [Tue, 18 Feb 2020 10:01:21 +0000 (11:01 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  bump version to 7.2.29

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Remi Collet [Tue, 18 Feb 2020 10:01:07 +0000 (11:01 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  bump version to 7.2.29

4 years agoMerge branch 'PHP-7.2' into PHP-7.3
Remi Collet [Tue, 18 Feb 2020 10:00:49 +0000 (11:00 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  bump version to 7.2.29

4 years agobump version to 7.2.29
Remi Collet [Tue, 18 Feb 2020 10:00:28 +0000 (11:00 +0100)]
bump version to 7.2.29

4 years agoAdd return types to FFI methods
Nikita Popov [Tue, 18 Feb 2020 09:28:43 +0000 (10:28 +0100)]
Add return types to FFI methods

The FFI class is final, so we can use proper return types.

4 years agoAdd proper return types to final phar methods
Nikita Popov [Tue, 18 Feb 2020 09:20:21 +0000 (10:20 +0100)]
Add proper return types to final phar methods

As these are final, we can add return types to them.

4 years agoRemove mysqli reflection tests
Nikita Popov [Tue, 18 Feb 2020 09:08:03 +0000 (10:08 +0100)]
Remove mysqli reflection tests

4 years agoFix zpp in mysqli_warning::next()
Nikita Popov [Tue, 18 Feb 2020 09:01:17 +0000 (10:01 +0100)]
Fix zpp in mysqli_warning::next()

This only exists as a method, so using zend_parse_method_parameters
doesn't make sense. Also make sure that zpp is always called, not
only conditionally.

4 years ago[ci skip] I still help to maintain these extensions
Christoph M. Becker [Tue, 18 Feb 2020 08:47:35 +0000 (09:47 +0100)]
[ci skip] I still help to maintain these extensions

or at least planning to.

4 years agoMake quoting of cmd execution functions consistent
Christoph M. Becker [Tue, 21 Jan 2020 09:05:33 +0000 (10:05 +0100)]
Make quoting of cmd execution functions consistent

While the `$command` passed to `proc_open()` had to be wrapped in
double-quotes manually, that was implicitly done for all other
program execution functions.  This could easily introduce bugs and
even security issues when switching from one to another program
execution function.

Furthermore we ensure that the additional quotes are always
unwrapped regardless of what is passed as `$command` by passing
the `/s` flag to cmd.exe.  As it was, `shell_exec('path with
spaces/program.exe')` did execute program.exe, but adding an
argument (`shell_exec('path with spaces/program.exe -h)`) failed
to execute program.exe, because cmd.exe stripped the additional
quotes.

While these changes obviously can cause BC breaks, we feel that in
the long run the benefits of having consistent behavior for all
program execution functions outweighs the drawbacks of potentially
breaking some code now.

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 17 Feb 2020 21:55:16 +0000 (22:55 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #79038: PDOStatement::nextRowset() leaks column values

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 17 Feb 2020 21:53:50 +0000 (22:53 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #79038: PDOStatement::nextRowset() leaks column values

4 years agoFix #79038: PDOStatement::nextRowset() leaks column values
Christoph M. Becker [Fri, 27 Dec 2019 12:20:11 +0000 (13:20 +0100)]
Fix #79038: PDOStatement::nextRowset() leaks column values

Firstly, we must not rely on `stmt->column_count` when freeing the
driver specific column values, but rather store the column count in
the driver data.  Since the column count is a `short`, 16 bit are
sufficient, so we can store it in reserved bits of `pdo_odbc_stmt`.

Furthermore, we must not allocate new column value storage when the
statement is not executed, but rather when the column value storage has
not been allocated.

Finally, we have to introduce a driver specific `cursor_closer` to
avoid that `::closeCursor()` calls `odbc_stmt_next_rowset()` which then
frees the column value storage, because it may be still needed for
bound columns.

4 years agoRename php_dom_create_interator() to php_dom_create_iterator()
Christoph M. Becker [Mon, 17 Feb 2020 21:49:59 +0000 (22:49 +0100)]
Rename php_dom_create_interator() to php_dom_create_iterator()

Thus fixing an obvious typo.

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 17 Feb 2020 18:37:24 +0000 (19:37 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix NEWS [ci skip]

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 17 Feb 2020 18:36:07 +0000 (19:36 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix NEWS [ci skip]

4 years agoFix NEWS [ci skip]
Christoph M. Becker [Mon, 17 Feb 2020 18:35:42 +0000 (19:35 +0100)]
Fix NEWS [ci skip]

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 17 Feb 2020 18:25:36 +0000 (19:25 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Update NEWS [ci skip]

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 17 Feb 2020 18:24:04 +0000 (19:24 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Update NEWS [ci skip]

4 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Mon, 17 Feb 2020 18:22:15 +0000 (19:22 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Update NEWS [ci skip]

4 years agoUpdate NEWS [ci skip]
Christoph M. Becker [Mon, 17 Feb 2020 18:21:51 +0000 (19:21 +0100)]
Update NEWS [ci skip]

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 17 Feb 2020 18:09:35 +0000 (19:09 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix # 79171: heap-buffer-overflow in phar_extract_file
  Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
  Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
  Mark bug76348.phpt as online test
  Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
  Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 17 Feb 2020 18:08:22 +0000 (19:08 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix # 79171: heap-buffer-overflow in phar_extract_file
  Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
  Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
  Mark bug76348.phpt as online test
  Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
  Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress

4 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Mon, 17 Feb 2020 18:08:04 +0000 (19:08 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Mark bug76348.phpt as online test
  Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
  Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 17 Feb 2020 17:54:32 +0000 (18:54 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Create a new console for each test worker on Windows

4 years agoCreate a new console for each test worker on Windows
Christoph M. Becker [Wed, 12 Feb 2020 13:34:48 +0000 (14:34 +0100)]
Create a new console for each test worker on Windows

The primary motivation to have each test worker running its own console
is to allow the windows_mb_path tests to run in parallel.  A nice side
effect is that this also prevents changing the code page of the
tester's console window (which can even cause its font to be changed).

To be able to do so, we introduce the `create_new_console` option for
`proc_open()`, which might occasionally be useful for other purposes
than testing.

4 years agoMake type error messages more consistent
Máté Kocsis [Wed, 29 Jan 2020 19:06:13 +0000 (20:06 +0100)]
Make type error messages more consistent

Closes GH-5092

4 years agoImprove generated names for anonymous classes
Nikita Popov [Thu, 6 Feb 2020 10:13:13 +0000 (11:13 +0100)]
Improve generated names for anonymous classes

In order of preference, the generated name will be:

    new class extends ParentClass {};
    // -> ParentClass@anonymous
    new class implements FirstInterface, SecondInterface {};
    // -> FirstInterface@anonymous
    new class {};
    // -> class@anonymous

This is intended to display a more useful class name in error messages
and stack traces, and thus make debugging easier.

Closes GH-5153.

4 years agoAdd static return type
Nikita Popov [Tue, 7 Jan 2020 14:06:36 +0000 (15:06 +0100)]
Add static return type

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

The "static" type is represented as MAY_BE_STATIC, rather than
a class type like "self" and "parent", as it has special
resolution semantics, and cannot be cached in the runtime cache.

Closes GH-5062.

4 years agoUse strlen for INI_* macros
Michael Voříšek [Wed, 12 Feb 2020 11:24:54 +0000 (12:24 +0100)]
Use strlen for INI_* macros

strlen() is resolved at compile time by optimizing compilers.

Prevent mistakes and allow to use INI_* macros with char * variables
which can have sizeof() == 1.

Closes GH-5174.

4 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Mon, 17 Feb 2020 09:54:11 +0000 (12:54 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Disable instantiation of zero size FFI\CData objects
  Fix # 79171: heap-buffer-overflow in phar_extract_file
  Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
  Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress

4 years agoDisable instantiation of zero size FFI\CData objects
Dmitry Stogov [Mon, 17 Feb 2020 09:48:55 +0000 (12:48 +0300)]
Disable instantiation of zero size FFI\CData objects

4 years agoFixed bug #79255 (PHP cannot be compiled with enable JIT)
Dmitry Stogov [Mon, 17 Feb 2020 09:03:49 +0000 (12:03 +0300)]
Fixed bug #79255 (PHP cannot be compiled with enable JIT)

4 years agoRevert "Fixed bug #79255 (PHP cannot be compiled with enable JIT)"
Nikita Popov [Mon, 17 Feb 2020 08:34:56 +0000 (09:34 +0100)]
Revert "Fixed bug #79255 (PHP cannot be compiled with enable JIT)"

This reverts commit de6984edd5ce7fa2b2f365b5ae770507ef42022d.

Reverting to unbreak 32-bit CI.

4 years agoFix # 79171: heap-buffer-overflow in phar_extract_file
Christoph M. Becker [Sun, 26 Jan 2020 15:03:35 +0000 (16:03 +0100)]
Fix # 79171: heap-buffer-overflow in phar_extract_file

We must not access memory outside of the allocated buffer.

4 years agoFix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access...
Stanislav Malyshev [Sun, 16 Feb 2020 06:17:14 +0000 (22:17 -0800)]
Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions

4 years agoFix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
Stanislav Malyshev [Sun, 16 Feb 2020 04:52:19 +0000 (20:52 -0800)]
Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress

4 years agoFix # 79171: heap-buffer-overflow in phar_extract_file
Christoph M. Becker [Sun, 26 Jan 2020 15:03:35 +0000 (16:03 +0100)]
Fix # 79171: heap-buffer-overflow in phar_extract_file

We must not access memory outside of the allocated buffer.

4 years agoFix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access...
Stanislav Malyshev [Sun, 16 Feb 2020 06:17:14 +0000 (22:17 -0800)]
Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions

4 years agoFix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
Stanislav Malyshev [Sun, 16 Feb 2020 04:52:19 +0000 (20:52 -0800)]
Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress

4 years agoFix # 79171: heap-buffer-overflow in phar_extract_file
Christoph M. Becker [Sun, 26 Jan 2020 15:03:35 +0000 (16:03 +0100)]
Fix # 79171: heap-buffer-overflow in phar_extract_file

We must not access memory outside of the allocated buffer.

4 years agoFix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access...
Stanislav Malyshev [Sun, 16 Feb 2020 06:17:14 +0000 (22:17 -0800)]
Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions

4 years agoFix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
Stanislav Malyshev [Sun, 16 Feb 2020 04:52:19 +0000 (20:52 -0800)]
Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 17 Feb 2020 08:10:39 +0000 (09:10 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #79271: DOMDocumentType::$childNodes is NULL

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 17 Feb 2020 08:09:12 +0000 (09:09 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #79271: DOMDocumentType::$childNodes is NULL

4 years agoFix #79271: DOMDocumentType::$childNodes is NULL
Christoph M. Becker [Fri, 14 Feb 2020 09:55:17 +0000 (10:55 +0100)]
Fix #79271: DOMDocumentType::$childNodes is NULL

Dom level 2 core, DOM level 3 core and the DOM living standard agree
that `childNodes` always return a `NodeList`, and never `null`.

4 years agoRevert "Replace @param annotations with type declarations"
Christoph M. Becker [Mon, 17 Feb 2020 07:55:18 +0000 (08:55 +0100)]
Revert "Replace @param annotations with type declarations"

This reverts commit c31029f335ca1b453af799805c43c37e959ad555.

4 years agoMark bug76348.phpt as online test
Nikita Popov [Tue, 19 Mar 2019 14:47:25 +0000 (15:47 +0100)]
Mark bug76348.phpt as online test

4 years agoFix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access...
Stanislav Malyshev [Sun, 16 Feb 2020 06:17:14 +0000 (22:17 -0800)]
Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions

4 years agoFixed bug #79255 (PHP cannot be compiled with enable JIT)
Xinchen Hui [Mon, 17 Feb 2020 05:13:49 +0000 (13:13 +0800)]
Fixed bug #79255 (PHP cannot be compiled with enable JIT)

4 years ago[skip ci] Skip 2 tokenizer tests if tokenizer isn't loaded
Tyson Andre [Sun, 16 Feb 2020 16:57:42 +0000 (11:57 -0500)]
[skip ci] Skip 2 tokenizer tests if tokenizer isn't loaded

`./configure --disable-tokenizer` can disable tokenizer

Closes GH-5184

4 years agoReplace @param annotations with type declarations
Christoph M. Becker [Sun, 16 Feb 2020 18:20:54 +0000 (19:20 +0100)]
Replace @param annotations with type declarations

4 years agoConstrain number parameter of numfmt_format to int|float
Christoph M. Becker [Sun, 16 Feb 2020 15:41:43 +0000 (16:41 +0100)]
Constrain number parameter of numfmt_format to int|float

This is inline with similar changes to the math functions.  Especially,
array to number conversion makes no sense here, and is likely to hide
a programming error.

To make that feasible, we introduce the `n` specifier for classic ZPP
so we can stick with `zend_parse_method_parameters()`.

We also remove a test case, which has been degenerated to a ZPP test.

4 years ago[skip ci] Fix typos in UPGRADING
Tyson Andre [Sat, 15 Feb 2020 22:49:18 +0000 (17:49 -0500)]
[skip ci] Fix typos in UPGRADING

Closes GH-5183

4 years agoFix arginfo
Christoph M. Becker [Sun, 16 Feb 2020 13:29:36 +0000 (14:29 +0100)]
Fix arginfo

These parameters accept int|float, since they are parsed with
`Z_PARAM_NUMBER`.

4 years agoFix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
Stanislav Malyshev [Sun, 16 Feb 2020 04:52:19 +0000 (20:52 -0800)]
Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress

4 years agoUpdate bundled config.guess and config.sub
Anatol Belski [Sat, 15 Feb 2020 12:43:31 +0000 (13:43 +0100)]
Update bundled config.guess and config.sub

4 years agoClarify that token_get_all() never returns false
Nikita Popov [Fri, 14 Feb 2020 15:49:43 +0000 (16:49 +0100)]
Clarify that token_get_all() never returns false

It can only fail in TOKEN_PARSE mode, in which case it will throw.

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Fri, 14 Feb 2020 08:24:38 +0000 (09:24 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix typo in recent bugfix

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Fri, 14 Feb 2020 08:23:29 +0000 (09:23 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix typo in recent bugfix

4 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Fri, 14 Feb 2020 08:22:37 +0000 (09:22 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix typo in recent bugfix

4 years agoFix typo in recent bugfix
Christoph M. Becker [Fri, 14 Feb 2020 08:21:13 +0000 (09:21 +0100)]
Fix typo in recent bugfix

4 years agoAdd stubs for zend_test
Nikita Popov [Thu, 13 Feb 2020 15:37:49 +0000 (16:37 +0100)]
Add stubs for zend_test

4 years agoAdd arginfo for HashContext::__construct()
Nikita Popov [Thu, 13 Feb 2020 15:39:45 +0000 (16:39 +0100)]
Add arginfo for HashContext::__construct()

Arginfo was already generated, just not referenced.

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 13 Feb 2020 15:18:25 +0000 (16:18 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix Azure MacOS build

4 years agoFix Azure MacOS build
Nikita Popov [Thu, 13 Feb 2020 14:45:39 +0000 (15:45 +0100)]
Fix Azure MacOS build

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Thu, 13 Feb 2020 14:17:25 +0000 (15:17 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #77569: Write Acess Violation in DomImplementation

4 years agoFix JIT trait type errors
Nikita Popov [Thu, 13 Feb 2020 14:16:23 +0000 (15:16 +0100)]
Fix JIT trait type errors

We need to load EX->func here rather than use a hardcoded op_array,
as it may be copied with adjusted scope for traits.

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Thu, 13 Feb 2020 14:15:45 +0000 (15:15 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #77569: Write Acess Violation in DomImplementation

4 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Thu, 13 Feb 2020 14:14:45 +0000 (15:14 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix #77569: Write Acess Violation in DomImplementation

4 years agoFix #77569: Write Acess Violation in DomImplementation
Christoph M. Becker [Thu, 13 Feb 2020 14:13:26 +0000 (15:13 +0100)]
Fix #77569: Write Acess Violation in DomImplementation

We must not assume that the zval IS_STRING.

4 years agoAdd const modifier for name strings
Michael Voříšek [Wed, 12 Feb 2020 11:13:26 +0000 (12:13 +0100)]
Add const modifier for name strings

Closes GH-5173.

4 years agoImproved the check
Xinchen Hui [Thu, 13 Feb 2020 07:59:21 +0000 (15:59 +0800)]
Improved the check

makefile.global is also used while building shared extension

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Wed, 12 Feb 2020 11:18:34 +0000 (12:18 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove value from comment in php.ini files

4 years agoRemove value from comment in php.ini files
Michael Voříšek [Mon, 10 Feb 2020 11:03:57 +0000 (12:03 +0100)]
Remove value from comment in php.ini files

Closes GH-5164.

4 years agoReset required_num_args for disabled functions
Nikita Popov [Wed, 12 Feb 2020 11:01:22 +0000 (12:01 +0100)]
Reset required_num_args for disabled functions

Otherwise we may get arginfo/zpp mismatch errors.

4 years agovar_dump(): Don't skip recursion detection on first level
Nikita Popov [Wed, 12 Feb 2020 09:27:28 +0000 (10:27 +0100)]
var_dump(): Don't skip recursion detection on first level

This is confusing. The current output doesn't make it clear that
we're in fact recursing to the top-level structure.

Closes GH-5171.

4 years agoFixed build (Only PHP above 7.1 could run the gen_stub.php)
Xinchen Hui [Wed, 12 Feb 2020 06:22:01 +0000 (14:22 +0800)]
Fixed build (Only PHP above 7.1 could run the gen_stub.php)

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Tue, 11 Feb 2020 16:32:49 +0000 (17:32 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fixed bug #79257

4 years agoFixed bug #79257
Nikita Popov [Tue, 11 Feb 2020 16:30:59 +0000 (17:30 +0100)]
Fixed bug #79257

Replace an existing entry for a given name only if we have a match.

4 years agoRemoved unused macro
Dmitry Stogov [Tue, 11 Feb 2020 14:30:49 +0000 (17:30 +0300)]
Removed unused macro

4 years agoReuse SEPARATE_ARRAY() macro
Dmitry Stogov [Tue, 11 Feb 2020 13:42:23 +0000 (16:42 +0300)]
Reuse SEPARATE_ARRAY() macro

4 years agoAdd UPGRADING notes
Nikita Popov [Tue, 11 Feb 2020 11:44:43 +0000 (12:44 +0100)]
Add UPGRADING notes

Not listing the details here, I think the RFC is a better reference
for the precise technical details.

[ci skip]

4 years agoAllow arbitrary expressions in new/instanceof using () syntax
Nikita Popov [Mon, 6 Jan 2020 15:22:17 +0000 (16:22 +0100)]
Allow arbitrary expressions in new/instanceof using () syntax

4 years agoTreat magic constants like normal constants
Nikita Popov [Mon, 6 Jan 2020 15:13:39 +0000 (16:13 +0100)]
Treat magic constants like normal constants

4 years agoMake class constants fully dereferencable
Nikita Popov [Mon, 6 Jan 2020 14:57:47 +0000 (15:57 +0100)]
Make class constants fully dereferencable

4 years agoUnify array and object dereferencability
Nikita Popov [Mon, 6 Jan 2020 14:22:25 +0000 (15:22 +0100)]
Unify array and object dereferencability

4 years agoSplit into fully_dereferencable and array_dereferencable
Nikita Popov [Mon, 6 Jan 2020 14:10:06 +0000 (15:10 +0100)]
Split into fully_dereferencable and array_dereferencable

4 years agoSplit class_constant from constant production
Nikita Popov [Mon, 6 Jan 2020 14:03:55 +0000 (15:03 +0100)]
Split class_constant from constant production

4 years agoMake encapsed strings fully dereferencable
Nikita Popov [Mon, 6 Jan 2020 13:51:00 +0000 (14:51 +0100)]
Make encapsed strings fully dereferencable

This allows operations that were previously allowed on constant
strings on interpolated strings as well.

4 years agoAdd support for $obj::class
Nikita Popov [Wed, 8 Jan 2020 14:57:13 +0000 (15:57 +0100)]
Add support for $obj::class

This allows $obj::class, which gives the same result as get_class($obj).
Anything other than an object results in TypeError.

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

Closes GH-5065.

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Tue, 11 Feb 2020 11:07:19 +0000 (12:07 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #79254: getenv() w/o arguments not showing changes

4 years agoRemove CURLOPT_PASSWDDATA block CURLOPT_PASSWDDATA was removed from curl as of 7...
ekinhbayar [Tue, 11 Feb 2020 08:45:05 +0000 (11:45 +0300)]
Remove CURLOPT_PASSWDDATA block CURLOPT_PASSWDDATA was removed from curl as of 7.10.8

Closes GH-5166.

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 11 Feb 2020 10:50:42 +0000 (11:50 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #79254: getenv() w/o arguments not showing changes

4 years agoFix #79254: getenv() w/o arguments not showing changes
Christoph M. Becker [Tue, 11 Feb 2020 08:43:15 +0000 (09:43 +0100)]
Fix #79254: getenv() w/o arguments not showing changes

To be able to see changes done only with `SetEnvironmentVariable()`, we
have to use `GetEnvironmentStrings()` instead of `environ`, because the
latter sees only changes done with `putenv()`.

For best backward compatibility we're using `GetEnvironmentStringsA()`;
switching to the wide string version likely makes sense for master,
though.

4 years agoRevert "Fix [-Wmissing-field-initializers] compiler warning in ext/PDO"
George Peter Banyard [Mon, 10 Feb 2020 23:57:11 +0000 (00:57 +0100)]
Revert "Fix [-Wmissing-field-initializers] compiler warning in ext/PDO"

Seems like Travis doesn't like this and now throws a
[-Werror=maybe-uninitialized] instead.

This reverts commit 051b01d465661e16f65bcfd58fcf1d7e03b26f35.