ruby-trunk-changes r55568 - r55572

今日は Solaris 10, Solaris 11 でのビルドエラーの修正などがありました。

kazu: r55568 2016-07-03 22:23:27 +0900

r55555 の ChangeLog エントリの typo とインデント修正。

naruse: r55569 2016-07-04 13:09:51 +0900

random.c の random_ulonog_limited() で unsigned long ぶんの bit mask を生成するのに SIZEOF_LONG が 4 でない環境でも不要な bit shift を使わないようにしています。この n の値が上で sizeof(unsigned long) または sizeof(uint32_t) になっているので、unsigned long が 4バイトより小さい幅しか持ってない時だけ bit shift を使うほうの分岐に入るわけですね。ほとんどなさそう。この分岐はコンパイラが消してくれて不要な bit shift が消えるだけになって高速になるのかも。

svn: r55570 2016-07-04 13:09:52 +0900

version.h の日付更新。

naruse: r55571 2016-07-04 13:57:27 +0900

configure で signal.h で定義されている sig_t という型の存在をチェックして未定義だったら process.c で定義しておくようにしています。 Solaris 10 と Solaris 11 では sig_t が未定義だったそうです。

naruse: r55572 2016-07-04 16:05:00 +0900

r55571 の preprocessor の条件が反対だったのを修正しています。