今日は clang 4.0 での警告除去や Kernel#sprintf などのフォーマット文字列で % が単独で利用された時の例外メッセージの修正などがありました。
nobu: r59450 2017-07-30 23:48:45 +0900
clang 4.0 で pack された構造体メンバーのポインタを取得すると alignment 違反の警告が出るので UNALIGNED_MEMBER_ACCESS() というマクロを導入して必要に応じてコンパイラ拡張を利用して警告を回避するようにしています。
nobu: r59451 2017-07-30 23:59:40 +0900
r59450 の UNALIGNED_MEMBER_ACCESS() の定義の条件に defined(__clang__) も追加しています。gcc では警告が出ないからとのこと。
kazu: r59452 2017-07-31 12:35:22 +0900
Kernel#sprintf などのフォーマット文字列で % を表現したかったら %% と二重にしないといけないのを例外メッセージにも含めるようにしています。 [ruby-core:82118] [Bug #13761]
svn: r59453 2017-07-31 12:35:23 +0900
version.h の日付更新。
nobu: r59454 2017-07-31 13:04:10 +0900
macOS で ar コマンドとして libtool というコマンドを利用して debug_counter.o が通常 symbol を1つも持たないので警告が出るのを抑制するようにしているそうです。