[#26975] [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

56 messages 2005/09/07
[#26976] Re: [proposal] ANSI style function — Yukihiro Matsumoto <matz@...> 2005/09/07

まつもと ゆきひろです

[#26977] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/07

山本です。

[#26978] Re: [proposal] ANSI style function — nobu@... 2005/09/07

なかだです。

[#26979] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/07

山本です。

[#26980] Re: [proposal] ANSI style function — Yukihiro Matsumoto <matz@...> 2005/09/07

まつもと ゆきひろです

[#26983] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/08

山本です。

[#26988] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/08

山本です。

[#26989] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/08

山本です。

[#26990] Re: [proposal] ANSI style function — Yukihiro Matsumoto <matz@...> 2005/09/08

まつもと ゆきひろです

[#26991] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/08

山本です。

[#26995] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/09

山本です。

[#26996] Re: [proposal] ANSI style function — Yukihiro Matsumoto <matz@...> 2005/09/09

まつもと ゆきひろです

[#26998] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/09

山本です。

[#27000] Re: [proposal] ANSI style function — Takahiro Kambe <taca@...> 2005/09/09

In message <20050909220539.E1B26BB8.ocean@m2.ccsnet.ne.jp>

[#27001] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/10

山本です。

[#27002] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/10

山本です。

[#27003] Re: [proposal] ANSI style function — Yukihiro Matsumoto <matz@...> 2005/09/10

まつもと ゆきひろです

[#27004] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/10

山本です。

[#27005] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/10

山本です。

[#27006] Re: [proposal] ANSI style function — Yukihiro Matsumoto <matz@...> 2005/09/10

まつもと ゆきひろです

[#27007] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/10

山本です。

[#27008] Re: [proposal] ANSI style function — Yukihiro Matsumoto <matz@...> 2005/09/10

まつもと ゆきひろです

[#27009] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/10

山本です。

[#27011] Re: [proposal] ANSI style function — Yukihiro Matsumoto <matz@...> 2005/09/10

まつもと ゆきひろです

[#27013] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/10

山本です。

[#27016] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/11

山本です。

[#27015] Re: [proposal] ANSI style function — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/11

山本です。

[#26984] elimination of "extern int errno;" — Takahiro Kambe <taca@...>

こんにちは。

48 messages 2005/09/08
[#27023] sizeof(FILE) problem on DragonFly BSD — Takahiro Kambe <taca@...> 2005/09/12

In message <20050908.120716.71112483.taca@back-street.net>

[#27024] Re: sizeof(FILE) problem on DragonFly BSD — Yukihiro Matsumoto <matz@...> 2005/09/12

まつもと ゆきひろです

[#27025] Re: sizeof(FILE) problem on DragonFly BSD — Takahiro Kambe <taca@...> 2005/09/12

In message <1126489480.743964.31599.nullmailer@x31.priv.netlab.jp>

[#27027] Re: sizeof(FILE) problem on DragonFly BSD — Takahiro Kambe <taca@...> 2005/09/12

In message <20050912.104954.92585084.taca@back-street.net>

[#27029] Re: sizeof(FILE) problem on DragonFly BSD — Yukihiro Matsumoto <matz@...> 2005/09/12

まつもと ゆきひろです

[#27035] Re: sizeof(FILE) problem on DragonFly BSD — "U.Nakamura" <usa@...> 2005/09/12

こんにちは、なかむら(う)です。

[#27036] Re: sizeof(FILE) problem on DragonFly BSD — Yukihiro Matsumoto <matz@...> 2005/09/12

まつもと ゆきひろです

[#27079] ruby-1.8.3 status for release (Re: Re: sizeof(FILE) problem on DragonFly BSD) — Masayoshi Takahashi <maki@...> 2005/09/15

高橋征義です。

[#27081] Re: ruby-1.8.3 status for release (Re: Re: sizeof(FILE) problem on DragonFly BSD) — Yukihiro Matsumoto <matz@...> 2005/09/15

まつもと ゆきひろです

[#27082] Re: ruby-1.8.3 status for release — Masayoshi Takahashi <maki@...> 2005/09/15

高橋征義です。

[#27083] Re: ruby-1.8.3 status for release — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/15

山本です。

[#27099] Re: ruby-1.8.3 status for release — Hidetoshi NAGAI <nagai@...> 2005/09/15

永井@知能.九工大です.

[#27531] ruby/tk installation without tcl/tk (for 1.8.4) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/10/26

山本です。

[#27619] Re: ruby/tk installation without tcl/tk (for 1.8.4) — Hidetoshi NAGAI <nagai@...> 2005/11/02

永井@知能.九工大です.

[#27139] ruby-1.8.3 status for release — Masayoshi Takahashi <maki@...>

高橋征義です。

66 messages 2005/09/18
[#27193] Re: ruby-1.8.3 status for release — TAKAHASHI Masayoshi <maki@...> 2005/09/20

高橋征義です。

[#27251] 脆弱性レポート翻訳者募集 — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

13 messages 2005/09/21

[#27321] RubyGemsとOS platformとの関係 — Daigo Moriwaki <techml@...>

こんにちは、森脇です。

42 messages 2005/09/26
[#27327] Re: RubyGemsとOS platformとの関係 — nobuyoshi nakada <nobuyoshi.nakada@...> 2005/09/27

なかだです。

[#27330] Re: RubyGemsとOS platformとの関係 — Yukihiro Matsumoto <matz@...> 2005/09/27

まつもと ゆきひろです

[#27337] Re: RubyGems と OS platform との関係 — NISHIO Mizuho <jurader@...> 2005/09/27

西尾瑞穂 と言います。

[#27343] Re: RubyGems と OS platform との関係 — Yukihiro Matsumoto <matz@...> 2005/09/28

まつもと ゆきひろです

[#27347] Re: RubyGems と OS platform との関係 — Tanaka Akira <akr@...17n.org> 2005/09/28

In article <1127872084.608903.6359.nullmailer@x31.priv.netlab.jp>,

[#27348] Re: RubyGems と OS platform との関係 — Yukihiro Matsumoto <matz@...> 2005/09/28

まつもと ゆきひろです

[#27359] Re: RubyGems と OS platform との関係 — Daigo Moriwaki <techml@...> 2005/09/28

森脇です。

[#27364] Re: RubyGems と OS platform との関係 — akira yamada / やまだあきら <akira@...> 2005/09/30

Daigo Moriwaki wrote:

[#27365] Re: RubyGems と OS platform との関係 — Tanaka Akira <akr@...17n.org> 2005/09/30

In article <433CC31E.20802@ruby-lang.org>,

[#27367] Re: RubyGems と OS platform との関係 — akira yamada / やまだあきら <akira@...> 2005/09/30

Tanaka Akira wrote:

[#27369] Re: RubyGems と OS platform との関係 — Tanaka Akira <akr@...17n.org> 2005/10/01

In article <433D4CED.9030005@ruby-lang.org>,

[ruby-dev:27055] Re: [proposal] ANSI style function

From: "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Date: 2005-09-13 04:22:26 UTC
List: ruby-dev #27055
山本です。

>> 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では出なくなってるようです。

なぜ警告が出るのか探していて見つけたのですが、

http://wisdom.sakura.ne.jp/programming/c/c13.html

によると、int から char への変換は下位8ビットをマスクしたのと同じ挙動を
示すそうです。(言われてみると納得できる気もするのですが、なんか意外でした。
C++ の bool のような感覚で、なんとなく非負の int は非負の char になるように思い込んでました。)

符合があるときもこの挙動なのか、よく調べてませんが、これが本当なら
marshal.c の & 0xff は char へのキャストに置き換えられると思います。

#include <stdio.h>

void test(char c) /* int -> char */
{
    puts(c ? "non-zero" : "zero"); /* zero! */
}
int main()
{
    test(0x100); /* int */
}

ただ、marshal.c の 548 行目の w_byte(rb_reg_options(obj), arg); だけは、
rb_reg_options が int を返してるので、現在は 256 以下に収まってますが
将来的にどうなのか・・・

# あと、やはり 256 以下に収まっているので今は問題にならないのですが、
# bignum.c は下のようにしたほうがいいと思います。

Index: bignum.c
===================================================================
RCS file: /src/ruby/bignum.c,v
retrieving revision 1.122
diff -u -w -b -p -r1.122 bignum.c
--- bignum.c	12 Sep 2005 10:44:19 -0000	1.122
+++ bignum.c	13 Sep 2005 04:00:41 -0000
@@ -43,7 +43,7 @@ bignew_1(VALUE klass, long len, int sign
 {
     NEWOBJ(big, struct RBignum);
     OBJSETUP(big, klass, T_BIGNUM);
-    big->sign = (char)sign;
+    big->sign = sign?1:0;
     big->len = len;
     big->digits = ALLOC_N(BDIGIT, len);
 
Index: marshal.c
===================================================================
RCS file: /src/ruby/marshal.c,v
retrieving revision 1.121
diff -u -w -b -p -r1.121 marshal.c
--- marshal.c	12 Sep 2005 10:44:20 -0000	1.121
+++ marshal.c	13 Sep 2005 04:06:08 -0000
@@ -116,7 +116,7 @@ class2path(VALUE klass)
 static void w_long _((long, struct dump_arg*));
 
 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;
     rb_str_buf_cat(buf, s, n);
@@ -134,7 +134,7 @@ w_byte(char c, struct dump_arg *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);
     w_nbyte(s, n, arg);
@@ -143,8 +143,8 @@ w_bytes(char *s, int n, struct dump_arg 
 static void
 w_short(int x, struct dump_arg *arg)
 {
-    w_byte((x >> 0) & 0xff, arg);
-    w_byte((x >> 8) & 0xff, arg);
+    w_byte((char)(x >> 0), arg);
+    w_byte((char)(x >> 8), arg);
 }
 
 static void
@@ -165,11 +165,11 @@ w_long(long x, struct dump_arg *arg)
 	return;
     }
     if (0 < x && x < 123) {
-	w_byte(x + 5, arg);
+	w_byte((char)(x + 5), arg);
 	return;
     }
     if (-124 < x && x < 0) {
-	w_byte((x - 5)&0xff, arg);
+	w_byte((char)(x - 5), arg);
 	return;
     }
     for (i=1;i<sizeof(long)+1;i++) {
@@ -358,7 +358,7 @@ w_extended(VALUE klass, struct dump_arg 
 }
 
 static void
-w_class(int type, VALUE obj, struct dump_arg *arg, int check)
+w_class(char type, VALUE obj, struct dump_arg *arg, int check)
 {
     char *path;
 

In This Thread