Commit 03dc0325 by Joseph Myers Committed by Joseph Myers

c-common.c (c_common_lang_init): New function.

	* c-common.c (c_common_lang_init): New function.  Warn if format
	warning options which only have effects when used with -Wformat
	are used without -Wformat.
	* c-common.h (c_common_lang_init): Declare.
	* c-lang.c (lang_init): Call c_common_lang_init.
	* objc/objc-act.c (lang_init): Call c_common_lang_init.

cp:
	* lex.c (lang_init): Call c_common_lang_init.

From-SVN: r38672
parent 955be633
2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk> 2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
* c-common.c (c_common_lang_init): New function. Warn if format
warning options which only have effects when used with -Wformat
are used without -Wformat.
* c-common.h (c_common_lang_init): Declare.
* c-lang.c (lang_init): Call c_common_lang_init.
* objc/objc-act.c (lang_init): Call c_common_lang_init.
2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
* configure.in: Check for the mktemp command. * configure.in: Check for the mktemp command.
* configure: Regenerate. * configure: Regenerate.
* gccbug.in: Use a separate temporary file $TEMP0 for one use of * gccbug.in: Use a separate temporary file $TEMP0 for one use of
......
...@@ -6555,3 +6555,26 @@ boolean_increment (code, arg) ...@@ -6555,3 +6555,26 @@ boolean_increment (code, arg)
TREE_SIDE_EFFECTS (val) = 1; TREE_SIDE_EFFECTS (val) = 1;
return val; return val;
} }
/* Do the parts of lang_init common to C and C++. */
void
c_common_lang_init ()
{
/* If still "unspecified", make it match -fbounded-pointers. */
if (flag_bounds_check < 0)
flag_bounds_check = flag_bounded_pointers;
/* Special format checking options don't work without -Wformat; warn if
they are used. */
if (warn_format_y2k && !warn_format)
warning ("-Wformat-y2k ignored without -Wformat");
if (warn_format_extra_args && !warn_format)
warning ("-Wformat-extra-args ignored without -Wformat");
if (warn_format_nonliteral && !warn_format)
warning ("-Wformat-nonliteral ignored without -Wformat");
if (warn_format_security && !warn_format)
warning ("-Wformat-security ignored without -Wformat");
if (warn_missing_format_attribute && !warn_format)
warning ("-Wmissing-format-attribute ignored without -Wformat");
}
...@@ -513,6 +513,8 @@ extern void c_common_nodes_and_builtins PARAMS ((void)); ...@@ -513,6 +513,8 @@ extern void c_common_nodes_and_builtins PARAMS ((void));
extern tree build_va_arg PARAMS ((tree, tree)); extern tree build_va_arg PARAMS ((tree, tree));
extern void c_common_lang_init PARAMS ((void));
/* Nonzero if the type T promotes to itself. /* Nonzero if the type T promotes to itself.
ANSI C states explicitly the list of types that promote; ANSI C states explicitly the list of types that promote;
in particular, short promotes to int even if they have the same width. */ in particular, short promotes to int even if they have the same width. */
......
...@@ -62,9 +62,7 @@ lang_init_options () ...@@ -62,9 +62,7 @@ lang_init_options ()
void void
lang_init () lang_init ()
{ {
/* If still "unspecified", make it match -fbounded-pointers. */ c_common_lang_init ();
if (flag_bounds_check < 0)
flag_bounds_check = flag_bounded_pointers;
/* If still unspecified, make it match pedantic && -std=c99. */ /* If still unspecified, make it match pedantic && -std=c99. */
if (mesg_implicit_function_declaration < 0) if (mesg_implicit_function_declaration < 0)
......
2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
* lex.c (lang_init): Call c_common_lang_init.
2001-01-03 Nathan Sidwell <nathan@codesourcery.com> 2001-01-03 Nathan Sidwell <nathan@codesourcery.com>
* search.c (lookup_fnfields_here): Remove. * search.c (lookup_fnfields_here): Remove.
......
/* Separate lexical analyzer for GNU C++. /* Separate lexical analyzer for GNU C++.
Copyright (C) 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, Copyright (C) 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000 Free Software Foundation, Inc. 1999, 2000, 2001 Free Software Foundation, Inc.
Hacked by Michael Tiemann (tiemann@cygnus.com) Hacked by Michael Tiemann (tiemann@cygnus.com)
This file is part of GNU CC. This file is part of GNU CC.
...@@ -262,9 +262,7 @@ lang_init_options () ...@@ -262,9 +262,7 @@ lang_init_options ()
void void
lang_init () lang_init ()
{ {
/* If still "unspecified", make it match -fbounded-pointers. */ c_common_lang_init ();
if (flag_bounds_check < 0)
flag_bounds_check = flag_bounded_pointers;
if (flag_gnu_xref) GNU_xref_begin (input_filename); if (flag_gnu_xref) GNU_xref_begin (input_filename);
init_repo (input_filename); init_repo (input_filename);
......
/* Implement classes and message passing for Objective C. /* Implement classes and message passing for Objective C.
Copyright (C) 1992, 1993, 1994, 1995, 1997, 1998, Copyright (C) 1992, 1993, 1994, 1995, 1997, 1998,
1999, 2000 Free Software Foundation, Inc. 1999, 2000, 2001 Free Software Foundation, Inc.
Contributed by Steve Naroff. Contributed by Steve Naroff.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -704,6 +704,8 @@ lang_init () ...@@ -704,6 +704,8 @@ lang_init ()
not to be built in. */ not to be built in. */
lineno = 0; lineno = 0;
c_common_lang_init ();
/* If gen_declaration desired, open the output file. */ /* If gen_declaration desired, open the output file. */
if (flag_gen_declaration) if (flag_gen_declaration)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment