6a66acb565
package, a more recent, generalized set of routines. Among the changes: - Declare strtof() and strtold() in stdlib.h. - Add glue to libc to support these routines for all kinds of ``long double''. - Update printf() to reflect the fact that dtoa works slightly differently now. As soon as I see that nothing has blown up, I will kill src/lib/libc/stdlib/strtod.c. Soon printf() will be able to use the new routines to output long doubles without loss of precision, but numerous bugs in the existing code must be addressed first. Reviewed by: bde (briefly), mike (mentor), obrien
31 lines
545 B
C
31 lines
545 B
C
/*
|
|
* MD header for contrib/gdtoa
|
|
*
|
|
* $FreeBSD$
|
|
*/
|
|
|
|
#include <machine/endian.h>
|
|
|
|
#if _BYTE_ORDER == _LITTLE_ENDIAN
|
|
|
|
#define IEEE_8087
|
|
#define Arith_Kind_ASL 1
|
|
#define Long int
|
|
#define Intcast (int)(long)
|
|
#define Double_Align
|
|
#define X64_bit_pointers
|
|
|
|
#else /* _BYTE_ORDER == _LITTLE_ENDIAN */
|
|
|
|
#define IEEE_MC68k
|
|
#define Arith_Kind_ASL 2
|
|
#define Long int
|
|
#define Intcast (int)(long)
|
|
#define Double_Align
|
|
#define X64_bit_pointers
|
|
#ifdef gcc_bug /* XXX Why does arithchk report sudden underflow here? */
|
|
#define Sudden_Underflow
|
|
#endif
|
|
|
|
#endif
|