This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: PATCH: New test for breakage from real.c rewrite on i386-unknown-freebsd
On Thu, Sep 19, 2002 at 03:40:52AM -0500, Loren James Rittle wrote:
> Well, I will not protest your statement but it is odd that it used to
> "work"; I guess we just got lucky with the old real.c code configuration.
Actually, it has nothing to do with the real.c implementation.
It has everything to do with the fact that we weren't using
float.h constants (or the _proper_ float.h constants) in
std::numeric_limits.
> OK, based on reading the new documentation (sorry I didn't fish a bit
> more before posting my observations), a new correct way to get this C ABI:
>
> `long double' using "64-bit double precision" IEEE mode
> (confirmed by close reading of system headers and other
> sources) with 96-bit size and alignments (but only god knows why)
Good heavens. Why would they do this? I hope this is going
to be fixed for freebsd5?
> case 96:
> if (FREEBSD_I386_LONG_DOUBLE_FORMAT)
> return &ieee_double;
Nope. You'll need a new structure. I'll see about doing the
cleanup on the real_format interface so that you can do this
in the backend. (MIPS is gonna need this anyway.)
r~