Commit Graph

52 Commits

Author SHA1 Message Date
Corinna Vinschen 7a84e9c4bc * libc/include/_ansi.h: _LONG_LONG_TYPE definition removed.
* libc/include/math.h: _LONG_LONG_TYPE replaced by "long long".
	Guards for C99 and C++11 functions fixed.
	* libc/include/stdlib.h: Guards for C99 and C++11 functions fixed.
2014-10-10 14:43:19 +00:00
Eric Blake ada456dcfe headers: properly decorate attributes
Found by:
find -name '*.h' |xargs grep -i 'attribute.*(([a-z]'

For an example of the type of bugs this causes, try compiling this valid
C11 program (it's valid because 'noreturn' is reserved for use in the
user namespace unless you include <stdnoreturn.h>):

$ cat foo.c
#define noreturn __attribute__((noreturn))
#include <stdlib.h>
$ gcc -c -o foo.o -Wall foo.c
In file included from /usr/include/stdlib.h:11:0,
                 from foo.c:2:
foo.c:1:18: error: expected ')' before '__attribute__'
 #define noreturn __attribute__((noreturn))
                  ^
/usr/include/stdlib.h:66:28: error: expected ',' or ';' before ')' token
 _VOID _EXFUN(abort,(_VOID) _ATTRIBUTE ((noreturn)));
                            ^

* libc/machine/spu/spu_timer_internal.h: Decorate attribute names
with __, for namespace safety.
* libc/machine/xscale/machine/profile.h: Likewise.
* libc/include/stdlib.h: Likewise.
* libc/include/_ansi.h: Likewise.
* libc/include/sys/unistd.h: Likewise.
* libc/sys/linux/linuxthreads/libc-symbols.h: Likewise.
* libc/sys/linux/linuxthreads/internals.h: Likewise.
* libc/sys/linux/machine/i386/weakalias.h: Likewise.
* libc/sys/linux/machine/i386/dl-procinfo.h: Likewise.
* libc/sys/linux/machine/i386/dl-machine.h: Likewise.
* libc/sys/linux/libc-symbols.h: Likewise.
* libc/sys/linux/iconv/gconv_charset.h: Likewise.
* libc/sys/linux/include/resolv.h: Likewise.
* libc/sys/linux/sys/unistd.h: Likewise.
* libc/sys/linux/dl/atomicity.h: Likewise.
* libc/sys/linux/dl/dynamic-link.h: Likewise.
* libc/sys/linux/dl/ldsodefs.h: Likewise.
2014-08-01 15:44:51 +00:00
Corinna Vinschen 0b3ad39364 * libc/include/stdlib.h (strtold): Define if _HAVE_LONG_DOUBLE is
defined.
	* libc/stdlib/strtold.c (strtold): Ditto.  Call strtod on systems
	with long double == double, _strtold otherwise.
2014-03-07 20:06:54 +00:00
Jeff Johnston b153931f18 2013-12-22 JF Bastien <jfb@chromium.org>
* libc/include/limits.h: Define LLONG_MIN, LLONG_MAX and ULLONG_MAX
        for C++11 too.
        * libc/include/stdlib.h: Define struct lldiv_t, _Exit, atoll, llabs
        and lldiv for C99 and C++11.  Move wcstold to wchar.h.
        * libc/include/wchar.h: Define WCHAR_MIN and WCHAR_MAX according to
        __WCHAR_UNSIGNED__ if it is provided, and correct the limit when
        unsigned (to 32 all-1 bits, not 31).  Define FILE as in stdio.h.
        Move wcstold from stdlib.h here.
2013-12-23 19:21:07 +00:00
Corinna Vinschen 8273b2112f * libc/include/stdlib.h: Declare realpath only if !__STRICT_ANSI__. 2013-11-20 09:46:39 +00:00
Joel Sherrill aed5f73fa8 2013-11-18 Joel Sherrill <joel.sherrill@oarcorp.com>
* libc/include/stdlib.h: Add prototype of realpath().
	* libc/sys/linux/realpath.c: Add restrict keyword.
2013-11-19 17:32:24 +00:00
Joel Sherrill 8ab08406da 2013-11-18 Sahil Patnayakuni <sahilp@oarcorp.com>
* libc/include/stdlib.h, libc/stdlib/mbstowcs.c,
	libc/stdlib/mbstowcs_r.c, libc/stdlib/mbtowc.c,
	libc/stdlib/mbtowc_r.c, libc/stdlib/strtod.c,
	libc/stdlib/strtol.c, libc/stdlib/strtold.c,
	libc/stdlib/strtoll.c, libc/stdlib/strtoll_r.c,
	libc/stdlib/strtoul.c, libc/stdlib/strtoull.c,
	libc/stdlib/strtoull_r.c, libc/stdlib/wcstombs.c,
	libc/stdlib/wcstombs_r.c: Add restrict keyword.
2013-11-18 17:26:52 +00:00
Yaakov Selkowitz 45070312d4 * libc/include/search.h (__compar_fn_t): Add typedef.
(tdelete, tfind, tsearch): Use it.
* libc/include/stdlib.h (__compar_fn_t): Add typedef.
(bsearch, qsort): Use it.
2013-09-08 07:11:33 +00:00
Corinna Vinschen 99e6ee04d6 Revert to original patch 2013-04-11 13:01:08 +00:00
Corinna Vinschen 9b7759ae75 * libc/include/stdlib.h (strtof, strtoll, strtoull, strtold): Also
prototype if C++11 or later.
2013-04-11 10:23:05 +00:00
Corinna Vinschen de1e3bb2c9 * libc/include/locale.h (NULL): Fetch definition via stddef.h.
* libc/include/stdio.h (NULL): Ditto.
	* libc/include/stdlib.h (NULL): Ditto.
	* libc/include/string.h (NULL): Ditto.
	* libc/include/wchar.h (NULL): Ditto.
	* libc/include/rpc/types.h (NULL): Ditto.
	* libc/include/time.h (NULL): Ditto.  Include stddef.h earlier.
2012-11-01 11:51:12 +00:00
Corinna Vinschen e054398980 * libc/include/stdlib.h (strtof, strtoll, strtoull, strtold):Prototype
if not __STRICT_ANSI__ or stdc version C99 or greater.
2012-10-22 15:15:21 +00:00
Eric Blake 8092f46770 Add mkostemp and mkostemps.
* libc/stdio/mktemp.c (_gettemp): Add parameter, all callers
changed.
(mkostemp, _mkostemp_r, mkostemps, _mkostemps_r): New interfaces,
for ELIX level 4.
* libc/include/stdlib.h (mktemp): Avoid namespace issues.
(mkostemp, mkostemps): Declare.
2010-07-19 18:21:11 +00:00
Corinna Vinschen d47d5b850b Extend locale support to maintain wide char values of native strings
if __HAVE_LOCALE_INFO_EXTENDED__ is defined.
	* libc/include/langinfo.h (enum __nl_item): New type.  Define all
	native values accessible through nl_langinfo.  Define previously
	existing POSIX-compatible values as macros as well.
	* libc/include/stdlib.h (__mb_cur_max): Drop declaration.
	(__locale_mb_cur_max): Declare.
	(MB_CUR_MAX): Re-define calling __locale_mb_cur_max.
	* libc/locale/Makefile.am (ELIX_SOURCES): Add lctype.c.
	* libc/locale/Makefile.in: Regenerate.
	* libc/locale/lctype.c: New file to define and load LC_CTYPE category.
	* libc/locale/lctype.h: New file, matching header.
	* libc/locale/lmessages.c (_C_messages_locale): Add default values for
	wide char members.
	(__messages_load_locale): Add _C_messages_locale in call to
	__set_lc_messages_from_win.
	* libc/locale/lmessages.h (struct lc_messages_T): Add wide char members.
	* libc/locale/lmonetary.c (_C_monetary_locale):  Add default values for
	wide char members.
	(__monetary_load_locale): Add _C_monetary_locale in call to
	__set_lc_monetary_from_win.
	* libc/locale/lmonetary.h (struct lc_monetary_T): Add wide char members.
	Add numerical values for international currency formatting per
	POSIX-1.2008, if __HAVE_LOCALE_INFO_EXTENDED__ is defined.
	* libc/locale/lnumeric.c (_C_numeric_locale): Add default values for
	wide char members.
	(__numeric_load_locale): Add _C_numeric_locale in call to
	__set_lc_numeric_from_win.
	* libc/locale/lnumeric.h (struct lc_numeric_T): Add wide char members.
	* libc/locale/locale.c (loadlocale): Return doing nothing if category
	locale didn't change.  Convert category if chain to switch statement.
	Call __ctype_load_locale in LC_CTYPE case.
	(__locale_charset): Add (but disable for now) returning codeset from
	__get_current_ctype_locale.
	(__locale_mb_cur_max): Add (but disable for now) returning mb_cur_max
	from __get_current_ctype_locale.
	(__locale_msgcharset): Add returning codeset from
	__get_current_messages_locale.
	(_localeconv_r): Accommodate int_XXX values.
	* libc/locale/nl_langinfo.c (nl_ext): New array to define what is to
	be returned for non-POSIX values.
	(nl_Langinfo): Return correct codeset for each locale category.  Return
	extended values if __HAVE_LOCALE_INFO_EXTENDED__ is defined.
	* libc/locale/timelocal.c (_C_time_locale): Add default values for
	wide char members.
	(__time_load_locale): Add _C_time_locale in call to
	__set_lc_time_from_win.
	* libc/locale/timelocal.h (struct lc_time_T): Add wide char members.
	* libc/stdio/vfwprintf.c (_VFWPRINTF_R): Use wide char decimal point
	and thousands_sep if __HAVE_LOCALE_INFO_EXTENDED__ is defined.
	* libc/time/strftime.c: Rework to accommodate availability of wide char
	strings in LC_TIME category if __HAVE_LOCALE_INFO_EXTENDED__ is defined.
2010-04-28 09:59:37 +00:00
Eric Blake b2e79f9800 Fix getsubopt declaration.
* libc/include/sys/unistd.h (suboptarg, getsubopt): Move...
* libc/include/stdlib.h: ...here, to match POSIX for getsubopt.
2009-12-22 13:07:24 +00:00
Jeff Johnston 8b917fbcdd 2009-12-17 Jerker Back <jerker.back@gmail.com>
* libc/include/_ansi.h: Add new _EXFNPTR macro for using with
        function pointer arguments.
        * libc/iconv/lib/conv.h: Use _EXFNPTR rather than _EXPARM macro.
        * libc/iconv/lib/ucsconv.h: Ditto.
        * libc/include/stdlib.h: Use new _EXFNPTR macro for function pointers.
        * libc/include/sys/reent.h: Ditto.
        * libc/include/sys/unistd.h: Ditto.
        * libc/search/bsearch.c: Ditto.
        * libc/stdio/fseek.c: Ditto.
        * libc/stdio64/fseeko64.c: Ditto.
        * libc/stdlib/atexit.c: Ditto.
        * libc/stdlib/on_exit.c: Ditto.
2009-12-17 19:43:43 +00:00
Jeff Johnston 2ad8d17a16 2009-09-22 Ralf Corsépius <ralf.corsepius@rtems.org>
* libc/include/stdlib.h: Add posix_memalign.
2009-09-22 21:49:20 +00:00
Eric Blake c52ac05c3a Add mkdtemp, mkstemps.
* libc/stdio/mktemp.c: Fix documentation.
(_gettemp): Add domkdir and length parameters.  Check for
insufficient 'X' suffix.  Drop cygwin-specific code.
(_mkstemp_r, _mktemp_r, mkstemp, mktemp): Adjust clients.
(_mkdtemp_r, _mkstemps_r, mkdtemp, mkstemps): New functions.
* libc/include/stdlib.h (_mkdtemp_r, _mkstemps_r, mkdtemp)
(mkstemps): Declare them.
2009-07-03 12:03:25 +00:00
Jeff Johnston 35f31b6a98 2009-04-24 Jeff johnston <jjohnstn@redhat.com>
* configure.in: Add configuration test for long double equals dbl
        and set flag _LDBL_EQ_DBL if true.
        * configure: Regenerated.
        * newlib.hin: Add _LDBL_EQ_DBL flag.
        * libc/include/math.h: Use _LDBL_EQ_DBL flag instead of
        _HAVE_LDBL_MATH.
        * libc/include/stdlib.h: Use _LDBL_EQ_DBL flag instead of
        _HAVE_LDBL_STDLIB.
        * libc/common/local.h: Remove _LDBL_EQ_DBL flag setting.
        * libc/stdlib/local.h: Ditto.
2009-04-24 22:49:55 +00:00
Jeff Johnston 15b71e6679 2009-04-21 Mark Mitchell <mark@codesourcery.com>
* libc/include/_ansi.h: Move C++ defines to top of file.
        (_NOTHROW): New macro.
        (_EXFUN_NOTHROW): Likewise.
        * libc/include/stdlib.h (calloc): Declare with _EXFUN_NOTHROW.
        (free): Likewise.
        (malloc): Likewise.
        (realloc): Likewise.
        (_malloc_r): Likewise.
        (_callor_r): Likewise.
        (_free_r): Likewise.
        (_realloc_r): Likewise.
2009-04-21 18:24:59 +00:00
Jeff Johnston bd5f034706 2009-04-20 Jeff johnston <jjohnstn@redhat.com>
* libc/include/math.h: Change _LDBL_EQ_DBL flag usage to
        be _HAVE_LDBL_MATH.
        * libc/include/stdlib.h: Change _LDBL_EQ_DBL flag usage to
        be _HAVE_LDBL_STDLIB.
2009-04-20 18:06:14 +00:00
Jeff Johnston 65f414dc16 2009-04-16 Ken Werner <ken.werner@de.ibm.com>
* libm/libm.texinfo: Add long double function support chapter.
        * libc/include/machine/ieeefp.h: Add _LDBL_EQ_DBL define.
        * libc/include/stdlib.h: Include <machine/ieeefp.h>.
        (strtold, wcstold): Declare.
        * libc/stdlib/strtold.c: New File.
        * libc/stdlib/wcstold.c: Likewise.
        * libc/configure.in: Add long double check.
        * libc/configure: Regenerate.
        * libc/stdlib/Makefile.am: Add strtold.c and wcstold.c.
        * libc/stdlib/Makefile.in: Regenerate.
        * libc/include/math.h (atanl, cosl, sinl, tanl, tanhl): Declare.
        (frexpl, modfl, ceill, fabsl, floorl, log1pl, expm1l, acosl): Ditto.
        (asinl, atan2l, coshl, sinhl, expl, ldexpl, logl, log10l, powl): Ditto.
        (sqrtl, fmodl, hypotl, copysignl, nanl, ilogbl, asinhl, cbrt): Ditto.
        (nextafterl, rintl, scalbnl, exp2l, scalblnl, tgammal): Ditto.
        (nearbyintl, lrintl, llrintl, roundl, lroundl, llround): Ditto.
        (llroundl, truncl, remquol, fdiml, fmaxl, fminl, fmal, acoshl): Ditto.
        (atanhl, remainderl, lgammal, erfl, erfcl): Ditto.
        * libm/common/atanl.c: New File.
        * libm/common/cosl.c: Likewise.
        * libm/common/sinl.c: Likewise.
        * libm/common/modfl.c: Likewise.
        * libm/common/frexpl.c: Likewise.
        * libm/common/tanhl.c: Likewise.
        * libm/common/tanl.c: Likewise.
        * libm/common/expm1l.c: Likewise.
        * libm/common/log1pl.c: Likewise.
        * libm/common/ceill.c: Likewise.
        * libm/common/fabsl.c: Likewise.
        * libm/common/floorl.c: Likewise.
        * libm/common/acosl.c: Likewise.
        * libm/common/asinl.c: Likewise.
        * libm/common/atan2l.c: Likewise.
        * libm/common/coshl.c: Likewise.
        * libm/common/expl.c: Likewise.
        * libm/common/fmodl.c: Likewise.
        * libm/common/hypotl.c: Likewise.
        * libm/common/ldexpl.c: Likewise.
        * libm/common/log10l.c: Likewise.
        * libm/common/logl.c: Likewise.
        * libm/common/powl.c: Likewise.
        * libm/common/sqrtl.c: Likewise.
        * libm/common/copysignl.c: Likewise.
        * libm/common/ilogbl.c: Likewise.
        * libm/common/nanl.c: Likewise.
        * libm/common/cbrtl.c: Likewise.
        * libm/common/asinhl.c: Likewise.
        * libm/common/nextafterl.c: Likewise.
        * libm/common/rintl.c: Likewise.
        * libm/common/scalbnl.c: Likewise.
        * libm/common/exp2l.c: Likewise.
        * libm/common/fdiml.c: Likewise.
        * libm/common/fmal.c: Likewise.
        * libm/common/fmaxl.c: Likewise.
        * libm/common/fminl.c: Likewise.
        * libm/common/lrintl.c: Likewise.
        * libm/common/lroundl.c: Likewise.
        * libm/common/nearbyintl.c: Likewise.
        * libm/common/remquol.c: Likewise.
        * libm/common/roundl.c: Likewise.
        * libm/common/scalblnl.c: Likewise.
        * libm/common/truncl.c: Likewise.
        * libm/common/acoshl.c: Likewise.
        * libm/common/atanhl.c: Likewise.
        * libm/common/erfcl.c: Likewise.
        * libm/common/erfl.c: Likewise.
        * libm/common/lgammal.c: Likewise.
        * libm/common/remainderl.c: Likewise.
        * libm/common/tgammal.c: Likewise.
        * libm/common/sinhl.c: Likewise.
        * libm/common/llroundl.c: Likewise.
        * libm/configure.in: Add long double check.
        * libm/configure: Regenerate.
        * libm/common/Makefile.am: Add new files.
        * libm/common/Makefile.in: Regenerate.
2009-04-16 18:24:35 +00:00
Corinna Vinschen f03b7b10ec * libc/include/stdlib.h (_mkstemp_r, _mktemp_r): Move out of
!_REENT_ONLY section.
2009-03-14 12:17:19 +00:00
Corinna Vinschen 71675a3908 * libc/include/stdio.h (_mkstemp_r, _mktemp_r): Move declarations
to stdlib.h.
	* libc/include/stdlib.h (mktemp, _mktemp_r): Warn when using.
	* libc/stdio/mktemp.c: Explain the security risk when using
	mktemp.
2009-03-14 12:14:08 +00:00
Jeff Johnston 8ee939ea9f 2008-11-19 Jeff Johnston <jjohnstn@redhat.com>
* libc/sys/linux/bits/dirent.h: New header file.
        * libc/sys/linux/sys/dirent.h: Include <bits/dirent.h> instead of
        <linux/dirent.h>.
        * libc/posix/Makefile.am: Remove reallocf.
        * libc/posix/Makefile.in: Regenerated.
        * libc/posix/reallocf.c: Moved to...
        * libc/stdlib/reallocf.c: Here
        * libc/stdlib/malloc.c: Add reallocf documentation.
        * libc/include/stdlib.h: Add reallocf and _reallocf_r prototypes.
        * libc/stdlib/Makefile.am: Add reallocf.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/posix/_isatty.c: Set errno.
2008-11-19 20:56:22 +00:00
Jeff Johnston 37f996a2b2 2008-09-24 Pawel Veselov <pawel.veselov@gmail.com>
Fix setenv/getenv/unsetenv to be OpenGroup compliant:
        * libc/include/stdlib.h (unsetenv, _unsetenv_r): Redefine with integer
        return types.
        * libc/stdlib/getenv_r.c (_findenv_r): Do no special processing with
        names that contain equal chars.
        * libc/stdlib/setenv.c: Redefine _unsetenv_r as returning int.
        * libc/stdlib/setenv_r.c (_setenv_r): Return -1 and set errno to
        EINVAL if name contains an equal sign.  Do not remove any equal signs
        from the value.
        (_unsetenv_r): Modified to return int.  Return -1 and set EINVAL
        if name contains equal sign.  Return -1 if no variable(s) were found
        and return 0 otherwise.
2008-09-25 01:23:08 +00:00
Christopher Faylor b1da33a0b0 * libc/include/stdlib.h: Move cygwin declarations to cygwin-specific file.
Declare unsetenv and _unsetenv_r when not cygwin.
2005-12-05 22:15:21 +00:00
Jeff Johnston c41a1cb7d8 2004-11-24 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h (putenv, _putenv_r): Change to remove
        const for value string parameter.
        * libc/stdlib/putenv.c: Ditto.
        * libc/stdlib/putenv_r.c: Ditto.
2004-11-24 22:34:15 +00:00
Jeff Johnston cc2a11e0d0 2003-11-27 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h (_atoi_r): New prototype.
        * libc/stdlib/atoi.c (_atoi_r): New reentrant function.
2003-11-27 20:54:12 +00:00
Jeff Johnston 83bf7d2f89 2003-11-27 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h (_atoll_r, _atol_r): New prototypes.
        * libc/stdlib/atol.c (_atol_r): New reentrant function.
        * libc/stdlib/atoll.c (_atoll_r): Ditto.
2003-11-27 20:15:47 +00:00
Jeff Johnston 6bbb700c34 2003-11-27 Artem B. Bityuckiy <mail_lists@mail.ru>
Jeff Johnston  <jjohnstn@redhat.com>

        * libc/include/stdlib.h (lldiv_t): New type.
        (atoll, llabs, lldiv): New prototypes.
        * libc/stdlib/Makefile.am: Add support for atoll, llabs, and lldiv.
        * libc/stdlib/stdlib.tex: Ditto.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/stdlib/atoll.c: New file.
        * libc/stdlib/llabs.c: Ditto.
        * libc/stdlib/lldiv.c: Ditto.
2003-11-27 19:47:19 +00:00
Corinna Vinschen a2f1155cf2 * libc/include/stdlib.h (getprogname): Declare for Cygwin.
(setprogname): Ditto.
2003-11-17 17:30:30 +00:00
Jeff Johnston c049dd5a78 2002-12-06 Jeff Johnston <jjohnstn@redhat.com>
* 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.
2002-12-06 18:58:51 +00:00
Christopher Faylor 2e2b268ce6 * libc/include/malloc.h: On cygwin, define malloc _r functions as wrapper
macros to standard malloc functions.
* libc/include/stdlib.h: Ditto.
* configure.host: Always define MALLOC_PROVIDED on cygwin.
2002-08-26 04:33:46 +00:00
Thomas Fitzsimmons 8d9112f2f3 * libc/include/langinfo.h: New file.
* libc/include/wchar.h: Likewise.
	* libc/include/sys/syslimits.h: Likewise.
	* libc/locale/fix_grouping.c: Likewise.
	* libc/locale/ldpart.c: Likewise.
	* libc/locale/ldpart.h: Likewise.
	* libc/locale/lmessages.c: Likewise.
	* libc/locale/lmessages.h: Likewise.
	* libc/locale/lmonetary.c: Likewise.
	* libc/locale/lmonetary.h: Likewise.
	* libc/locale/lnumeric.c: Likewise.
	* libc/locale/lnumeric.h: Likewise.
	* libc/locale/nl_langinfo.3: Likewise.
	* libc/locale/nl_langinfo.c: Likewise.
	* libc/locale/timelocal.c: Likewise.
	* libc/locale/timelocal.h: Likewise.
	* libc/stdlib/btowc.c: Likewise.
	* libc/stdlib/mbrlen.c: Likewise.
	* libc/stdlib/mbrtowc.c: Likewise.
	* libc/stdlib/mbsinit.c: Likewise.
	* libc/stdlib/mbsrtowcs.c: Likewise.
	* libc/stdlib/wcrtomb.c: Likewise.
	* libc/stdlib/wcsrtombs.c: Likewise.
	* libc/stdlib/wctob.c: Likewise.
	* libc/sys/linux/prof-freq.c: Likewise.
	* libc/sys/linux/profile.c: Likewise.
	* libc/sys/linux/machine/i386/dl-procinfo.c: Likewise.
	* libc/sys/linux/machine/i386/dl-procinfo.h: Likewise.
	* libc/include/stdlib.h: Change re-entrant functions to take
	mbstate_t pointers.
	* libc/include/sys/_types.h: Define _mbstate_t.
	* libc/include/sys/config.h (MB_LEN_MAX): New macro.
	* libc/include/sys/errno.h (EILSEQ): New error code.
	* libc/include/sys/reent.h: Include wchar.h.  Change reentrant
	structure to use mbstate_t.
	* libc/locale/Makefile.am (LIB_SOURCES): Add new files.
	* libc/machine/powerpc/vfprintf.c: Use mbstate_t.
	* libc/machine/powerpc/vfscanf.c: Likewise.
	* libc/stdio/getdelim.c: Reallocate buffer only when necessary.
	* libc/stdio/vfprintf.c: Likewise.
	* libc/stdio/vfscanf.c: Likewise.
	* libc/stdlib/Makefile.am (LIB_SOURCES): Add new files.
	* libc/stdlib/mblen.c: Use mbstate_t.
	* libc/stdlib/mblen_r.c: Likewise.
	* libc/stdlib/mbstowcs.c: Likewise.
	* libc/stdlib/mbstowcs_r.c: Likewise.
	* libc/stdlib/mbtowc.c: Likewise.
	* libc/stdlib/mbtowc_r.c: Likewise.
	* libc/stdlib/wcstombs.c: Likewise.
	* libc/stdlib/wcstombs_r.c: Likewise.
	* libc/stdlib/wctomb_r.c: Likewise.
	* libc/sys/linux/Makefile.am (LIB_SOURCES): Add prof-freq.c and
	profile.c.
	* libc/sys/linux/machine/i386/Makefile.am (LIB_SOURCES): Add
	dl-procinfo.c.
	* libc/sys/linux/sys/errno.h (EILSEQ): New error code.
	* libc/sys/linux/sys/types.h (off_t): Define type.
	* testsuite/newlib.locale/UTF-8.c: Change locale name from UTF-8
	to C-UTF-8.
	* testsuite/newlib.locale/UTF-8.exp: Likewise.
2002-08-23 01:56:05 +00:00
Jeff Johnston c1a3171f2d 2002-06-27 Benjamin Kosnik <bkoz@redhat.com>
* libc/include/stdio.h: Untangle, add _BEGIN_STD_C and _END_STD_C.
        * libc/include/time.h: Same.
        * libc/include/string.h: Same.
        * libc/include/stdlib.h: Same.
        * libc/include/signal.h: Same.
        * libc/include/setjmp.h: Same.
        * libc/include/math.h: Same.
        * libc/include/locale.h: Same.
        * libc/include/ctype.h: Same.
        * libc/include/machine/setjmp.h: Same.
        * libc/include/_ansi.h (_BEGIN_STD_C): Add.
        (_END_STD_C): Add.
2002-06-27 23:58:38 +00:00
Jeff Johnston d062d3ddec 2002-06-13 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h: Add _Exit prototype.
        * libc/stdlib/Makefile.am: Add _Exit.c support.
        * libc/stdlib/Makefile.in: Ditto.
        * libc/stdlib/_Exit.c: New file.
2002-06-13 23:24:03 +00:00
Jeff Johnston dc824ef736 2002-05-15 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h: Add on_exit prototype.
        * libc/include/sys/reent.h (struct _atexit): Add argument array
        and bits to track type of exit routine to support both on_exit
        and atexit.
        (_REENT_INIT_PTR): Add missing fields that won't be zeroed out
        by default and change the setting of the atexit structure.
        (_REENT_INIT)[!_REENT_SMALL]: Remove extraneous end brace.
        * libc/stdlib/on_exit.c: New file.
        * libc/stdlib/Makefile.am: Add support for on_exit.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/stdlib/atexit.c: Change to initialize types field.
        * libc/stdlib/exit.c: Change to look at types field for each
        exit routine and either call an atexit-style or an on_exit-style
        routine accordingly.
2002-05-15 22:58:10 +00:00
Jeff Johnston a03790e419 2002-05-06 Jeff Johnston <jjohnstn@redhat.com>
*  libc/include/stdlib.h (a64l, l64a, _l64a_r): Added prototypes.
2002-05-06 20:50:32 +00:00
Jeff Johnston 0d844014bf 2002-04-19 Jeff Johnston <jjohnstn@redhat.com>
*  configure.host: Add support for powerpc-eabialtivec*.
        *  libc/include/malloc.h: Add include of <machine/malloc.h>.
        *  libc/include/stdlib.h: Add include of <machine/stdlib.h>.
        *  libc/include/machine/malloc.h: New file.
        *  libc/include/machine/stdlib.h: Ditto.
        *  libc/include/machine/setjmp.h: Add support for powerpc altivec.
        *  libc/machine/powerpc/Makefile.am: Add conditional objects and
        sources based on configuration.
        *  libc/machine/powerpc/Makefile.in: Regenerated.
        *  libc/machine/powerpc/configure: Ditto.
        *  libc/machine/powerpc/configure.in: Add check for
        powerpc-eabialtivec* in which case add in additional source files.
        *  libc/machine/powerpc/setjmp.S: Add altivec support.
        *  libc/machine/powerpc/vec_calloc.c: New file.
        *  libc/machine/powerpc/vec_free.c: Ditto.
        *  libc/machine/powerpc/vec_malloc.c: Ditto.
        *  libc/machine/powerpc/vec_mallocr.c: Ditto.
        *  libc/machine/powerpc/vec_realloc.c: Ditto.
        *  libc/machine/powerpc/machine/malloc.h: Ditto.
        *  libc/machine/powerpc/machine/stdlib.h: Ditto.
        *  libc/machine/powerpc/vfprintf.c: New file that is vfprintf.c
        with added altivec format specifiers.
        *  libc/machine/powerpc/vfscanf.c: New file that is vfscanf.c with
        added altivec format specifiers.
2002-04-19 19:16:22 +00:00
Corinna Vinschen d7ca37e413 * libc/include/alloca.h: Move libc/sys/linux/include/alloca.h
to here.  Rearrange for general inclusion by stdlib.h.
	* libc/include/stdlib.h: Include <alloca.h> if __STRICT_ANSI__
	isn't defined.
	* libc/sys/linux/include/alloca.h: Move to libc/include.
2001-11-14 10:25:35 +00:00
Jeff Johnston 5665b0e1d0 2001-10-01 Charles Wilson <cwilson@ece.gatech.edu>
* libc/include/stdlib.h: add declarations for
        _strtoull_r, _strtoll_r, strtoull, and strtoll.
        * libc/stdio/local.h: remove declarations of
        __strtoull_r and __strtoll_r.
        * libc/stdio/vfscanf.c(__svfscanf_r): call
        _strtoull_r instead of __strtoull_r. Ditto
        _strtoll_r vs. __strtoll_r.
        * libc/stdlib/Makefile.am: add new files to
        .c list and .def list
        * libc/stdlib/Makefile.in: regenerate
        * libc/stdlib/strtoll_r.c: rename __strtoll_r
        as _strtoll_r
        * libc/stdlib/strtoull_r.c: rename __strtoull_r
        as _strtoull_r
        * libc/stdlib/strtoull.c: new file
        * libc/stdlib/strtoll.c: new file
2001-10-01 18:05:11 +00:00
Jeff Johnston 7cb7017ae0 2001-04-27 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h: Add prototype for _strtod_r.
2001-04-27 20:43:42 +00:00
Jeff Johnston 52cb9e6934 2001-04-20 Jeff Johnston <jjohnstn@redhat.com>
* 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.
2001-04-20 22:50:51 +00:00
Jeff Johnston ab4745dcb2 2001-02-14 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
* libc/include/stdlib.h: Add declarations of rand48 functions and
        their reentrant versions.
        * libc/include/sys/reent.h: Move macros from rand48.h. Add
        struct _rand48 for shared parameters of rand48 functions.
        (struct _reent): Add a variable _r48 of struct _rand48.
        (_REENT_INIT): Add _r48 initialization.
        * libc/stdlib/Makefile.am (lib_a_SOURCES): Add rand48 functions.
        (CHEWOUT_FILES): Add rand48.def.
        * libc/stdlib/Makefile.am: Add dependencies for rand48 functions.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/stdlib/drand48.c (drand48, _drand48_r): Derived from the
        NetBSD C library.
        * libc/stdlib/erand48.c (erand48, _erand48_r): Ditto.
        * libc/stdlib/jrand48.c (jrand48, _jrand48_r): Ditto.
        * libc/stdlib/lcong48.c (lcong48, _lcong48_r): Ditto.
        * libc/stdlib/lrand48.c (lrand48, _lrand48_r): Ditto.
        * libc/stdlib/mrand48.c (mrand48, _mrand48_r): Ditto.
        * libc/stdlib/nrand48.c (nrand48, _nrand48_r): Ditto.
        * libc/stdlib/seed48.c (seed48, _seed48_r): Ditto.
        * libc/stdlib/srand48.c (srand48, _srand48_r): Ditto.
        * libc/stdlib/rand48.c (__dorand48): Ditto.
        * libc/stdlib/rand48.h: Ditto, and modify declarations of global
        parameters into macros referring them in the reentrant structure.
2001-02-15 02:04:55 +00:00
Corinna Vinschen ec270d3148 * libc/include/stdlib.h: Add declarations for `mkstemp' and `mktemp'. 2000-12-06 11:02:28 +00:00
Christopher Faylor 86fff69f62 * libc/include/stdlib.h: Avoid declaring cfree under Cygwin.
* libc/include/malloc.h: Ditto.  Also remove obsolete declaration.
2000-10-30 01:08:58 +00:00
Christopher Faylor a385ae7508 * Makefile.am: Fix space vs. tab problem in install-data-local.
* Makefile.in: Regenerate.
* libc/include/_ansi.h (_EXFUN): Define specially for __CYGWIN__.
(_EXPARM): New macro for defining a function parameter.
* libc/include/stdlib.h: Use _EXPARM.
* libc/stdlib/mallocr.c: Don't build cfree for Cygwin.
2000-09-06 20:46:27 +00:00
DJ Delorie 749d9bcd4b * libc/include/sys/config.h: define __IMPORT appropriately
* libc/include/ctype.h (_ctype_): use __IMPORT
* libc/include/math.h (__infinity, signam, _LIB_VERSION): ditto
* libc/include/math.h (__mb_cur_max): ditto
* libc/include/time.h (_timezone, _daylight, _tzname): ditto
* libc/include/unctrl.h (__unctrl, __unctrllen): ditto
* libc/include/errno.h (_sys_errlist, _sys_nerr): ditto
* libc/include/unistd.h (environ): ditto
2000-08-01 20:51:51 +00:00
Ranjith Kumaran a68078cbb8 Thu Jun 8 21:18:00 2000 Ranjith Kumaran <ranjith@cygnus.com>
* libc/include/stdlib.h: Set RAND_MAX to __RAND_MAX.
	* libc/include/sys/config.h: Define __RAND_MAX.
2000-06-09 01:13:36 +00:00