[#27384] yaml and pp dump core — sheepman <sheepman@...>
こんばんは、sheepman です。
[#27406] Ripper.new("").parse blocks — Tanaka Akira <akr@...17n.org>
先ほど、端末から test-all したときに途中でブロックすることに
なかだです。
まつもと ゆきひろです
咳といいます。
[#27417] selector namespace — Shugo Maeda <shugo@...>
前田です。
なかだです。
前田です。
なかだです。
前田です。
原です。
なかだです。
[#27428] cannot build ruby with byacc (1.8) — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
山本です。
なかだです。
山本です。
[#27429] 1.8.4 relrase plan? — "URABE Shyouhei aka. mput" <root@...>
卜部です。 RubyConf にかまけていた間に
なかだです。
[#27449] --without-hoge — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#27458] Matrix class is broken without mathn — akira yamada / やまだあきら <akira@...>
Debianユーザからrequire "mathn"しないときに
まつもと ゆきひろです
酒井といいます。
まつもと ゆきひろです
けいじゅ@いしつかです.
原です。
けいじゅ@いしつかです.
原です。
けいじゅ@いしつかです.
原です。
[#27460] Re: [ruby-cvs:15780] ruby, ruby/lib: * lib/mkmf.rb (create_makefile): do not unnecessary empty directories. — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
なかだです。
[#27470] def Foo::Bar.baz; end — "URABE Shyouhei aka.mput" <root@...>
卜部です。
[#27484] 1.8.4 feature freeze? — "URABE Shyouhei aka. mput" <root@...>
卜部です。
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
卜部です。
[#27492] Re: [ ruby-Bugs-2613 ] building ruby 1.8.3 on Solaris — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
まつもと ゆきひろです
わたなべです。
山本です。
山本です。
こんにちは、なかむら(う)です。
なかだです。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
[#27511] RCR 322: Use log identities to improve BigMath::log performance — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
小林です。
まつもと ゆきひろです
小林です。
まつもと ゆきひろです
[#27513] broken Qtrue in 64bit environment — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#27532] [win32] replaced symbols — nobuyoshi nakada <nobuyoshi.nakada@...>
なかだです。
[#27535] Re: [ruby-list:41402] Re: 全角スペースを区切りとした文字列分解で — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#27551] 1.8.4 検証を(だれが|どのように)行うか — "URABE Shyouhei aka.mput" <root@...>
さて、 1.8.4-Preview1
植田@ネットフォレストと申します。
山本です。
卜部です。
山本です。
なかだです。
こんにちは、なかむら(う)です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
In message <20051031093107.5B79.USA@garbagecollect.jp>
こんにちは、なかむら(う)です。
卜部です。
[#27580] 1.8.4 open problems? — "URABE Shyouhei aka.mput" <root@...>
卜部です。
[ruby-dev:27513] broken Qtrue in 64bit environment
山本です。
[ruby-dev:27049] とも関連するような話なんですが、
http://inamode6.tokuhirom.dnsalias.org/show/1037 という話を目にしました。
// 再現コード(bcc32の場合)
#include <stdio.h>
typedef unsigned __int64 VALUE;
#define Qtrue 3 /* 32bit */
static void test(); /* ANYARGS */
int main()
{
test(Qtrue);
}
static void test(VALUE val) /* 64bit */
{
printf("%Lx\n", val); /* 3256e7da00000003 */
}
VisualC++ では再現しませんが、たぶん引数を増やしたりすればおかしくなると
思います。
結局のところ、ANYARGS を使うなら
* int, double より小さいサイズの変数は引数に渡せない(使えない)
* それより大きいサイズでも、型を厳密にあわせる必要がある
ということなんでしょうか。他にもこういう場所がありそうな気がしますが、
とりあえず下のようなパッチは必要なんじゃないでしょうか。
Index: ruby.h
===================================================================
RCS file: /src/ruby/ruby.h,v
retrieving revision 1.125
diff -u -w -b -p -r1.125 ruby.h
--- ruby.h 21 Oct 2005 06:46:39 -0000 1.125
+++ ruby.h 25 Oct 2005 08:23:59 -0000
@@ -187,10 +187,10 @@ VALUE rb_ull2inum(unsigned LONG_LONG);
#define SYM2ID(x) RSHIFT((long)x,8)
/* special contants - i.e. non-zero and non-fixnum constants */
-#define Qfalse 0
-#define Qtrue 2
-#define Qnil 4
-#define Qundef 6 /* undefined value for placeholder */
+#define Qfalse ((VALUE)0)
+#define Qtrue ((VALUE)2)
+#define Qnil ((VALUE)4)
+#define Qundef ((VALUE)6) /* undefined value for placeholder */
#define RTEST(v) (((VALUE)(v) & ~Qnil) != 0)
#define NIL_P(v) ((VALUE)(v) == Qnil)
しかしこうなってくると、[ruby-dev:27028] が欲しい気がしてきますね。