http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58016
--- Comment #2 from Jeff Hammond <jeff.science at gmail dot com> --- If GCC doesn't support C11, it should not claim to support C11 via __STDC_VERSION__. The C11 standard definition isn't a recommendation from which implementers can pick and choose based upon their priorities. Documentation an implementations failure to comply with a standard does not absolve an implementation from lying about its features with ISO standard macros. The macro is part of the standard; the documentation is not. In any case, there is an absolutely trivial way for GCC to satisfy the C11 standard with respect to stdatomic.h, and it involves __STDC_NO_ATOMICS__. The failure to define this macro or to provide stdatomic.h make GCC non-compliant with C11, in which case __STDC_VERSION__ is defined improperly.