diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2015-11-20 18:14:58 +0100 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2015-11-20 18:14:58 +0100 |
commit | fbace81684f8cbb80a2048c01dc545af247f5cb7 (patch) | |
tree | 01de6c0263b16465d7904f2cf6710cfc64925f88 /newlib/libc/stdlib/Makefile.in | |
parent | 51bf1b81f3c4c7c02d8101f8ab6eb5609892e728 (diff) | |
download | cygnal-fbace81684f8cbb80a2048c01dc545af247f5cb7.tar.gz cygnal-fbace81684f8cbb80a2048c01dc545af247f5cb7.tar.bz2 cygnal-fbace81684f8cbb80a2048c01dc545af247f5cb7.zip |
Import correctly working strtold from David M. Gay.
* libc/stdlib/Makefile.am (GENERAL_SOURCES): Add strtodg.c and
strtorx.c.
* libc/stdlib/Makefile.in: Regenerate.
* libc/stdlib/strtodg.c: New file implementing generic string to long
double conversion.
* libc/stdlib/strtorx.c: New file, implementing IEEE format string to
long double conversion.
* libc/stdlib/mprec.h (_strtodg_r): Declare.
(_strtorx_r): Declare.
* libc/stdlib/gdtoa.h (__UShort): Define.
* libc/stdlib/strtold.c (__flt_rounds): Define for i386 and x86_64
target.
(FLT_ROUNDS): Define, as 0 on platforms missing a __flt_rounds
function.
(_strtold_r): Converted from strtold. Call _strtorx_r on targets
supporting distinct long doubles.
(strtold): Just call _strtold_r.
* libc/include/stdlib.h (_strtold_r): Declare.
* libc/stdlib/ldtoa.c (_strtold): Comment out. Explain why.
* libc/stdio/vfscanf.c (__SVFSCANF_R): Call _strtold_r instead of
_strtold.
* libc/machine/powerpc/vfscanf.c (__svfscanf_r): Ditto.
* common.din (strtold): Drop redirection to _strtold.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'newlib/libc/stdlib/Makefile.in')
-rw-r--r-- | newlib/libc/stdlib/Makefile.in | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/newlib/libc/stdlib/Makefile.in b/newlib/libc/stdlib/Makefile.in index 9db9cea7b..d0368c054 100644 --- a/newlib/libc/stdlib/Makefile.in +++ b/newlib/libc/stdlib/Makefile.in @@ -105,7 +105,8 @@ am__objects_2 = lib_a-__adjust.$(OBJEXT) lib_a-__atexit.$(OBJEXT) \ lib_a-rand.$(OBJEXT) lib_a-rand_r.$(OBJEXT) \ lib_a-realloc.$(OBJEXT) lib_a-reallocf.$(OBJEXT) \ lib_a-sb_charsets.$(OBJEXT) lib_a-strtod.$(OBJEXT) \ - lib_a-strtol.$(OBJEXT) lib_a-strtoul.$(OBJEXT) \ + lib_a-strtodg.$(OBJEXT) lib_a-strtol.$(OBJEXT) \ + lib_a-strtorx.$(OBJEXT) lib_a-strtoul.$(OBJEXT) \ lib_a-utoa.$(OBJEXT) lib_a-wcstod.$(OBJEXT) \ lib_a-wcstol.$(OBJEXT) lib_a-wcstoul.$(OBJEXT) \ lib_a-wcstombs.$(OBJEXT) lib_a-wcstombs_r.$(OBJEXT) \ @@ -157,9 +158,10 @@ am__objects_9 = __adjust.lo __atexit.lo __call_atexit.lo __exp10.lo \ itoa.lo labs.lo ldiv.lo ldtoa.lo malloc.lo mblen.lo mblen_r.lo \ mbstowcs.lo mbstowcs_r.lo mbtowc.lo mbtowc_r.lo mlock.lo \ mprec.lo mstats.lo quick_exit.lo rand.lo rand_r.lo realloc.lo \ - reallocf.lo sb_charsets.lo strtod.lo strtol.lo strtoul.lo \ - utoa.lo wcstod.lo wcstol.lo wcstoul.lo wcstombs.lo \ - wcstombs_r.lo wctomb.lo wctomb_r.lo $(am__objects_8) + reallocf.lo sb_charsets.lo strtod.lo strtodg.lo strtol.lo \ + strtorx.lo strtoul.lo utoa.lo wcstod.lo wcstol.lo wcstoul.lo \ + wcstombs.lo wcstombs_r.lo wctomb.lo wctomb_r.lo \ + $(am__objects_8) am__objects_10 = cxa_atexit.lo cxa_finalize.lo drand48.lo ecvtbuf.lo \ efgcvt.lo erand48.lo jrand48.lo lcong48.lo lrand48.lo \ mrand48.lo msize.lo mtrim.lo nrand48.lo rand48.lo seed48.lo \ @@ -361,8 +363,9 @@ GENERAL_SOURCES = __adjust.c __atexit.c __call_atexit.c __exp10.c \ ldtoa.c malloc.c mblen.c mblen_r.c mbstowcs.c mbstowcs_r.c \ mbtowc.c mbtowc_r.c mlock.c mprec.c mstats.c quick_exit.c \ rand.c rand_r.c realloc.c reallocf.c sb_charsets.c strtod.c \ - strtol.c strtoul.c utoa.c wcstod.c wcstol.c wcstoul.c \ - wcstombs.c wcstombs_r.c wctomb.c wctomb_r.c $(am__append_1) + strtodg.c strtol.c strtorx.c strtoul.c utoa.c wcstod.c \ + wcstol.c wcstoul.c wcstombs.c wcstombs_r.c wctomb.c wctomb_r.c \ + $(am__append_1) @NEWLIB_NANO_MALLOC_FALSE@MALIGNR = malignr @NEWLIB_NANO_MALLOC_TRUE@MALIGNR = nano-malignr @NEWLIB_NANO_MALLOC_FALSE@MALLOPTR = malloptr @@ -895,12 +898,24 @@ lib_a-strtod.o: strtod.c lib_a-strtod.obj: strtod.c $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtod.obj `if test -f 'strtod.c'; then $(CYGPATH_W) 'strtod.c'; else $(CYGPATH_W) '$(srcdir)/strtod.c'; fi` +lib_a-strtodg.o: strtodg.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtodg.o `test -f 'strtodg.c' || echo '$(srcdir)/'`strtodg.c + +lib_a-strtodg.obj: strtodg.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtodg.obj `if test -f 'strtodg.c'; then $(CYGPATH_W) 'strtodg.c'; else $(CYGPATH_W) '$(srcdir)/strtodg.c'; fi` + lib_a-strtol.o: strtol.c $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtol.o `test -f 'strtol.c' || echo '$(srcdir)/'`strtol.c lib_a-strtol.obj: strtol.c $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtol.obj `if test -f 'strtol.c'; then $(CYGPATH_W) 'strtol.c'; else $(CYGPATH_W) '$(srcdir)/strtol.c'; fi` +lib_a-strtorx.o: strtorx.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtorx.o `test -f 'strtorx.c' || echo '$(srcdir)/'`strtorx.c + +lib_a-strtorx.obj: strtorx.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtorx.obj `if test -f 'strtorx.c'; then $(CYGPATH_W) 'strtorx.c'; else $(CYGPATH_W) '$(srcdir)/strtorx.c'; fi` + lib_a-strtoul.o: strtoul.c $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtoul.o `test -f 'strtoul.c' || echo '$(srcdir)/'`strtoul.c |