summaryrefslogtreecommitdiffstats
path: root/newlib/libc/stdlib/strtod.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix strict-aliasing issues with _strtod_r and Storeinc.Hans-Peter Nilsson2008-06-251-20/+21
| | | | | | | | | | | | | | * libc/stdlib/strtod.c (_strtod_r): Change local variables aadj, rv, rv0 from double to type U. Use accessor macros dval, dword0 and dword1 for all accesses except for the ULtod call, where rv.i replaces the pointer cast. * libc/stdlib/mprec.h (U): Rename member L to i for easier re-use of access macros. Tweak comment. Remove #ifdef'd YES_ALIAS code. (dword0, dword1, dval): Define in terms of uncast union member access. Ditto for _DOUBLE_IS_32BITS variants. (Storeinc): Replace aliasing-flawed microoptimized definition with alternative suggested in comment. Remove now stale comment.
* Fix strtod("-0x", NULL).Eric Blake2008-02-211-7/+17
| | | | | * libc/stdlib/strtod.c (_strtod_r): Fall back to 0 if hex parse fails.
* 2007-08-31 Antony King <antony.king@st.com>Jeff Johnston2007-08-311-1/+11
| | | | | | | | * libc/stdlib/mprec.h [_DOUBLE_IS_32BITS}: Define IEEE_Arith bits and redefine associated dword0 macro (rvalue issue). * libc/stdio/vfieeefp.h: Ditto. * libc/stdlib/strtod.c: Add checks for _DOUBLE_IS_32BITS to prevent setting dword1 which is an rvalue only.
* 2006-07-05 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2006-07-051-1/+32
| | | | | | | | * libc/stdlib/mprec.h [_DOUBLE_IS_32BITS]: Turn off C99 hex floating-point format support. Also redefine dword0 and dword1 macros. * libc/stdlib/strtod.c: Add checks for _DOUBLE_IS_32BITS to prevent setting dword1 which is an rvalue only.
* 2006-06-22 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2006-06-221-606/+991
| | | | | | | | | | | | | | | | * libc/stdlib/Makefile.am: Add new gdtoa routines. * libc/stdlib/Makefile.in: Regenerated. * libc/stdlib/gd_qnan.h: New file. * libc/stdlib/gdtoa-gethex.c: Ditto. * libc/stdlib/gdtoa-hexnan.c: Ditto. * libc/stdlib/gdtoa.h: Ditto. * libc/stdlib/mprec.c: Add new helper routines needed by the new gdtoa code. * libc/stdlib/mprec.h: Integrate some defines and prototypes used by gdtoa routines here. * libc/stdlib/strtod.c: Rebased on David M. Gay's gdtoa-strtod.c which adds C99 support such as nan, inf, and hexadecimal input format.
* * libc/stdlib/strtod.c (_strtod_r): Never change s00.Corinna Vinschen2005-04-011-3/+3
|
* 2005-01-06 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2005-01-061-4/+27
| | | | | | | | | * libc/stdlib/strtod.c (_strtod_r): Add NaN support. * (strtof): Ditto. * libc/stdio/vfscanf.c (__svfscanf_r): Ditto. * Makefile.am (MATHOBJS_IN_LIBC): Add s_nan and sf_nan functions for use by strtod and strtof. * Makefile.in: Regenerated.
* 2002-12-06 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2002-12-061-7/+7
| | | | | | | | | | | | | | * libc/include/stdlib.h (strtof): New prototype (from C99). (strtodf): Changed from prototype to macro which redefines to strtof. * libc/stdlib/atof.c: Change documentation to refer to strtof instead of strtodf. * libc/stdlib/atoff.c (atoff): Change to call strtof instead of strtodf. * libc/stdlib/strtod.c (strtodf): Renamed to strtof. (strtof): New function. * libm/test/convert.c (test_strtodf): Renamed to test_strtof which calls strtof.
* 2001-04-20 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2001-04-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libc/include/stdio.h[!_REENT_ONLY]: Moved various functions together into one list. [!__STRICT_ANSI__]: Moved non-ANSI I/O functions in this list. (vfscanf, vscanf, vsscanf, _vfscanf_r, _vscanf_r, _vsscanf_r): New function prototypes. (_fscanf_r, _sscanf_r): Ditto. * libc/include/stdlib.h: Added _strtod_r prototype. * libc/stdio/Makefile.am: Add new v*scanf functions. * libc/stdio/Makefile.in: Regenerate. * libc/stdio/fscanf.c: Reorganized so HAVE_STDC only affects prototype and code is shared. Added reentrant _fscanf_r which calls __svfscanf_r. * libc/stdio/scanf.c: Changed to call __svfscanf_r. * libc/stdio/sscanf.c: Changed documentation to add reentrant routines. (sscanf): Changed to call __svfscanf_r with _REENT argument. (_sscanf_r): New routine. * libc/stdio/local.h: Removed __svfscanf prototype and replaced it with __svfscanf_r prototype. * libc/stdio/vfscanf.c (vfscanf, _vfscanf_r: New routines. (__svfscanf_r): Reentrant version of __svfscanf which takes reetrancy structure as argument as calls reentrant versions of helper functions (e.g. _strtol_r, _strtoul_r). Also replaced calls to atol and atof to _strtol_r and _strtod_r respectively. * libc/stdio/vfscanf.c: Also changed __svfscanf to call __svfscanf_r. * libc/stdlib/strtod.c (strtod): Changed to call _strtod_r with _REENT argument. * libc/stdio/vscanf.c: New file. * libc/stdio/vsscanf.c: Ditto.
* Mon Apr 17 12:46:00 2000 Marek Michalkiewicz <marekm@linux.org.pl>Jeff Johnston2000-04-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | * libc/signal/signal.c (_signal_r) : Removed unused local variable temp. * libc/stdio/findfp.c (std): Added declaration of flags and file. * libc/stdio/mktemp.c (_gettemp, _mkstemp_r, mkstemp): Added int return type. * libc/stdio/putchar.c (putchar): Added return statement. * libc/stdio/refill.c (lflush): Added correct parentheses. * libc/stdio/vfprintf.c (_VFPRINTF_R): Ditto. * libc/stdio/vfscanf.c (__svfscanf): Changed sprintf call which prints long value to use l qualifier. * libc/stdlib/dtoa.c (_dtoa_r): Added parentheses to remove warning messages and initialized local values: ilim, ilim1, and spec_case. * libc/stdlib/ecvtbuf.c (print_e): Removed unused variable dp. * libc/stdlib/mbctype.h (_issjis1, _issjis2): Added parentheses. * libc/stdlib/mprec.c: Ditto. * libc/stdlib/setenv_r.c: Ditto. * libc/stdlib/strtod.c: Ditto. * libc/stdlib/strtol.c: Ditto. * libc/stdlib/strtoul.c: Ditto. * libm/common/sf_expm1.c: Added curly braces to if else clauses. * libm/common/sf_log1p.c: Ditto. * libm/common/sf_scalbn.c: Ditto. * libm/math/ef_log.c: Ditto.
* import newlib-2000-02-17 snapshotChristopher Faylor2000-02-171-0/+731