php-master-changes 2019-02-14

今日は timelib.m4 の削除、PHP Testfest 2017 で追加されたテストの取り込み、PDO::setFetchMode() の arginfo 修正、ドキュメントの更新、SIMD 利用での最適化箇所の取り扱いの修正、
setcookie() が誤った SameSite ヘッダーを設定する問題の修正、コンストラクタの可視性を継承先で public から private へ変えるようなコードがエラーになっていた問題の修正、get_class_methods() と reflection でのコンストラクタチェック処理の修正、存在しないプロパティへのアクセスで勝手に stdClass のオブジェクトが作られる際の警告出力の修正、typo 修正、Global register variables 無しの環境でのビルドの修正があった！

# 2019-02-14
## petk: Refactor timelib.m4
- https://github.com/php/php-src/commit/0ffa84d7401d61a251029c0813e38a69f84a9486
- [7.2~]
- ext/date で、timelib.m4 を削除
- バンドルライブラリ同梱のものだったが、チェック内容がほぼ PHP の configure.ac に含まれていたり不要だったりしたので、必要な一部のみ拡張の config0.m4 へ移動して消した

## kea: http_build_query add type cases
- https://github.com/php/php-src/commit/ea3cda0315852190a1bbf2ef16ca62a6410c3615
- [7.4~]
- [http_build_query()](http://php.net/manual/ja/function.http-build-query.php) のテストケースで bool と float をカバーするよう修正
- [PHP Testfest 2017](https://phptestfest.org/groups/2017/)
- PR は[これ](https://github.com/phpcommunity/phptestfest-php-src/pull/149) かな

## carusogabriel: Missing param in arginfo_pdostatement_setfetchmode
- https://github.com/php/php-src/commit/ad75511c8e5461cc6ba5cf7aad8f5265615560a8
- ext/pdo で、[PDO::setFetchMode()](http://php.net/manual/ja/pdostatement.setfetchmode.php) の arginfo が 2 引数までしか対応していなかったのを修正

## carusogabriel: Add UPGRADING entry for [ad75511c8e](https://github.com/php/php-src/commit/ad75511c8e5461cc6ba5cf7aad8f5265615560a8)
- https://github.com/php/php-src/commit/14357e5bcb508c2a767c266659ad7436804efa39
- ↑の UPGRADING への追記

## nikic: Work around compiler flag dependent ABI
- https://github.com/php/php-src/commit/7bc162f928fe8144eddf95ca4bda5377787c8720
- [7.3~]
- コンパイラが \_\_SSE4_2\_\_ を利用可能か検知するようビルドシステムを修正
- 内部用 API php_addslashes() が利用

## nikic: Fixed bug [#77612](https://bugs.php.net/bug.php?id=77612)
- https://github.com/php/php-src/commit/eb063c8a9f130f2981c590d31aa2dd548a8d523b
- [7.3~]
- [setcookie()](http://php.net/manual/ja/function.setcookie.php) が誤った SameSite ヘッダーを設定する問題の修正
- バッファに smart_str() 系を使うようにした

## dstogov: Fixed bug [#77613](https://bugs.php.net/bug.php?id=77613) (method visibility change) (reverted ZEND_ACC_CTOR and ZEND_ACC_DTOR flags removal)
- https://github.com/php/php-src/commit/43a7d95016761787cace63fb52e93e27e123d0cc
- [7.4~]
- コンストラクタの可視性を継承先で public から private へ変えるようなコードがエラーになっていた問題の修正
- [以前に ZEND_ACC_CTOR と ZEND_ACC_DTOR を削除](https://qiita.com/sj-i/items/21ff7e37686ae4b6d7b1#dstogov-get-rid-of-zend_acc_ctor-zend_acc_dtor-and-zend_acc_implemented_abstract)したのをリバートした形

## nikic: Remove bogus ctor checks in get_class_methods() + reflection
- https://github.com/php/php-src/commit/1a5cff334d5f93336f3ee645dd73c9297ed24056
- [7.4~]
- [get_class_methods()](http://php.net/manual/ja/function.get-class-methods.php) と reflection で行っていたコンストラクタのダメなチェック処理を修正
- 継承されたもの / trait からのもの / エイリアスされたものについて検知できない処理となっていた

## nikic: Make ABI of SIMD optimized functions independent of compiler flags
- https://github.com/php/php-src/commit/96daef0458e2ae7cef4079f9a75cf90fff4b4e02
- [7.4~]
- SIMD で最適化する一部内部 API が、利用可能な命令に応じ条件コンパイルで関数だったり関数ポインタだったりしたのを、常時関数となるよう修正
- 内部で関数ポインタ経由で間接呼び出しする

## nikic: Use #ifdef instead of #if
- https://github.com/php/php-src/commit/dab54624842e76350bb6f5e71a8ef0f53ed34630
- 条件コンパイルで \_\_SSE4_2\_\_ を `#if` で見ていたのを `#ifdef` に修正

## bp1222: Fixed bug [#75921](https://bugs.php.net/bug.php?id=75921)
- https://github.com/php/php-src/commit/e63febb1c772e15c1da891f00e3a343090e43c67
- [7.4~]
- 存在しないプロパティへのアクセスで勝手に stdClass のオブジェクトが作られる際、配列の添字指定と組み合わせた式では "Creating default object from empty value" の警告が出ない問題の修正
- 修正の副作用として、これまで 1 つしか警告出なかった箇所で 2 つ出るようになってるケースがある

## nikic: Fix typo in XML test
- https://github.com/php/php-src/commit/29d87caebfa69ba4183be516b1fd803b9f92846a
- [7.4~]
- ext/simplexml で、テストの xml が zml になっていた typo を修正
- zml って[ザメル](https://www65.atwiki.jp/battle-operation2/pages/674.html)かよ！とか思いつつ一応確認したら[ザメルは逆に xml](https://gundam.fandom.com/wiki/YMS-16M_Xamel) だった

## nikic: Fix build without global regs
- https://github.com/php/php-src/commit/adf2f39745e78fbb5e89802a2675b407d2ed5255
- [7.4~]
- [Global register variables](https://qiita.com/hnw/items/ef6f32bcbd99c8127ec7) 無しの環境でのビルドを修正