This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
ISO C11 issues for glibc
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: libc-alpha at sourceware dot org
- Date: Tue, 20 Dec 2011 21:09:36 +0000 (UTC)
- Subject: ISO C11 issues for glibc
The ISO C11 standard, the next revision of ISO C, is now published. It
looks like the following will need implementing for support in glibc
(obviously not everything needs implementing by the same person, or at the
same time).
* There should be a new feature test macro, enabled by default if
__STDC_VERSION__ >= 201112L (the intended __STDC_VERSION__ value for the
standard, the editor forgot the update the placeholder when sending it
for publication).
* The existing quick_exit / at_quick_exit function declarations should be
enabled under this feature test macro.
* The gets function declaration should be disabled under this feature test
macro.
* assert.h should define the static_assert macro.
* complex.h should define the CMPLX, CMPLXF and CMPLXL macros - using
__builtin_complex with GCC >= 4.7.
* aligned_alloc (stdlib.h) needs implementing.
* struct timespec is now part of ISO C time.h. There's an associated
macro TIME_UTC and function timespec_get.
* There is a new header uchar.h and associated functions.
(Atomics - stdatomic.h - are optional, and will probably need to wait for
associated language features to be implemented in GCC 4.8. I'd guess that
the optional threading interfaces in threads.h and bounds-checking
interfaces in Annex K aren't wanted for glibc for now, although they could
potentially go in separate libraries. C11 makes it explicit that various
wide string functions need to handle all values of type wchar_t whether or
not they represent members of the extended character set; some fixes
relating to that issue have gone in lately though I haven't checked glibc
in detail against this requirement. It may also be desirable to use C11
_Noreturn on standard function declarations where possible in place of
GCC-specific attributes, though I don't think missing _Noreturn is any
sort of conformance issue.)
--
Joseph S. Myers
joseph@codesourcery.com