diff options
-rw-r--r-- | gnu/gcc/gcc/c-opts.c | 5 | ||||
-rw-r--r-- | gnu/gcc/gcc/doc/cppopts.texi | 4 | ||||
-rw-r--r-- | gnu/gcc/gcc/doc/gcc.1 | 10 | ||||
-rw-r--r-- | gnu/gcc/gcc/doc/gcc.info | 11 | ||||
-rw-r--r-- | gnu/gcc/gcc/doc/invoke.texi | 6 | ||||
-rw-r--r-- | gnu/usr.bin/gcc/gcc/c-opts.c | 9 | ||||
-rw-r--r-- | gnu/usr.bin/gcc/gcc/doc/cppopts.texi | 4 | ||||
-rw-r--r-- | gnu/usr.bin/gcc/gcc/doc/invoke.texi | 6 | ||||
-rw-r--r-- | share/man/man1/gcc-local.1 | 15 |
9 files changed, 45 insertions, 25 deletions
diff --git a/gnu/gcc/gcc/c-opts.c b/gnu/gcc/gcc/c-opts.c index 0494b9c2c37..269857b7678 100644 --- a/gnu/gcc/gcc/c-opts.c +++ b/gnu/gcc/gcc/c-opts.c @@ -236,6 +236,11 @@ c_common_init_options (unsigned int argc, const char **argv) if (c_language == clk_c) { + /* The default for C is gnu99, without warnings for non-static + inline functions. */ + set_std_c99 (false /* ISO */); + flag_gnu89_inline = 1; + /* If preprocessing assembly language, accept any of the C-family front end options since the driver may pass them through. */ for (i = 1; i < argc; i++) diff --git a/gnu/gcc/gcc/doc/cppopts.texi b/gnu/gcc/gcc/doc/cppopts.texi index c1d732b44c0..0d1b44410d9 100644 --- a/gnu/gcc/gcc/doc/cppopts.texi +++ b/gnu/gcc/gcc/doc/cppopts.texi @@ -392,11 +392,11 @@ The revised ISO C standard, published in December 1999. Before publication, this was known as C9X@. @item gnu89 -The 1990 C standard plus GNU extensions. This is the default. +The 1990 C standard plus GNU extensions. @item gnu99 @itemx gnu9x -The 1999 C standard plus GNU extensions. +The 1999 C standard plus GNU extensions. This is the default. @item c++98 The 1998 ISO C++ standard plus amendments. diff --git a/gnu/gcc/gcc/doc/gcc.1 b/gnu/gcc/gcc/doc/gcc.1 index 69921c640f3..467ac428ba2 100644 --- a/gnu/gcc/gcc/doc/gcc.1 +++ b/gnu/gcc/gcc/doc/gcc.1 @@ -1163,15 +1163,15 @@ provided; possible values are names \fBc9x\fR and \fBiso9899:199x\fR are deprecated. .IP "\fBgnu89\fR" 4 .IX Item "gnu89" -Default, \s-1ISO\s0 C90 plus \s-1GNU\s0 extensions (including some C99 features). +\&\s-1ISO\s0 C90 plus \s-1GNU\s0 extensions (including some C99 features). .IP "\fBgnu99\fR" 4 .IX Item "gnu99" .PD 0 .IP "\fBgnu9x\fR" 4 .IX Item "gnu9x" .PD -\&\s-1ISO\s0 C99 plus \s-1GNU\s0 extensions. When \s-1ISO\s0 C99 is fully implemented in \s-1GCC\s0, -this will become the default. The name \fBgnu9x\fR is deprecated. +Default, \s-1ISO\s0 C99 plus \s-1GNU\s0 extensions. +The name \fBgnu9x\fR is deprecated. .IP "\fBc++98\fR" 4 .IX Item "c++98" The 1998 \s-1ISO\s0 \*(C+ standard plus amendments. @@ -6364,7 +6364,7 @@ publication, this was known as C9X. .ie n .IP """gnu89""" 4 .el .IP "\f(CWgnu89\fR" 4 .IX Item "gnu89" -The 1990 C standard plus \s-1GNU\s0 extensions. This is the default. +The 1990 C standard plus \s-1GNU\s0 extensions. .ie n .IP """gnu99""" 4 .el .IP "\f(CWgnu99\fR" 4 .IX Item "gnu99" @@ -6373,7 +6373,7 @@ The 1990 C standard plus \s-1GNU\s0 extensions. This is the default. .el .IP "\f(CWgnu9x\fR" 4 .IX Item "gnu9x" .PD -The 1999 C standard plus \s-1GNU\s0 extensions. +The 1999 C standard plus \s-1GNU\s0 extensions. This is the default. .ie n .IP """c++98""" 4 .el .IP "\f(CWc++98\fR" 4 .IX Item "c++98" diff --git a/gnu/gcc/gcc/doc/gcc.info b/gnu/gcc/gcc/doc/gcc.info index 5db6aeafb6c..65963274a66 100644 --- a/gnu/gcc/gcc/doc/gcc.info +++ b/gnu/gcc/gcc/doc/gcc.info @@ -1350,14 +1350,13 @@ accepts: deprecated. `gnu89' - Default, ISO C90 plus GNU extensions (including some C99 + ISO C90 plus GNU extensions (including some C99 features). `gnu99' `gnu9x' - ISO C99 plus GNU extensions. When ISO C99 is fully - implemented in GCC, this will become the default. The name - `gnu9x' is deprecated. + Default, ISO C99 plus GNU extensions. + The name `gnu9x' is deprecated. `c++98' The 1998 ISO C++ standard plus amendments. @@ -6430,11 +6429,11 @@ cause the preprocessor output to be unsuitable for actual compilation. Before publication, this was known as C9X. `gnu89' - The 1990 C standard plus GNU extensions. This is the default. + The 1990 C standard plus GNU extensions. `gnu99' `gnu9x' - The 1999 C standard plus GNU extensions. + The 1999 C standard plus GNU extensions. This is the default. `c++98' The 1998 ISO C++ standard plus amendments. diff --git a/gnu/gcc/gcc/doc/invoke.texi b/gnu/gcc/gcc/doc/invoke.texi index aa2eeb8ff43..ea12878ce5c 100644 --- a/gnu/gcc/gcc/doc/invoke.texi +++ b/gnu/gcc/gcc/doc/invoke.texi @@ -1188,12 +1188,12 @@ ISO C99. Note that this standard is not yet fully supported; see names @samp{c9x} and @samp{iso9899:199x} are deprecated. @item gnu89 -Default, ISO C90 plus GNU extensions (including some C99 features). +ISO C90 plus GNU extensions (including some C99 features). @item gnu99 @itemx gnu9x -ISO C99 plus GNU extensions. When ISO C99 is fully implemented in GCC, -this will become the default. The name @samp{gnu9x} is deprecated. +Defaults, ISO C99 plus GNU extensions. +The name @samp{gnu9x} is deprecated. @item c++98 The 1998 ISO C++ standard plus amendments. diff --git a/gnu/usr.bin/gcc/gcc/c-opts.c b/gnu/usr.bin/gcc/gcc/c-opts.c index d20dec4cf5c..8e8d9ced5eb 100644 --- a/gnu/usr.bin/gcc/gcc/c-opts.c +++ b/gnu/usr.bin/gcc/gcc/c-opts.c @@ -509,7 +509,7 @@ c_common_init_options (lang) #endif c_language = lang; - parse_in = cpp_create_reader (lang == clk_c ? CLK_GNUC89 : CLK_GNUCXX); + parse_in = cpp_create_reader (lang == clk_c ? CLK_GNUC99 : CLK_GNUCXX); cpp_opts = cpp_get_options (parse_in); if (flag_objc) cpp_opts->objc = 1; @@ -517,7 +517,12 @@ c_common_init_options (lang) flag_const_strings = (lang == clk_cplusplus); warn_pointer_arith = (lang == clk_cplusplus); if (lang == clk_c) - warn_sign_compare = -1; + { + /* The default for C is gnu99. */ + set_std_c99 (false /* ISO */); + + warn_sign_compare = -1; + } } static char *bad_option; diff --git a/gnu/usr.bin/gcc/gcc/doc/cppopts.texi b/gnu/usr.bin/gcc/gcc/doc/cppopts.texi index 1cc688a4730..4a1d7d0d215 100644 --- a/gnu/usr.bin/gcc/gcc/doc/cppopts.texi +++ b/gnu/usr.bin/gcc/gcc/doc/cppopts.texi @@ -351,11 +351,11 @@ The revised ISO C standard, published in December 1999. Before publication, this was known as C9X@. @item gnu89 -The 1990 C standard plus GNU extensions. This is the default. +The 1990 C standard plus GNU extensions. @item gnu99 @itemx gnu9x -The 1999 C standard plus GNU extensions. +The 1999 C standard plus GNU extensions. This is the default. @item c++98 The 1998 ISO C++ standard plus amendments. diff --git a/gnu/usr.bin/gcc/gcc/doc/invoke.texi b/gnu/usr.bin/gcc/gcc/doc/invoke.texi index b2b61f6758a..582612452e1 100644 --- a/gnu/usr.bin/gcc/gcc/doc/invoke.texi +++ b/gnu/usr.bin/gcc/gcc/doc/invoke.texi @@ -1015,12 +1015,12 @@ ISO C99. Note that this standard is not yet fully supported; see names @samp{c9x} and @samp{iso9899:199x} are deprecated. @item gnu89 -Default, ISO C90 plus GNU extensions (including some C99 features). +ISO C90 plus GNU extensions (including some C99 features). @item gnu99 @itemx gnu9x -ISO C99 plus GNU extensions. When ISO C99 is fully implemented in GCC, -this will become the default. The name @samp{gnu9x} is deprecated. +Default, ISO C99 plus GNU extensions. +The name @samp{gnu9x} is deprecated. @item c++98 The 1998 ISO C++ standard plus amendments. diff --git a/share/man/man1/gcc-local.1 b/share/man/man1/gcc-local.1 index 24584c0117b..928c01d1155 100644 --- a/share/man/man1/gcc-local.1 +++ b/share/man/man1/gcc-local.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: gcc-local.1,v 1.56 2023/10/28 00:25:19 millert Exp $ +.\" $OpenBSD: gcc-local.1,v 1.57 2023/10/29 23:31:16 millert Exp $ .\" .\" Copyright (c) 2002 Marc Espie .\" Copyright (c) 2003 Anil Madhavapeddy @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: October 28 2023 $ +.Dd $Mdocdate: October 29 2023 $ .Dt GCC-LOCAL 1 .Os .Sh NAME @@ -42,6 +42,17 @@ the software comes with specific modifications for .Ox : .Bl -dash .It +For the C programming language, +.Nm gcc +defaults to the +.Em gnu99 +standard, +not +.Em gnu89 . +The +.Fl std +option can be used to select a different language standard. +.It .Nm gcc does not search under .Pa /usr/local |