diff options
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/c-family/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/c-family/c.opt | 18 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/c18-version-1.c | 9 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/c18-version-2.c | 9 |
7 files changed, 55 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 00b4172..4e7f0af 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2017-11-16 Joseph Myers <joseph@codesourcery.com> + + * doc/invoke.texi (-std=c17): Refer to 2018 expected publication + date of C17. + (-std=c18, -std=iso9899:2018, -std=gnu18): Document option + aliases. + 2017-11-16 Thomas Koenig <tkoenig@gcc.gnu.org> PR bootstrap/82856 diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 3127635..990cd61 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,9 @@ +2017-11-16 Joseph Myers <joseph@codesourcery.com> + + * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018 + expected publication date of C17. + (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases. + 2017-11-15 Joseph Myers <joseph@codesourcery.com> PR c/81156 diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt index 479ae63..d857dfc 100644 --- a/gcc/c-family/c.opt +++ b/gcc/c-family/c.opt @@ -1950,7 +1950,11 @@ Deprecated in favor of -std=c11. std=c17 C ObjC -Conform to the ISO 2017 C standard. +Conform to the ISO 2017 C standard (expected to be published in 2018). + +std=c18 +C ObjC Alias(std=c17) +Conform to the ISO 2017 C standard (expected to be published in 2018). std=c89 C ObjC Alias(std=c90) @@ -2016,7 +2020,11 @@ Deprecated in favor of -std=gnu11. std=gnu17 C ObjC -Conform to the ISO 2017 C standard with GNU extensions. +Conform to the ISO 2017 C standard (expected to be published in 2018) with GNU extensions. + +std=gnu18 +C ObjC Alias(std=gnu17) +Conform to the ISO 2017 C standard (expected to be published in 2018) with GNU extensions. std=gnu89 C ObjC Alias(std=gnu90) @@ -2056,7 +2064,11 @@ Conform to the ISO 2011 C standard. std=iso9899:2017 C ObjC Alias(std=c17) -Conform to the ISO 2017 C standard. +Conform to the ISO 2017 C standard (expected to be published in 2018). + +std=iso9899:2018 +C ObjC Alias(std=c17) +Conform to the ISO 2017 C standard (expected to be published in 2018). traditional Driver diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 6384bc6..1e2b869 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -1832,8 +1832,11 @@ Annexes F and G) and the optional Annexes K (Bounds-checking interfaces) and L (Analyzability). The name @samp{c1x} is deprecated. @item c17 +@itemx c18 @itemx iso9899:2017 -ISO C17, the 2017 revision of the ISO C standard. This standard is +@itemx iso9899:2018 +ISO C17, the 2017 revision of the ISO C standard (expected to be +published in 2018). This standard is same as C11 except for corrections of defects (all of which are also applied with @option{-std=c11}) and a new value of @code{__STDC_VERSION__}, and so is supported to the same extent as C11. @@ -1852,6 +1855,7 @@ GNU dialect of ISO C11. The name @samp{gnu1x} is deprecated. @item gnu17 +@itemx gnu18 GNU dialect of ISO C17. This is the default for C code. @item c++98 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 180f4db..f922189 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2017-11-16 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/c18-version-1.c, gcc.dg/c18-version-2.c: New tests. + 2017-11-15 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/bfp/bfp.exp: Look for *.c files, not *.c* diff --git a/gcc/testsuite/gcc.dg/c18-version-1.c b/gcc/testsuite/gcc.dg/c18-version-1.c new file mode 100644 index 0000000..9acd024 --- /dev/null +++ b/gcc/testsuite/gcc.dg/c18-version-1.c @@ -0,0 +1,9 @@ +/* Test __STDC_VERSION__ for C17. Test -std=c18. */ +/* { dg-do compile } */ +/* { dg-options "-std=c18 -pedantic-errors" } */ + +#if __STDC_VERSION__ == 201710L +int i; +#else +#error "Bad __STDC_VERSION__." +#endif diff --git a/gcc/testsuite/gcc.dg/c18-version-2.c b/gcc/testsuite/gcc.dg/c18-version-2.c new file mode 100644 index 0000000..8786402 --- /dev/null +++ b/gcc/testsuite/gcc.dg/c18-version-2.c @@ -0,0 +1,9 @@ +/* Test __STDC_VERSION__ for C17. Test -std=iso9899:2018. */ +/* { dg-do compile } */ +/* { dg-options "-std=iso9899:2018 -pedantic-errors" } */ + +#if __STDC_VERSION__ == 201710L +int i; +#else +#error "Bad __STDC_VERSION__." +#endif |