[PATCH] Update newlib so that it passes libc++'s tests
Sebastian Huber
sebastian.huber@embedded-brains.de
Tue Dec 17 09:42:00 GMT 2013
On 2013-12-17 01:54, JF Bastien wrote:
> Fix issues that LLVM's libc++ test suite finds when setting newlib as
> the C library:
> - limits.h: define LLONG_MIN, LLONG_MAX and ULLONG_MAX for C++11 too.
> - stdint.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). Make sure stdint.h and wchar.h
> are in sync.
> - stdint.h: similarly for WINT_MIN and WINT_MAX according to
> __WINT_UNSIGNED__.
> - stdlib.h: define struct lldiv_t, _Exit, atoll, llabs and lldiv for
> C99 and C++11.
> - stdlib.h: move wcstold to wchar.h.
> - 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). Make sure stdint.h and wchar.h
> are in sync.
> - wchar.h: define file as in stdio.h.
> - stdlib.h: move wcstold from stdlib.h.
>
> Note that libc++ also needs changes to adapt to newlib's C flavor, I'm
> sending a separate patch to thecfe-commits@cs.uiuc.edu mailing list.
Recent GCC have built-in defines:
#define __WCHAR_TYPE__ long int
#define __WCHAR_MAX__ 2147483647L
#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)
Maybe we can use them if available. Does LLVM also provide such built-in defines?
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber@embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the Newlib
mailing list