As I was checking news about GCC 8, I saw that they added support for the 2017 version of the C language (not C++17, really C17). But I can't find any information about it on Internet.
Is it a new ISO version like C11, or just a codename used by the GCC team for some corrections in their compiler ?
C17 is the informal name for ISO/IEC 9899:2018, 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). C17 will be superseded by C2x.
C17. Published in June 2018 as ISO/IEC 9899:2018, C17 is the current standard for the C programming language.
C has progressed over the years although it has changed less than most other popular languages. The latest standard is C11. Figure 1. The logo on cover of The C Programming Language by Dennis Ritchie and Brian Kernighan is well known to C programmers.
For the typical C programmer, the biggest change in C11 is its standardized multithreading support. C of course has supported multithreading for decades. However, all of the popular C threading libraries have thus far been non-standard extensions, and hence non-portable. The new C11 header file <threads.
According to GCC reference, C17 is actually a bug-fix version of the C11 standard with DR resolutions integrated.
C17, a bug-fix version of the C11 standard with DR [Defect Report] resolutions integrated, will soon go to ballot. This patch adds corresponding options
-std=c17,-std=gnu17(new default version, replacing-std=gnu11as the default),-std=iso9899:2017. As a bug-fix version of the standard, there is no need forflag_isoc17or any options for compatibility warnings; however, there is a new__STDC_VERSION__value, so new cpplib languagesCLK_GNUC17andCLK_STDC17are added to support using that new value with the new options. (If the standard ends up being published in 2018 and being known asC18, option aliases can be added. Note however that-std=iso9899:199409corresponds to a__STDC_VERSION__value rather than a publication date.)(There are a couple of DR resolutions needing implementing in GCC, but that's independent of the new options.)
So, there are no new features included in C17.
The Cppreference (History of C) says:
Future development
C17 Next minor C language standard revision, will include all accepted C11 defect reports, but no new features.
UPDATE:
- 2018: C17 (ISO/IEC 9899:2018) (ISO Store) (Final draft) Includes the deprecation of
ATOMIC_VAR_INITand the fixes to the following defect reports:[DR 400], [DR 401], [DR 402], [DR 403], [DR 404], [DR 405], [DR 406], [DR 407], [DR 410], [DR 412], [DR 414], [DR 415], [DR 416], [DR 417], [DR 419], [DR 423], [DR 426], [DR 428], [DR 429], [DR 430], [DR 431], [DR 433], [DR 434], [DR 436], [DR 437], [DR 438], [DR 439], [DR 441], [DR 444], [DR 445], [DR 447], [DR 448], [DR 450], [DR 452], [DR 453], [DR 457], [DR 458], [DR 459], [DR 460], [DR 462], [DR 464], [DR 465], [DR 468], [DR 470], [DR 471], [DR 472], [DR 473], [DR 475], [DR 477], [DR 480], [DR 481], [DR 485], [DR 487], [DR 491]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With