php-master-changes 2019-04-15

今日はテストの修正、opcache の最適化に使う用関数情報からPHP 7 で削除された関数の関数情報を削除する修正、ぬるぽの修正、オブジェクトを Reflection 経由で生成するとコンストラクタで例外を投げた際にデストラクタが呼ばれる問題の修正、Zend.m4 で、-Wno-strict-aliasing を gcc のコンパイルオプションに追加する修正、コンパイラの警告潰し、関数内の引数受取命令で不要な判定処理を減らす修正、ArrayObject のソート時の参照破棄処理の修正、saproxy_property_write() のシグネチャの修正、sockaddr 構造体をゼロフィルで初期化するようにする修正、strict_types=1 だと IntlDateFormatter::create() に失敗する問題の修正、zend_gdb.c の修正、curl_version() のテストを追加する修正があった！

# 2019-04-15
## nikic: Fix incorrect compare_stats operator
- https://github.com/php/php-src/commit/f73c104927b64d6137cbe42bf42260d9349cbd02
- [7.4~]
- stats の結果を比較するテスト用関数 [compare_stats()](https://github.com/php/php-src/blob/9003d8a4cfe810b9222273a36b9be89dda94a35b/ext/standard/tests/file/file.inc#L593) へ与える引数が誤っていた問題の修正

## royopa: Remove functions from func_info that were removed in PHP 7
- https://github.com/php/php-src/commit/f1dbe6160c2107af5dbe7364fe68cae5a53d3626
- [7.4~]
- ext/opcache で、PHP 7 で削除された関数の関数情報を削除

## Côme Chilliet: Fix a NULL dereferencing crash in php-ldap
- https://github.com/php/php-src/commit/ea0f26420dbfca5c90c76622ca177ffe20352cfd
- ext/ldap で、ぬるぽを修正
- [#77869](https://bugs.php.net/bug.php?id=77869)

## Côme Chilliet: Updated NEWS
- https://github.com/php/php-src/commit/3e1eff251be4b1d24079fb3e74c7a62d9eccc771
- [7.3~]
- ↑を NEWS に追記

## nikic: Fixed bug [#77882](https://bugs.php.net/bug.php?id=77882)
- https://github.com/php/php-src/commit/e9c0367fdc4653331f398df36a10db1c54d6f3df
- [7.2~]
- オブジェクトを new でなく Reflection 経由で生成すると、コンストラクタで例外を投げた際にデストラクタが呼ばれる問題の修正

## nikic: Disable strict aliasing warnings
- https://github.com/php/php-src/commit/3f19592f92fb3b646a2e52c6af6df18f78f27a98
- Zend/Zend.m4 で、-Wno-strict-aliasing を gcc のコンパイルオプションに追加
- gcc 5 で偽陽性の警告がうるさかったらしい

## nikic: Fix uninitialized cert_captured
- https://github.com/php/php-src/commit/917952453cef3df3e81a8d101de45d87b8d74f8e
- [7.2~]
- ext/openssl で、未初期化変数へのアクセスの修正

## nikic: Avoid maybe uninit warning in libmagic
- https://github.com/php/php-src/commit/908660c1d778186f661d97c7051c8f2891e2e602
- ext/fileinfo で、コンパイラの警告潰し
- 新しいバージョンの gcc だと警告出なくなってる偽陽性の奴らしい……

## nikic: Fix last maybe uninit warnings on 7.4
- https://github.com/php/php-src/commit/7f6c22cb3d207db0937a8f67e51bee031ba47314
- 7.4 系での未初期化変数へのアクセスへの可能性警告潰し
- わりと gcc 5 での偽陽性の警告らしい

## nikic: Try to fix stat_variation3-win32.phpt
- https://github.com/php/php-src/commit/433d68fce1a3c7f4855a8fdcdb911a1e7b46ee27
- [7.4~]
- [typo を直した](https://qiita.com/drafts/055edccc32df78c93624/edit#nikic-fix-incorrect-compare_stats-operator)らこけるようになったテストの修正

## nikic: Suppress some maybe uninit warnings in jit
- https://github.com/php/php-src/commit/49b97af4310a5b7db7a2f4c1150866305ac8dcd9
- ext/opcache/jit で、未初期化変数へのアクセス可能性の警告潰し

## dstogov: Removed tests that always (or almost always) true
- https://github.com/php/php-src/commit/cb3cfc9ff8d2afabc00f7f2aa2751d205d889a31
- [7.4~]
- 関数内の引数受取命令で、不要な判定処理を減らした

## nikic: Correctly destroy reference in ArrayObject sort
- https://github.com/php/php-src/commit/5fc71c7dba0f1cfd0647d95a86e74d2361beeeeb
- [7.4~]
- ext/spl で、ArrayObject のソート時適切に参照を破棄するよう修正
- 例外のバックトレースで参照握られることがあるので力強く efree() したらアカンということらしい

## nikic: Fix saproxy_property_write signature
- https://github.com/php/php-src/commit/0c8a2d8d2a44742ed8329ce90fdb91a6aa54c5bc
- [7.4~]
- ext/com_dotnet で、saproxy_property_write() のシグネチャを修正

## nikic: Zero sockaddr struct
- https://github.com/php/php-src/commit/9b1950b00591e3a6de0f39e6c1a5708d37188224
- [7.2~]
- sockaddr 構造体をゼロフィルで初期化するよう修正
- valgrind で警告が出てたらしい

## nikic: Fixed bug [#77895](https://bugs.php.net/bug.php?id=77895)
- https://github.com/php/php-src/commit/619c4e9f2e772557d3bdaa4e23f8392dc7f4c499
- [7.2~]
- ext/intl で、strict_types=1 だと [IntlDateFormatter::create()](https://www.php.net/manual/ja/intldateformatter.create.php) に失敗する問題の修正
- zpp のオプション間違ってましたねっていう

## dcarlier-afilias: Both readlink args should not point to the same buffer
- https://github.com/php/php-src/commit/e1e63b89f41d41f6fd5ab8e7463d9bb6ac63369c
- zend_gdb.c で、[readlink()](http://man7.org/linux/man-pages/man2/readlink.2.html) の読み込み元と書き込み先が同じバッファだったのを修正
- devnexen の人がやってるから *BSD の libc ではアカンかったとかか……？まあキモいからやめてくれ感はあるか

## royopa: Add test for curl_version()
- https://github.com/php/php-src/commit/8e68a9d9eb28e333baa4bd60d332d49e5e61520d
- [7.4~]
- ext/curl で、[curl_version()](https://www.php.net/manual/ja/function.curl-version.php) のテストを追加