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=gnu11
as the default),-std=iso9899:2017
. As a bug-fix version of the standard, there is no need forflag_isoc17
or any options for compatibility warnings; however, there is a new__STDC_VERSION__
value, so new cpplib languagesCLK_GNUC17
andCLK_STDC17
are 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:199409
corresponds 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_INIT
and 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