php-master-changes 2018-09-18

小さな修正系がわりと多い！
preloading の [PoC](https://github.com/php/php-src/pull/3538) が PR にきてた
あと [chrg の人](https://qiita.com/crhg)の [PR](https://github.com/php/php-src/pull/2931) がマージされてるのを見かけた（今日分というか明日分というかのコミットログに入ってくるやつ）

# 2018-09-18
## dstogov: Use different loop terminating conditions
- https://github.com/php/php-src/commit/62338a23852e3da56a0e6a56052835f390f608bd
- ループの終了条件に使うデータを変更

## nikic: Remove unused HAVE_BROKEN_GLIBC_FOPEN_APPEND
- https://github.com/php/php-src/commit/415cb20dc15ac7e26f267a74a53892a2c176d62c
- PHP 5.0 から使われていない HAVE_BROKEN_GLIBC_FOPEN_APPEND を削除

## nikic: Remove unused ZEND_CT and ZEND_RT constants
- https://github.com/php/php-src/commit/3c8e5432b013c96526d522bea9d0754eccb27a44
- 使われていない定数 ZEND_CT と ZEND_RT を削除

## nikic: Remove ZEND_OBJECTS_STORE_HANDLERS macro
- https://github.com/php/php-src/commit/a79e5f705cd5647525d724addffa66405583dc58
- PHP7.0 から不要なマクロ ZEND_OBJECTS_STORE_HANDLERS を削除

## nikic: Remove ZEND_EARLY_BINDING_* constants
- https://github.com/php/php-src/commit/02664aee5c934222ad3dcbcb24de524f5db14588
- 実際には使われてなかったっぽい定数 ZEND_EARLY_BINDING_* を削除

## nikic: Remove my_estrdup() and my_efree() macros
- https://github.com/php/php-src/commit/37dc710ae63a2cb946b24ebb8ec1bccb0390424f
- 使われていないマクロ my_estrdup() と my_efree() を削除

## adoy: Fix [76480](https://bugs.php.net/bug.php?id=76480): Use curl_multi_wait() so that timeouts are respected
- https://github.com/php/php-src/commit/3bb218a0a776f8673ea8fab1fb311b760afc0860
- [curl_multi_select()](http://php.net/manual/ja/function.curl-multi-select.php) の利用時、内部で libcurl 7.28 で導入された [curl_multi_wait()](https://curl.haxx.se/libcurl/c/curl_multi_wait.html) を使うよう修正
- CURLOPT_TIMEOUT などで設定されたタイムアウトは引数で渡されたタイムアウトの経過後しかチェックされず、十分短い値を渡さないと設定値が活かされなかった問題への対処

## petk: Fix config.guess and config.sub files in .gitignore
- https://github.com/php/php-src/commit/cfe46a5d7970e988591f0593ae3ebddf9e5196f4
- config.guess と config.sub の .gitignore での扱いを修正
- どちらもトップレベルの奴はリポジトリにコミットされてる奴なので .gitignore から外した
- ext 下の config.guess は .gitignore へ追加して無視できるように

## petk: Remove HAVE_STRING_H
- https://github.com/php/php-src/commit/d3ca28f5694e7848fb2b238bbe3e9564230ae65e
- C89 前提で string.h はあるだろう、というので HAVE_STRING_H を削除

## petk: Remove HAVE_STDARG_H
- https://github.com/php/php-src/commit/b189c2432a4ba9bc111f2a4bb565ed9af09c8dc8
- C89 前提で stdarg.h はあるだろう、というので HAVE_STDARG_H を削除

## dstogov: Replace ZEND_ACC_ANON_BOUND, ZEND_ACC_UNRESOLVED_PARENT and ZEND_ACC_UNRESOLVED_INTERFACES with single ZEND_ACC_LINKED.
- https://github.com/php/php-src/commit/689c6fb188c9dfe5e428492b4b80f8d6f586a7e5
- ZEND_ACC_ANON_BOUND と ZEND_ACC_UNRESOLVED_PARENT、 ZEND_ACC_UNRESOLVED_INTERFACES を ZEND_ACC_LINKED に一本化
- それぞれコンパイルで生成されたクラスエントリが必要な他のクラスエントリ（親クラスやインターフェース）へのバインドを済ませてるか、を管理するフラグ、と考えると、単純化はされたのかな

## weltling: Add spectre switch for suitable vc14 versions
- https://github.com/php/php-src/commit/be02b2e8fd47ca3410ca6046b45f38fcc0e9333b
- win で VC14 のバージョンによって [Spectre 対策](https://support.microsoft.com/ja-jp/help/4338871/visual-studio-2015-update-3-spectre-variant-1-toolset-qspectre)のスイッチを有効にするようにした

## nikic: Remove add_method() macro
- https://github.com/php/php-src/commit/5cf2045b0a2b30f57fa2877d416cd7ee88ba47e7
- 使われていない（そして存在しない関数に展開される）マクロ add_method() を削除

## nikic: Remove legacy add_*_unset() macros
- https://github.com/php/php-src/commit/c625150b023318b94b100ac06c25750e09aefd8f
- add_\*\_unset() に置き換えられた古いマクロ add_\*\_unset() を削除

## nikic: Drop unused variable
- https://github.com/php/php-src/commit/a7b8131606ec654af212c0524853a4ea7f70e8c4
- 使われていない変数を削除

## remicollet: drop support for bundled libzip (linux)
- https://github.com/php/php-src/commit/c099be4b5a244fc500d5582f9505e04858cfc6b3
- libzip のバンドル版のサポートをやめ、システムの libzip を要求するよう修正

## nikic: Remove bundled libzip
- https://github.com/php/php-src/commit/4e23dffe04bd8bd00db4ecaf91c98e7482a8e25a
- libzip のバンドル版を削除

## nikic: Drop --without-libzip option from Travis
- https://github.com/php/php-src/commit/1a55c3607d8257286668081d998a225a03f50fc1
- Travis の設定から --without-libzip を削除
- UPGRADING にバンドル版やめたので libzip >= 0.11 を別途入れてねと追記

## nikic: Remove invalid free
- https://github.com/php/php-src/commit/9f4ec45aa68ab677e95fbf2bdb94403f9dc44251
- ext/intl で無効なバッファの解放があったのを修正

## nikic: Simplify buffer management in php_intl_idn_to_46()
- https://github.com/php/php-src/commit/e947bcaf3925ffba1b214399ad32c319ba038c55
- ext/intl の php_intl_idn_to_46() でバッファ管理を単純化
- コード内のフラグ操作で解放タイミングを管理していたのを単に参照カウントの文字列に

## nikic: Remove server-tests.php
- https://github.com/php/php-src/commit/4f36acb9e65935aa657f1f22e2320a401bdbdad3
- 使われていない server-tests.php を削除
- 当初 HTTP 下でのテスト用に作られたものだったが、誰も使わないし PR 上の議論でもちょいちょい消そうぜとなっていたらしい

## weltling: Upgrade PCRE2 to 10.32
- https://github.com/php/php-src/commit/d918e0776b5168aed2707b0ca500589844f0faa8
- バンドルしている PCRE2 を 10.32 へアップグレード

## dstogov: Fixed crashes in ZTS build introduced by [689c6fb188c9dfe5e428492b4b80f8d6f586a7e5](https://github.com/php/php-src/commit/689c6fb188c9dfe5e428492b4b80f8d6f586a7e5)
- https://github.com/php/php-src/commit/2df91cb5190018e0340c869abd6dbda553a97acb
- [先の ACC_LINKED の修正](#dstogov-replace-zend_acc_anon_bound-zend_acc_unresolved_parent-and-zend_acc_unresolved_interfaces-with-single-zend_acc_linked)が ZTS 版でクラッシュにつながってたのを修正