なかだです。

At Mon, 12 Sep 2005 19:01:44 +0900,
H.Yamamoto wrote in [ruby-dev:27042]:
> 他には、mswin32 では
> 
> marshal.c
> ../ruby/marshal.c(548) : warning C4761: 関数の仮引数と実引数のベース型が異なってい
> ます。実引数を仮引数の型に変換します。
> ../ruby/marshal.c(146) : warning C4761: 関数の仮引数と実引数のベース型が異なってい
> ます。実引数を仮引数の型に変換します。
> ../ruby/marshal.c(147) : warning C4761: 関数の仮引数と実引数のベース型が異なってい
> ます。実引数を仮引数の型に変換します。
> ../ruby/marshal.c(168) : warning C4761: 関数の仮引数と実引数のベース型が異なってい
> ます。実引数を仮引数の型に変換します。
> ../ruby/marshal.c(172) : warning C4761: 関数の仮引数と実引数のベース型が異なってい
> ます。実引数を仮引数の型に変換します。
> ../ruby/marshal.c(367) : warning C4761: 関数の仮引数と実引数のベース型が異なってい
> ます。実引数を仮引数の型に変換します。
> 
> といった警告が残ってますが、bcc32 では警告は出ません。これは挙動を追う必要がありそうなので、
> 後回しにしました。

この警告はVC7では出なくなってるようです。


Index: marshal.c =================================================================== RCS file: /cvs/ruby/src/ruby/marshal.c,v retrieving revision 1.121 diff -U2 -p -r1.121 marshal.c --- marshal.c 12 Sep 2005 10:44:20 -0000 1.121 +++ marshal.c 13 Sep 2005 02:27:42 -0000 @@ -117,5 +117,5 @@ static void w_long _((long, struct dump_ static void -w_nbyte(char *s, int n, struct dump_arg *arg) +w_nbyte(const char *s, int n, struct dump_arg *arg) { VALUE buf = arg->str; @@ -129,11 +129,13 @@ w_nbyte(char *s, int n, struct dump_arg static void -w_byte(char c, struct dump_arg *arg) +w_byte1(char c, struct dump_arg *arg) { w_nbyte(&c, 1, arg); } +#define w_byte(c, arg) w_byte1((char)(c), arg) + static void -w_bytes(char *s, int n, struct dump_arg *arg) +w_bytes(const char *s, int n, struct dump_arg *arg) { w_long(n, arg);
-- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦