In message: <[EMAIL PROTECTED]>
            Loren James Rittle <[EMAIL PROTECTED]> writes:
: Yet, the FP hardware is actually configured by default to provide
: `long double' as:
: 
: #define LDBL_MANT_DIG   53
: #define LDBL_MIN_EXP    (-16381)
: #define LDBL_MAX_EXP    16384
: 
: Indeed, FP code using long double generated by gcc 2.95.X, installed
: as the FreeBSD 4 system compiler, uses the full exponent range of
: -16381 to 16384.  However, printf(), etc loses on that exponent range
: and reports Inf.  I suspect this is why the system header misreports
: the FP hardware, thus the header describes the largest printable long
: double value, not the largest that could be held in a calculation.

I have patches to fix these constants, but not to fix printf, and co,
to really support the full precision of long double.  Even NetBSD
doesn't do that.

: Anyways, two questions for FreeBSD maintainers.  How should gcc, as
: provided from the FSF, describe the long double FP format for
: FreeBSD/i386 4.x?  Shall we assume that no changes for FreeBSD 5.x
: will occur?

No.  You should assume that for i386, at least, that long double will
have the right LDBL_ constants.  I've had them in my local tree for
about 3 months now and just haven't found the time to commit to
-current.  I'll find the time right now.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to