今日は括弧なしの三項演算子ネストの非推奨化、メソッドのシグネチャ互換性違反時に 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 実装についてドキュメントに追記
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() の実装に rev64 を使うよう修正
nikic: Always generate fatal error for LSP failures
- https://github.com/php/php-src/commit/fd2db1192997f5778139ea8e9d25189c7c08af2c
- メソッドのシグネチャ互換性違反時に Warning でなく Fatal とするよう修正
- 先に RFC の受理されたもの
nikic: Deprecate left-associative ternary
- https://github.com/php/php-src/commit/09ea55cb4e733f4e5221dfff5b66d6feb9695613
- [7.4~]
- 左結合の(括弧なしの)三項演算子ネストの非推奨化
- PHP 8 では括弧なしの三項演算子ネストはエラーとなり、常に括弧を使う必要が出る
- PHP 9 以降等、ある日に他言語にあわせて右結合に変えるかもしれない
- 驚くことに RFC の受理されたもの
- 従来 internals では後方互換性について保守的な人の影響力が比較的大きかったのだけど、nikic の人の輝かしい実績と説得力によって結構な無茶でも「お前が言うなら」みたいな声が広がってきてる印象(ラムダ短縮記法も受理されたし)
- bwoebi の人が出してる文字列結合の方とあわせて、個人的には「そこまでせんでも」と思うんだけどどうなんでしょう
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 を使うよう修正