[#20227] dyna_vars problem? — Tanaka Akira <akr@...17n.org>

しばらく前から、稀に Ruby が core を吐くという問題を追いかけているので

15 messages 2003/05/19
[#20234] Re: dyna_vars problem? — matz@... (Yukihiro Matsumoto) 2003/05/19

まつもと ゆきひろです

[#20236] Re: dyna_vars problem? — Tanaka Akira <akr@...17n.org> 2003/05/19

In article <1053363181.529491.30320.nullmailer@picachu.netlab.jp>,

[ruby-dev:20171] Re: Numeric#step

From: Koji Arai <JCA02266@...>
Date: 2003-05-05 17:55:54 UTC
List: ruby-dev #20171
新井です。

In message "[ruby-dev:20169] Re: Numeric#step"
  on 06 May 2003 01:54:31 +0900,
  Minero Aoki <aamine@loveruby.net> wrote:
> 青木です。

> プラットフォームは全て Linux 2.4, glibc 2.2.5 です。
> (1.5 まで出るものは○、1.4 までなら×)
> 
> ruby 2003-05-02 + gcc 2.95.3 -g  …… ○
> ruby 2003-05-02 + gcc 2.95.3 -O2 …… ×
> ruby 2003-05-02 + gcc 3.2.2  -g  …… ○
> ruby 2003-05-02 + gcc 3.2.2  -O2 …… ×
> 
> ruby 2003-05-05 + gcc 2.95.3 -g  …… ○
> ruby 2003-05-05 + gcc 2.95.3 -O2 …… ×
> ruby 2003-05-05 + gcc 3.2.2  -g  …… ○
> ruby 2003-05-05 + gcc 3.2.2  -O2 …… ×

なるほど -O2 ですか、numeric.c だけ -O2 でコンパイルしたとこ
ろこちらでも再現しました。gcc のバグっぽいですね。

以下のパッチで、-O2 でも動きました。意味ないですが(^^;;

Index: numeric.c
===================================================================
RCS file: /usr/local/cvsup/ruby/ruby/numeric.c,v
retrieving revision 1.81
diff -u -r1.81 numeric.c
--- numeric.c	4 May 2003 16:02:05 -0000	1.81
+++ numeric.c	5 May 2003 17:51:21 -0000
@@ -912,6 +912,7 @@
 	double n = (end - beg)/unit;
 	long i;
 
+        printf("%.20f\n", n);
 	n = floor(n + n*epsilon + 1);
 	for (i=0; i<n; i++) {
 	    rb_yield(rb_float_new(i*unit+beg));

--
新井康司 (Koji Arai)

In This Thread