B. C compilers
As of this writing (June 2025), gcc and clang in their latest versions implement most of the new language features of C23, but unfortunately, some notable features are still missing: for Clang 18, the constexpr storage class specifier, and for Clang 18 and GCC 14, [[unsequenced]] and [[reproducible]] attributes.
Using less recent compilers also works for large parts, but the less recent, the more problems you will have, particularly if you need to use 128-bit types (see the following discussion). It seems that starting from GCC 10 and Clang 14, the C23 support is reasonable.
The code used in this book should compile when using the fallback header as indicated. In any case, it is always better to use the latest compiler ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access