Import David Gay's gdtoa library.

* mingwex/gdtoa: New directory.
	* mingwex/gdtoa/(arithchk.c, dmisc.c, dtoa.c, g__fmt.c, g_dfmt.c,
	g_ffmt.c, g_xfmt.c, gd_arith.h, gd_qnan.h, gdtoa.c, gdtoa.h,
	gdtoaimp.h, gethex.c, gmisc.c, hd_init.c, hexnan.c, misc.c, qnan.c,
	README, smisc.c, strtodg.c, strtodnrp.c, strtof.c, strtopx.c, sum.c,
	ulp.c): New files.
	* mingwex/(strtof.c, strtold.c, ldtoa.c): Remove files.
	* mingwex/math/(cephes-emath.c, cephes-emath.h): Remove files.
	* mingwex/mb_wc_common.h (get_cp_from_locale); Rename to get_codepage().
        * mingwex/(btowc.c, wctob.c, mbrtowc.c, wcrtomb.c): Adjust call to get_codepage().
	* mingwex/wcstold.c: Avoid using strtold internals.
	* mingwex/wcstof.c: Rewrite.
	* mingwex/Makefile.in (GDTOA_DISTFILES): Add to distribution.
	(GDTOA_OBJS): Add to library.
	(DISTFILES): Remove strtof.c strtold.c ldtoa.c cephes-emath.c cephes-emath.h.
	(STDLIB_OBJS): Remove.
	(STDLIB_STUB_OBJS): Remove strtof.o wcstof,o.
	(Q8_OBJS): Add wcstof.o wcstold.o.
	* include/stdlib.h (strtof): Remove inline definition.
	(wcstof): Likewise.
	* include/wchar.h (wcstof): Remove inline definition.
This commit is contained in:
Danny Smith
2006-08-31 23:48:56 +00:00
parent 55283468e6
commit e635b30956
43 changed files with 6825 additions and 3146 deletions

View File

@ -309,10 +309,8 @@ _CRTIMP int __cdecl _wtoi (const wchar_t *);
_CRTIMP long __cdecl _wtol (const wchar_t *);
#endif
_CRTIMP double __cdecl strtod (const char*, char**);
#if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */
float __cdecl strtof (const char *, char **);
__CRT_INLINE float __cdecl strtof (const char *__nptr, char **__endptr)
{ return (strtod (__nptr, __endptr));}
#if !defined __NO_ISOCEXT /* in libmingwex.a */
float __cdecl strtof (const char * __restrict__, char ** __restrict__);
long double __cdecl strtold (const char * __restrict__, char ** __restrict__);
#endif /* __NO_ISOCEXT */
@ -322,10 +320,8 @@ _CRTIMP unsigned long __cdecl strtoul (const char*, char**, int);
#ifndef _WSTDLIB_DEFINED
/* also declared in wchar.h */
_CRTIMP double __cdecl wcstod (const wchar_t*, wchar_t**);
#if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */
float __cdecl wcstof( const wchar_t *, wchar_t **);
__CRT_INLINE float __cdecl wcstof( const wchar_t *__nptr, wchar_t **__endptr)
{ return (wcstod(__nptr, __endptr)); }
#if !defined __NO_ISOCEXT /* in libmingwex.a */
float __cdecl wcstof( const wchar_t * __restrict__, wchar_t ** __restrict__);
long double __cdecl wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__);
#endif /* __NO_ISOCEXT */