こんにちは、鶴谷です。

FreeBSD/amd64 6-STABLE(8/15頃)で、プログラムの出力がおかしくなってしまいます。
たとえば、

#include <stdio.h>
int main()
{
  double a;
  for (a=0.0; a<0.12; a+=0.01) {
    fprintf(stdout, "%f\n", a);
  }
  return 0;
}

のようなCプログラムを、普通にコンパイルして実行すると、期待通りに出力されます。
しかし、32bit用にコンパイルすると、0.1のときだけ出力がおかしくなります。

% gcc -m32 -L/usr/lib32 -B/usr/lib32 test.c -o test
% ./test
0.000000
0.100000
(snip)
0.090000
0.0:0000 ←???
0.120000

これって、私の環境だけでしょうか?
どなたか、テストしていただければ助かります。よろしくお願いします。

なお、i386でコンパイルしたバイナリをamd64上で実行しても、同じことになりました。

-- 
[EMAIL PROTECTED]
E-mail: [EMAIL PROTECTED]

メールによる返信