Created attachment 632 [details] Patch for DMD (svn r490) This assertion fails with DMD built on FreeBSD 8: -------------------- static assert(1.0L == 0x1.0p+0L); // Error: static assert (0x1.00000000000004p+0L == 1L) is false -------------------- The left decimal floating-point literal is slightly wrong. The compiler uses some tables (negtab and postab) for converting decimal strings to long double values, but GCC on FreeBSD/i386 slightly changes them by rounding everything in the table to double precision. This causes precision loss of decimal floating-point literals. The attached patch fixes the problem, by adding byte sequence version of the numeric tables to backend/strtold.c so that the tables' contents will not be rounded by GCC.
http://www.dsource.org/projects/dmd/changeset/597
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル