This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]