C17 (C standard revision)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

C17 is the informal name for ISO/IEC 9899:2018,[1] the most recent standard for the C programming language, prepared in 2017 and published in June 2018. It replaced C11 (standard ISO/IEC 9899:2011).[2] C17 will be superseded by C2x.[3]

Since it was under development in 2017, and officially published in 2018, C17 is also commonly referred to as C18. GCC, for example, treats the commands -std=c17 and -std=c18 as equivalent,[4] and the C-Standard page on the ISO-9899 wiki refers to ISO/IEC 9899:2018 as C18, only noting later that the standard is sometimes called C17.[2]

Changes from C11[edit]

C17 addressed defects in C11 without introducing new language features.[2]

The __STDC_VERSION__ macro is increased to the value 201710L.

For a detailed list of changes from the previous standard, see Clarification Request Summary for C11.[5]

Compiler support[edit]

List of compilers supporting C17:

See also[edit]

References[edit]

  1. ^ "ISO/IEC 9899:2018 - Information technology -- Programming languages -- C". www.iso.org.
  2. ^ a b c "The Standard - C". www.iso-9899.info.
  3. ^ "WG 14 Document log". www.open-std.org.
  4. ^ "Using the GNU Compiler Collection (GCC): C Dialect Options". gcc.gnu.org.
  5. ^ ISO/IEC JTC1/SC22/WG14 (October 2017). "Clarification Request Summary for C11 Version 1.13". www.open-std.org. Retrieved 28 September 2020.
  6. ^ "Using the GNU Compiler Collection (GCC): C Dialect Options". gcc.gnu.org.
  7. ^ "Clang 7 documentation — Clang Compiler User's Manual".
  8. ^ "IAR Information Center for Arm - Release notes". netstorage.iar.com.
  9. ^ "C11 and C17 Standard Support Arriving in MSVC". devblogs.microsoft.com. 14 September 2020.

External links[edit]

Preceded by C language standards Succeeded by