| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
radix char instead of assuming length 1.
* libc/stdlib/gdtoa-gethex.c: Remove use of USE_LOCALE.
(gethex): Allow multibyte decimal point.
Fix compiler warnings due to different signedness of pointer types.
* libc/stdlib/strtod.c: Remove use of USE_LOCALE.
(_strtod_r): Allow multibyte decimal point.
* libc/stdlib/wcstod.c (_wcstod_r): Evaluate correct wide char
endptr position if the decimal point is a multibyte char.
|
|
|
|
|
|
| |
* libc/ctype/local.h (__locale_charset): Add arguments to
prototype
* libc/stdlib/local.h (__locale_charset): Ditto.
|
|
|
|
|
|
|
| |
* libc/include/math.h: Simplify fpclassify, isinf, isnan, and signbit
macros to remove un-necessary extension use. isinf and isnan also
changed to use fpclassify. isfinite macro modified to run faster by
only calling fpclassify once instead of possibly twice.
|
|
|
|
|
| |
mbtowc/wctomb to unsigned char to avoid negative return values.
* libc/ctype/toupper.c (toupper): Ditto.
|
|
|
|
|
|
|
|
|
|
|
| |
* libc/locale/locale.c (lc_ctype_cjk_lang): New static int.
(loadlocale): In case of setting LC_CTYPE, set lc_ctype_cjk_lang
to 1 if the language is "jp", "ko", or "zh", to 0 otherwise.
(__locale_cjk_lang): New function.
* libc/string/local.h (__locale_cjk_lang): Declare.
* libc/string/wcwidth.c: Fix comments.
(__wcwidth): Handle CJK Ambiguous Width characters according
to setting returned by __locale_cjk_lang.
|
|
|
|
|
| |
* libc/include/sys/config.h: Remove specification of _REENT_SMALL for
thumb2.
|
|
|
|
|
|
| |
(__jp2uc): Change the scope to static function.
* libc/ctype/local.h (_jp2uc): Define as macro if defined __CYGWIN__.
* libc/string/local.h (_jp2uc): Include ../ctype/local.h.
|
|
|
|
|
| |
* libc/include/machine/setjmp.h (sigjmp_buf): Size according to
_JBTYPE and the size of sigset_t.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.in: Add configuration test for long double type existing
and set flag _HAVE_LONG_DOUBLE if true. Fix INIT_ARRAY (.init_array)
and _LDBL_EQ_DBL tests to not link so that will work with
cross-compilers.
* configure: Regenerated.
* Makefile.in: Ditto.
* newlib.hin: Add _HAVE_LONG_DOUBLE flag.
* libc/include/math.h: Change non-builtin defines for HUGE_VAL,
HUGE_VALF, and HUGE_VALL to be constant expressions. Add definitions
for the non-builtin case for INFINITY and NAN. Gate HUGE_VALL and
union __ldmath definitions with (new) _HAVE_LONG_DOUBLE.
*libm/common/s_infconst.c: Change definitions to use values from
float.h instead of non-so-portable integer forms. Mark as being
deprecated (because now removed from math.h, are not used anywhere
in Newlib, itself).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libc/string/wcswidth.c (wcswidth): Convert japanese wide
characters to Unicode here. Handle surrogate pairs for UTF-16
systems. Call __wcwidth rather than wcwidth.
* libc/string/wcwidth.c: New implementation using Markus Kuhn's
wcwidth implementation for Unicode.
(bisearch): New static function.
(__wcwidth): New function. Take wint_t rather than wchar_t as
parameter to allow full Unicode handling on UTF-16 systems.
Move old wcwidth implementation here for non-multibyte aware
systems.
(wcwidth): Convert japanese wide characters to Unicode here.
Call __wcwidth rather than using iswprint/iswcntrl.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to jp2uc.c.
(__jp2uc): Remove declaration.
(_jp2uc): Declare.
* libc/ctype/jp2uc.c (JP_JIS, JP_SJIS, JP_EUCJP): Define.
(__jp2uc): Remove Cygwin special case.
(_jp2uc): New function. On Cygwin, just return c.
* libc/ctype/iswalpha.c (iswalpha): Just call _jp2uc.
* libc/ctype/iswblank.c (iswblank): Ditto.
* libc/ctype/iswcntrl.c (iswcntrl): Ditto.
* libc/ctype/iswprint.c (iswprint): Ditto.
* libc/ctype/iswpunct.c (iswpunt): Ditto.
* libc/ctype/iswspace.c (iswspace): Ditto.
* libc/ctype/towlower.c (towlower): Ditto.
* libc/ctype/towupper.c (towupper): Ditto.
|
|
|
|
|
| |
* libc/machine/arm/setjmp.S: Don't bother saving IP. Copy SP to
IP before saving. Likewise when restoring.
|
|
|
|
| |
* libc/machine/arm/setjmp.S: Add ARMv6-M implementation.
|
| |
|
|
|
|
|
|
|
| |
* libc/include/ctype.h (toupper, tolower)
[_MB_EXTENDED_CHARSETS_ISO]: Allow gcc warning when called with
'char' even when we must call the function for correct behavior.
[!_MB_EXTENDED_CHARSETS_ISO]: Fix regression in result type.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libc/stdio/fgetc.c: Make sure sfp lock is acquired before the
file lock and released before the file lock to avoid a deadlock
scenario.
* libc/stdio/fgets.c: Ditto.
* libc/stdio/fgetwc.c: Ditto.
* libc/stdio/fgetws.c: Ditto.
* libc/stdio/fread.c: Ditto.
* libc/stdio/fseek.c: Ditto.
* libc/stdio/getc.c: Ditto.
* libc/stdio/getdelim.c: Ditto.
* libc/stdio/gets.c: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* libc/include/stdint.h (UINTPTR_MAX): Define to __UINTPTR_MAX__
if __UINTPTR_MAX__ defined.
|
|
|
|
|
|
|
| |
* libc/include/ctype.h (_tolower, _toupper, isalpha, isupper)
(islower, isdigit, isxdigit, isspace, ispunct, isalnum)
(isprint, isgraph, iscntrl, isblank, toupper, tolower)
(isascii, toascii): Don't use 'c' as macro parameter name.
|
|
|
|
|
|
|
| |
* libc/include/ctype.h (isalpha, isupper, islower, isdigit)
(isxdigit, isspace, ispunct, isalnum, isprint, isgraph)
(iscntrl, isblank, toupper, tolower): Rewrite to let 'gcc -Wall'
warn when user calls macro with a char argument.
|
|
|
|
|
|
|
| |
* libc/string/strcasecmp.c: Optimized rewrite.
* libc/string/strncasecmp.c: Fix description.
* libc/string/strlwr.c: Avoid passing signed char to tolower.
* libc/string/strupr.c: Avoid passing signed char to tolower.
|
|
|
|
|
|
|
|
|
| |
Kazu Hirata <kazu@codesourcery.com>
* libc/stdlib/__atexit.c (__register_exitproc): Use weak reference
to malloc. Allocate dynamically only if it is present.
* libc/stdlib/__call_atexit.c (__call_exitprocs): Use weak
reference to free. Call free only if it is present.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.host: Add moxie support.
* libc/machine/configure.in: Add moxie support.
* libc/machine/configure: Rebuilt.
* libc/machine/moxie/aclocal.m4: New file.
* libc/machine/moxie/configure: New file.
* libc/machine/moxie/configure.in: New file.
* libc/machine/moxie/Makefile.am: New file.
* libc/machine/moxie/Makefile.in: New file.
* libc/machine/moxie/setjmp.S: New file.
* libc/include/machine/setjmp.h (_JBLEN): Define for moxie.
* libc/include/machine/ieeefp.h: Add moxie support.
|
|
|
|
|
| |
Add extern to the declarations.
* libc/stdlib/local.h (__iso_8859_conv, __cp_conv): Likewise.
|
|
|
|
|
|
|
|
|
| |
_CTYPE_DATA_128_256.
* libc/ctype/ctype_cp.h: Split off all character class values for
character 255 from the rest of the definitions.
(__ctype_cp): Use the new definitions. Make sure that the table
always contains 0 for EOF (-1).
* libc/ctype/ctype_iso.h: Ditto.
|
|
|
|
|
| |
* libc/reent/impure.c (__sf_fake_stdin, __sf_fake_stdout)
(__sf_fake_stderr): Declare locally with weak attribute.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libc/include/machine/ieeefp.h (_LDBL_EQ_DBL): Remove.
* libc/stdlib/local.h (_LDBL_EQ_DBL): Add.
* libc/stdlib/strtold.c: Include local.h.
* libc/stdlib/wcstold.c: Likewise.
* libm/common/atanl.c: Likewise.
* 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/common/llrintl.c: Likewise.
* libm/common/local.h: New file with _LDBL_EQ_DBL macro.
|
|
|
|
|
|
|
|
| |
* libc/include/machine/ieeefp.h: _LDBL_EQ_DBL check fixed.
* libc/include/math.h (llrintl): Declare.
* libm/common/llrintl.c: New File.
* libm/common/Makefile.am: New File added.
* libm/common/Makefile.in: Regenerate.
|
|
|
|
|
|
| |
* libc/configure.in: Change AC_TRY_COMPILE to AC_TRY_COMMAND to
avoid executable test.
* libc/configure: Regenerate.
|
|
|
|
|
|
|
|
|
|
| |
* configure.in: Remove _HAVE_ARRAY_ALIASING check.
* configure: Regenerated.
* newlib.hin: Remove _HAVE_ARRAY_ALIASING flag.
* libc/ctype/ctype_.c: Do not check for _HAVE_ARRAY_ALIASING.
* libm/configure.in: Change AC_TRY_COMPILE to AC_TRY_COMMAND to
avoid executable test.
* libm/configure: Regenerated.
|
|
|
|
|
| |
* libc/misc/init.c (__libc_fini_array): Process fini_array in
reverse order as compliant with the ELF specification.
|
|
|
|
|
|
| |
* libc/machine/spu/Makefile.am: Add new File.
* libc/machine/spu/Makefile.in: Regenerate.
* libc/machine/spu/fdopen.c: New file.
|
|
|
|
| |
* libc/include/stdint.h (INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX): Define.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libc/ctype/ctype_cp.h: Mark non-cased letters in tables for codepages
720, 862, 874, 1255, and 1256 to _U|_L. Fix a couple of incorrect
class mappings.
* libc/ctype/ctype_iso.h: Mark non-cased letters in ISO-8859 tables
6, 8, and 11 to _U|_L. Fix a couple of incorrect class mappings.
* libc/ctype/isblank.c (isblank): Special case TAB.
* libc/ctype/islower.c (islower): Check explicitely for _L flag only
in (_U|_L).
* libc/ctype/isupper.c (isupper): Ditto, but check for _U flag.
* libc/include/ctype.h (islower): Same in macro.
(isupper): Ditto.
(isblank): Special case TAB. Redefine macro for GCC only.
|
|
|
|
| |
(__wctomb): Ditto.
|
|
|
|
|
|
|
|
|
| |
recognizes 0x8e and 0x8f lead bytes.
(_iseucjp2): Rename from _iseucjp.
* libc/stdlib/mbtowc_r.c (__eucjp_mbtowc): Convert JIS-X-0212
triplebyte sequences as well.
* libc/stdlib/wctomb_r.c (__eucjp_wctomb): Convert to JIS-X-0212
triplebyte sequences as well.
|
|
|
|
| |
* libc/string/strncasecmp.c: Optimized rewrite.
|
|
|
|
|
| |
* libc/include/sys/features.h: Undefine _POSIX_TIMERS for spu.
* libc/include/machine/time.h (nanosleep): Declare.
|
| |
|
| |
|
|
|
|
| |
* libc/include/_ansi.h (_ELIDABLE_INLINE): ..to here.
|
|
|
|
|
| |
* libc/include/stdio.h [__SCLE] (__sgetc_r): Prototype before define
to avoid a warning with -Wmissing-prototypes.
|
|
|
|
| |
* libc/machine/spu/mmap_ea.c (mmap_ea): Check length argument.
|
|
|
|
|
| |
* libc/machine/spu/sys/linux_syscalls.h: include <sys/types.h>
(linux_getpid, linux_gettid): Declare.
|
|
|
|
|
| |
* libc/machine/spu/spu-gmon.c: Tweaks to support simultaneous SPU
profiling.
|
|
|
|
|
| |
* libc/include/math.h: Remove duplicate copysign prototype.
Fix __math_68881 define typo. Guard functions of the rint family.
|
|
|
|
|
|
|
|
|
| |
ctype_cp.h out of ALLOW_NEGATIVE_CTYPE_INDEX case.
(__ctype_ptr__): Constify in !_MB_CAPABLE case. Otherwise,
de-constify in !ALLOW_NEGATIVE_CTYPE_INDEX case, too. Add comment.
(__set_ctype): Set __ctype_ptr__ pointer according to definition
of ALLOW_NEGATIVE_CTYPE_INDEX.
* libc/include/ctype.h (__ctype_ptr__): Constify in !_MB_CAPABLE case.
|