From: Aaron Ballman
Clang implements a significant portion of the ISO 9899:2011 (C11) standard, but the status of individual proposals is still under investigation.
You can use Clang in C11 mode with the -std=c11
option (use -std=c1x
in Clang 3.0 and earlier).
Language Feature | +C11 Proposal | +Available in Clang? | +
---|---|---|
A finer-grained specification for sequencing | +N1252 | +Unknown | +
Clarification of expressions | +N1282 | +Unknown | +
Extending the lifetime of temporary objects (factored approach) | +N1285 | +Unknown | +
Requiring signed char to have no padding bits | +N1310 | +Unknown | +
Initializing static or external variables | +N1311 | +Unknown | +
Conversion between pointers and floating types | +N1316 | +Yes | +
Adding TR 19769 to the C Standard Library | +N1326 | +Clang 3.3 | +
Static assertions | +N1330 | +Yes | +
Parallel memory sequencing model proposal | +N1349 | +Unknown | +
Analyzability (#1, #4 - conditionally normative) | +N1350 | +Unknown | +
FLT_EVAL_METHOD issues (first change only) | +N1353 | +Unknown | +
_Bool bit-fields | +N1356 | +Unknown | +
Technical corrigendum for C1X | +N1359 | +Unknown | +
Benign typedef redefinition | +N1360 | +Clang 3.1 | +
Thread-local storage | +N1364 | +Clang 3.3 | +
Constant expressions | +N1365 | +Unknown | +
Contractions and expression evaluation methods | +N1367 | +Unknown | +
FLT_EVAL_METHOD and return | +N1382 | +Unknown | +
Floating-point to int/_Bool conversions | +N1391 | +Unknown | +
Analyzability (along the lines) | +N1394 | +Unknown | +
Wide function returns (alternate proposal) | +N1396 | +Unknown | +
Alignment | +||
N1397 | +Clang 3.2 | +|
N1447 | +Clang 3.2 | +|
Anonymous member-structures and unions (modulo "name lookup") | +N1406 | +Yes | +
Completeness of types | +N1439 | +Unknown | +
Generic macro facility | +N1441 | +Yes | +
Dependency ordering for C memory model | +N1444 | +Unknown | +
Subsetting the standard | +N1460 | +Unknown | +
Assumed types in F.9.2 | +N1468 | +Unknown | +
Supporting the 'noreturn' property in C1x | +N1478 | +Clang 3.3 | +
Updates to C++ memory model based on formalization | +N1480 | +Unknown | +
Explicit initializers for atomics | +N1482 | +Unknown | +
Atomics proposal (minus ternary op) | +N1485 | +Yes | +
UTF-8 string literals | +N1488 | +Clang 3.3 | +
There are no major changes in this edition, only technical corrections and clarifications that are tracked by Defect Report.