まつもと ゆきひろです
In message "[ruby-list:8621] Re: can't build 1.1b9_28 on digital-unix"
on 98/07/02, Go Nakagawa <nakagawa / shizuokanet.ne.jp> writes:
|中川です。
|> これらの原因はそこにあります.私の手元からalphaマシンが無く
|> なって以来全然チェックしていませんから.
|
|やはり sizeof(long)==8 がミソなんですね。
そうですね.FIX2INT()とFIX2LONG()が区別されてませんでした.
32bitアーキテクチャではこの二つは同じなので.
1.1b9_29では修正されるはずです.
|> まず,marshal.cがコンパイルできない件は添付のパッチでうまく
|> 行くのではないかと思います.warningは残るかも.
|
|コンパイルは上手くいきました。ありがとうございます。warning は
:
|marshal.c:777: warning: cast from pointer to integer of different size
:
|みたいな感じです。
以下のパッチでどうでしょう.
--- marshal.c 1998/06/26 09:44:27 1.1.1.1.2.12
+++ marshal.c 1998/07/03 05:02:46
@@ -513,4 +513,5 @@
+static long blen; /* hidden length register */
#define r_bytes(s, arg) \
- (s = (char*)r_long(arg), r_bytes0(&s,ALLOCA_N(char,(long)s),(long)s,arg))
+ (blen = r_long(arg), r_bytes0(&s,ALLOCA_N(char,blen),blen,arg))