php-master-changes 2019-05-07

今日は括弧なしの三項演算子ネストの非推奨化、メソッドのシグネチャ互換性違反時に Warning でなく Fatal とする修正、AArch64 での一部コードの最適化、libffi の検出に PKG_CHECK_MODULES を使うようにする修正、Travis のビルド設定に --with-ffi を追加する修正、ドキュメントの整理更新、不要コードの削除、改行コードの修正、コンパイラの警告潰しの修正があった！

# 2019-05-07
## petk: [ci skip] Move OpenLDAP license to redistributable info file
- https://github.com/php/php-src/commit/975cb57930facebb54a4cfa4ca9e1d0b751803b8
- [7.4~]
- README.REDIST.BINS へ、ext/mbstring に入っていた OpenLDAP ライセンスのテキストを移動

## petk: [ci skip] Rename libbcmath license file to LICENSE
- https://github.com/php/php-src/commit/eb9ad31b48f6047fafed6221e130ff715d6d5748
- [7.4~]
- ext/bcmath で、libbcmath のライセンスファイル名 COPYING.LIB を LICENSE に変更

## petk: [ci skip] Add password registry RFC to changelog
- https://github.com/php/php-src/commit/88f64d4a7ba1aff61c0e8a595e48b8d4d8646f19
- [7.4~]
- [password hashing registry の RFC](https://wiki.php.net/rfc/password_registry) 実装についてドキュメントに追記

## petk: Remove empty section
- https://github.com/php/php-src/commit/b8caba92e2d1f4a312bb36a954dda0cc63eaf11c
- [7.4~]
- テストにあった空の SKIPIF セクションを削除

## petk: Convert CRLF line endings to LF
- https://github.com/php/php-src/commit/d153fbc5a935a73e95bfb1c13f82208c4983aa2f
- [7.3~]
- CRLF の LF への変更

## nikic: Remove outdated info from README.ZEND_MM
- https://github.com/php/php-src/commit/d9a2d76a43dd9343b6f95f9f3b0280f58225d4f6
- README.ZEND_MM の古くなっていた情報を削除

## sebpop: [AArch64] use rev64 to reverse strings
- https://github.com/php/php-src/commit/68a7578243635c9dd83580ebbb32cdf5390a1984
- [7.4~]
- AArch64 では [strrev()](https://www.php.net/manual/ja/function.strrev.php) の実装に [rev64](http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0802aj/REV64_advsimd_vector.html) を使うよう修正

## nikic: Always generate fatal error for LSP failures
- https://github.com/php/php-src/commit/fd2db1192997f5778139ea8e9d25189c7c08af2c
- メソッドのシグネチャ互換性違反時に Warning でなく Fatal とするよう修正
- 先に [RFC](https://wiki.php.net/rfc/lsp_errors) の受理されたもの

## nikic: Deprecate left-associative ternary
- https://github.com/php/php-src/commit/09ea55cb4e733f4e5221dfff5b66d6feb9695613
- [7.4~]
- 左結合の（括弧なしの）三項演算子ネストの非推奨化
- PHP 8 では括弧なしの三項演算子ネストはエラーとなり、常に括弧を使う必要が出る
- PHP 9 以降等、ある日に他言語にあわせて右結合に変えるかもしれない
- 驚くことに [RFC](https://wiki.php.net/rfc/ternary_associativity) の受理されたもの
    - 従来 internals では後方互換性について保守的な人の影響力が比較的大きかったのだけど、nikic の人の輝かしい実績と説得力によって結構な無茶でも「お前が言うなら」みたいな声が広がってきてる印象（[ラムダ短縮記法](https://wiki.php.net/rfc/arrow_functions_v2)も受理されたし）
- bwoebi の人が出してる[文字列結合の方](https://wiki.php.net/rfc/concatenation_precedence)とあわせて、個人的には「そこまでせんでも」と思うんだけどどうなんでしょう

## hughmcmaster: Use PKG_CHECK_MODULES to detect the ffi library
- https://github.com/php/php-src/commit/cc9c5d80570c0a3184017a921099b674f5e119e9
- [7.4~]
- ext/ffi で、libffi の検出に PKG_CHECK_MODULES を使うよう修正

## sebpop: speed up add and sub operators with overflow detection
- https://github.com/php/php-src/commit/adc3b720765f5c922f904279151b2af298080901
- [7.4~]
- AArch64 でのオーバーフロー検知付き加減算の高速化

## sebpop: speed up increment and decrement operators with overflow detection
- https://github.com/php/php-src/commit/79a84e00fad27bab2a4ca7a58ace1f68cc88be5c
- [7.4~]
- AArch64 でのオーバーフロー検知付きインクリメント / デクリメントの高速化

## nikic: Avoid some maybe uninitialized warnings in ffi
- https://github.com/php/php-src/commit/645ebcdfbfb2adc35aa714485d1685e8b2f8c3e2
- ext/ffi で、未初期化変数アクセス可能性のコンパイラ警告潰し（全て偽陽性）

## nikic: Add --with-ffi on Travis
- https://github.com/php/php-src/commit/7929f8307891682f750f0afe5e2cc78394055da5
- [7.4~]
- Travis のビルド設定に --with-ffi を追加

## sebpop: [AArch64] Use NEON to initialize zend_hash
- https://github.com/php/php-src/commit/6fad150cfdec697cb1b789447d10056f009a208d
- [7.4~]
- AArch64 では zend_hash の初期化に [NEON](https://www.wdic.org/w/SCI/NEON) を使うよう修正