2004-05-25 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* newlib.hin: (_WANT_IO_POS_ARGS): New define. (_WANT_IO_LONG_LONG): Ditto. (_WANT_IO_LONG_DOUBLE): Ditto. * configure.in: Add new configuration options --enable-newlib-io-long-long and --enable-newlib-io-long-double which tie to new defines in newlib.hin. * configure: Regenerated. * configure.host: Add checks for new configuration options. Also fix up check for --enable-newlib-io-pos-args so configuration option will override any default for a given platform. Remove defining compiler flags for the _WANT_IO* options. * libc/stdio/vfprintf.c: Change to use new newlib.hin defines instead of looking for old compiler flags. * libc/stdio/vfscanf.c: Ditto. * libc/stdio/vfieeefp.h: Ditto. * libc/machine/powerpc/vfprintf.c: Ditto. * libc/machine/powerpc/vfscanf.c: Ditto.
This commit is contained in:
@ -29,6 +29,7 @@
|
||||
/* This header file is a modification of mprec.h that only contains floating
|
||||
point union code. */
|
||||
|
||||
#include <newlib.h>
|
||||
#include <ieeefp.h>
|
||||
#include <math.h>
|
||||
#include <float.h>
|
||||
@ -57,7 +58,7 @@
|
||||
Exactly one of IEEE_8087, IEEE_MC68k, VAX, or IBM should be defined.
|
||||
#endif
|
||||
|
||||
#ifdef WANT_IO_LONG_DBL
|
||||
#ifdef _WANT_IO_LONG_DOUBLE
|
||||
/* If we are going to examine or modify specific bits in a long double using
|
||||
the lword0 or lwordx macros, then we must wrap the long double inside
|
||||
a union. This is necessary to avoid undefined behavior according to
|
||||
@ -134,7 +135,7 @@ struct ldieee
|
||||
};
|
||||
#endif /* LDBL_MANT_DIG */
|
||||
#endif /* !IEEE_8087 */
|
||||
#endif /* WANT_IO_LONG_DBL */
|
||||
#endif /* _WANT_IO_LONG_DOUBLE */
|
||||
|
||||
/* If we are going to examine or modify specific bits in a double using
|
||||
the word0 and/or word1 macros, then we must wrap the double inside
|
||||
|
@ -169,17 +169,13 @@ static char *rcsid = "$Id$";
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define _NO_LONGLONG
|
||||
#if defined WANT_PRINTF_LONG_LONG && defined __GNUC__
|
||||
# undef _NO_LONGLONG
|
||||
#endif
|
||||
|
||||
#define _NO_POS_ARGS
|
||||
#if defined WANT_IO_POS_ARGS
|
||||
#if defined _WANT_IO_POS_ARGS
|
||||
# undef _NO_POS_ARGS
|
||||
#endif
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <reent.h>
|
||||
#include <newlib.h>
|
||||
#include <reent.h>
|
||||
#include <stdio.h>
|
||||
@ -202,10 +198,15 @@ static char *rcsid = "$Id$";
|
||||
This could be changed in the future should the _ldtoa_r code be
|
||||
preferred over _dtoa_r. */
|
||||
#define _NO_LONGDBL
|
||||
#if defined WANT_IO_LONG_DBL && (LDBL_MANT_DIG > DBL_MANT_DIG)
|
||||
#if defined _WANT_IO_LONG_DOUBLE && (LDBL_MANT_DIG > DBL_MANT_DIG)
|
||||
#undef _NO_LONGDBL
|
||||
#endif
|
||||
|
||||
#define _NO_LONGLONG
|
||||
#if defined _WANT_IO_LONG_LONG && defined __GNUC__
|
||||
# undef _NO_LONGLONG
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Flush out all the vectors defined by the given uio,
|
||||
* then reset it so that it can be reused.
|
||||
|
@ -103,8 +103,8 @@ Supporting OS subroutines required:
|
||||
*/
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <newlib.h>
|
||||
#include <reent.h>
|
||||
#include <newlib.h>
|
||||
#include <ctype.h>
|
||||
#include <wctype.h>
|
||||
#include <stdio.h>
|
||||
@ -130,13 +130,13 @@ Supporting OS subroutines required:
|
||||
This could be changed in the future should the _ldtoa_r code be
|
||||
preferred over _dtoa_r. */
|
||||
#define _NO_LONGDBL
|
||||
#if defined WANT_IO_LONG_DBL && (LDBL_MANT_DIG > DBL_MANT_DIG)
|
||||
#if defined _WANT_IO_LONG_DOUBLE && (LDBL_MANT_DIG > DBL_MANT_DIG)
|
||||
#undef _NO_LONGDBL
|
||||
extern _LONG_DOUBLE _strtold _PARAMS((char *s, char **sptr));
|
||||
#endif
|
||||
|
||||
#define _NO_LONGLONG
|
||||
#if defined WANT_PRINTF_LONG_LONG && defined __GNUC__
|
||||
#if defined _WANT_IO_LONG_LONG && defined __GNUC__
|
||||
# undef _NO_LONGLONG
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user