Support for the standard ISO/IEC 9899:2011 (C11) in GCC (draft n1570, PDF)
GCC 4.9 Changes: “ISO C11 support is now at a similar level of completeness to ISO C99 support: substantially complete modulo bugs, extended identifiers (supported except for corner cases when -fextended-identifiers is used), floating-point issues (mainly but not entirely relating to optional C99 features from Annexes F and G) and the optional Annexes K (Bounds-checking interfaces) and L (Analyzability).”
-std=c1x |
GCC 4.6 |
-std=c11 |
GCC 4.7 |
__STDC_VERSION__ == 201112L |
GCC 4.7 |
|
|
_Alignas, _Alignof, max_align_t, stdalign.h |
GCC 4.7 |
_Atomic, stdatomic.h |
GCC 4.9 |
_Generic |
GCC 4.9 |
_Noreturn, stdnoreturn.h |
GCC 4.7 |
_Static_assert |
GCC 4.6 |
_Thread_local |
GCC 4.9 |
|
|
Anonymous struct and union |
GCC 4.6 |
Typedef redefinition |
GCC 4.6 |
New macros in float.h |
GCC 4.6 |
Macros for Complex values |
GCC 4.7 + Library issue (glibc 2.16) |
Unicode strings |
GCC 4.7 |
|
|
uchar.h |
Library issue (glibc 2.16) |
static_assert in assert.h |
Library issue (glibc 2.16) |
Remove gets |
Library issue (glibc 2.16) |
struct timespec, timespec_get |
Library issue (glibc 2.16) |
at_quick_exit, quick_exit |
Library issue (glibc 2.16) |
aligned_alloc |
Library issue (glibc 2.16) |
fopen mode "x" |
Library issue (glibc 2.x) |
Analyzability (Annex L) [Optional] |
- |
Bounds-checking (Annex K) [Optional] |
Library issue (not implemented) |
Threading [Optional] |
Library issue (glibc 2.28, musl 1.1.5) |
See also: