This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] add "opt" parameter to warning()


As discussed, this is the first step in allowing more precise control
over warning messages.  This is a 99% mechanical patch to adjust all
callers of warning() to pass a 0 as the first parameter.  Also, a
warning0() function has been added for when a function pointer
compatible with pedwarn() and error() is needed (a simple grep for
warning0 thus shows where improvements are possible).  This is a
minimum patch - there are opportunities for more places where zero can
be passed (ex: the GCC_BAD macros) but I wanted to get a majority of
it out of the way with the shortest patch.

2004-07-23  DJ Delorie  <dj@redhat.com>

	* diagnostic.c (warning): Accept parameter to classify warning option.
	(warning0): New, for when a pointer to an error() like function is needed.
	* errors.c (warning): Likewise.
	* errors.h (warning, warning0): Adjust prototypes.
	* toplev.h (warning, warning0): Likewise.

	* attribs.c, builtins.c, c-common.c, c-decl.c, c-format.c,
	c-gimplify.c, c-lex.c, c-objc-common.c, c-opts.c, c-parse.in,
	c-pragma.c, c-typeck.c, calls.c, cgraph.c, config/alpha/alpha.c,
	config/arc/arc.c, config/arm/arm.c, config/avr/avr.c,
	config/c4x/c4x-c.c, config/c4x/c4x.c, config/cris/cris.c,
	config/darwin-c.c, config/darwin.c, config/h8300/h8300.c,
	config/i386/cygming.h, config/i386/djgpp.h, config/i386/i386.c,
	config/i386/winnt.c, config/ia64/ia64-c.c, config/ia64/ia64.c,
	config/ip2k/ip2k.c, config/lynx-ng.h, config/lynx.h,
	config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c,
	config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c,
	config/ns32k/ns32k.c, config/pa/pa.c, config/rs6000/aix43.h,
	config/rs6000/aix51.h, config/rs6000/aix52.h,
	config/rs6000/darwin.h, config/rs6000/lynx.h,
	config/rs6000/rs6000-c.c, config/rs6000/rs6000.c, config/sh/sh.c,
	config/sh/sh.h, config/sh/symbian.c, config/stormy16/stormy16.c,
	config/v850/v850-c.c, config/v850/v850.c, config/xtensa/xtensa.c,
	coverage.c, emit-rtl.c, fold-const.c, function.c, gcse.c,
	genautomata.c, haifa-sched.c, opts.c, passes.c, regclass.c,
	reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
	tree-dump.c, tree-inline.c, tree-mudflap.c, tree-optimize.c,
	tree-ssa.c, varasm.c: Adjust callers.
	
	* ada/misc.c: Adjust warning() callers.
	
	* cp/call.c, cp/class.c, cp/cp-tree.h, cp/cvt.c, cp/decl.c,
	cp/decl2.c, cp/except.c, cp/friend.c, cp/init.c, cp/lex.c,
	cp/mangle.c, cp/name-lookup.c, cp/parser.c, cp/repo.c, cp/rtti.c,
	cp/tree.c, cp/typeck.c, cp/typeck2.c: Adjust warning() callers.
	
	* fortran/trans-decl.c: Adjust warning() callers.
	
	* java/class.c, java/decl.c, java/expr.c, java/jcf-io.c,
	java/jcf-parse.c, java/parse.y): Adjust warning() callers.
	
	* objc/objc-act.c: Adjust warning() callers.

Index: attribs.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/attribs.c,v
retrieving revision 1.31
diff -p -U1 -r1.31  attribs.c
--- attribs.c	2 Jun 2004 02:09:44 -0000	1.31
+++ attribs.c	23 Jul 2004 22:39:10 -0000
@@ -176,3 +176,3 @@ decl_attributes (tree *node, tree attrib
 	{
-	  warning ("`%s' attribute directive ignored",
+	  warning (0, "`%s' attribute directive ignored",
 		   IDENTIFIER_POINTER (name));
@@ -201,3 +201,3 @@ decl_attributes (tree *node, tree attrib
 	    {
-	      warning ("`%s' attribute does not apply to types",
+	      warning (0, "`%s' attribute does not apply to types",
 		       IDENTIFIER_POINTER (name));
@@ -247,3 +247,3 @@ decl_attributes (tree *node, tree attrib
 	    {
-	      warning ("`%s' attribute only applies to function types",
+	      warning (0, "`%s' attribute only applies to function types",
 		       IDENTIFIER_POINTER (name));
@@ -433,3 +433,3 @@ strip_attrs (tree specs_attrs)
     {
-      warning ("`%s' attribute ignored",
+      warning (0, "`%s' attribute ignored",
 	       IDENTIFIER_POINTER (TREE_PURPOSE (attrs)));
Index: builtins.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/builtins.c,v
retrieving revision 1.369
diff -p -U1 -r1.369  builtins.c
--- builtins.c	21 Jul 2004 19:22:59 -0000	1.369
+++ builtins.c	23 Jul 2004 22:39:10 -0000
@@ -334,3 +334,3 @@ c_strlen (tree src, int only_value)
     {
-      warning ("offset outside bounds of constant string");
+      warning (0, "offset outside bounds of constant string");
       return 0;
@@ -926,3 +926,3 @@ expand_builtin_prefetch (tree arglist)
     {
-      warning ("invalid second arg to __builtin_prefetch; using zero");
+      warning (0, "invalid second arg to __builtin_prefetch; using zero");
       op1 = const0_rtx;
@@ -940,3 +940,3 @@ expand_builtin_prefetch (tree arglist)
     {
-      warning ("invalid third arg to __builtin_prefetch; using zero");
+      warning (0, "invalid third arg to __builtin_prefetch; using zero");
       op2 = const0_rtx;
@@ -4179,3 +4179,3 @@ expand_builtin_next_arg (tree arglist)
       if (arg != last_parm)
-	warning ("second parameter of `va_start' not last named argument");
+	warning (0, "second parameter of `va_start' not last named argument");
     }
@@ -4184,3 +4184,3 @@ expand_builtin_next_arg (tree arglist)
        va_start's second argument, but can still work as intended.  */
-    warning ("`__builtin_next_arg' called without an argument");
+    warning (0, "`__builtin_next_arg' called without an argument");
 
@@ -4416,3 +4416,3 @@ gimplify_va_arg_expr (tree *expr_p, tree
 	 executed, the program is still strictly conforming.  */
-      warning ("`%T' is promoted to `%T' when passed through `...'",
+      warning (0, "`%T' is promoted to `%T' when passed through `...'",
 	       type, promoted_type);
@@ -4421,3 +4421,3 @@ gimplify_va_arg_expr (tree *expr_p, tree
 	  gave_help = true;
-	  warning ("(so you should pass `%T' not `%T' to `va_arg')",
+	  warning (0, "(so you should pass `%T' not `%T' to `va_arg')",
 		   promoted_type, type);
@@ -4561,5 +4561,5 @@ expand_builtin_frame_address (tree fndec
 	  if (DECL_FUNCTION_CODE (fndecl) == BUILT_IN_FRAME_ADDRESS)
-	    warning ("unsupported arg to `__builtin_frame_address'");
+	    warning (0, "unsupported arg to `__builtin_frame_address'");
 	  else
-	    warning ("unsupported arg to `__builtin_return_address'");
+	    warning (0, "unsupported arg to `__builtin_return_address'");
 	  return const0_rtx;
@@ -6290,3 +6290,3 @@ fold_builtin_inf (tree type, int warn)
   if (!MODE_HAS_INFINITIES (TYPE_MODE (type)) && warn)
-    warning ("target format does not support infinity");
+    warning (0, "target format does not support infinity");
 
@@ -9206,3 +9206,3 @@ simplify_builtin_next_arg (tree arglist)
       if (arg != last_parm)
-	warning ("second parameter of `va_start' not last named argument");
+	warning (0, "second parameter of `va_start' not last named argument");
       TREE_VALUE (arglist) = arg;
@@ -9212,3 +9212,3 @@ simplify_builtin_next_arg (tree arglist)
        va_start's second argument, but can still work as intended.  */
-    warning ("`__builtin_next_arg' called without an argument");
+    warning (0, "`__builtin_next_arg' called without an argument");
 }
Index: c-common.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/c-common.c,v
retrieving revision 1.535
diff -p -U1 -r1.535  c-common.c
--- c-common.c	22 Jul 2004 08:20:34 -0000	1.535
+++ c-common.c	23 Jul 2004 22:39:11 -0000
@@ -904,3 +904,3 @@ overflow_warning (tree value)
       if (skip_evaluation == 0)
-	warning ("integer overflow in expression");
+	warning (0, "integer overflow in expression");
     }
@@ -913,3 +913,3 @@ overflow_warning (tree value)
       if (skip_evaluation == 0)
-	warning ("floating point overflow in expression");
+	warning (0, "floating point overflow in expression");
     }
@@ -919,3 +919,3 @@ overflow_warning (tree value)
       if (skip_evaluation == 0)
-	warning ("vector overflow in expression");
+	warning (0, "vector overflow in expression");
     }
@@ -941,5 +941,5 @@ unsigned_conversion_warning (tree result
 	/* This detects cases like converting -129 or 256 to unsigned char.  */
-	warning ("large integer implicitly truncated to unsigned type");
+	warning (0, "large integer implicitly truncated to unsigned type");
       else if (warn_conversion)
-	warning ("negative integer implicitly converted to unsigned type");
+	warning (0, "negative integer implicitly converted to unsigned type");
     }
@@ -1001,3 +1001,3 @@ convert_and_check (tree type, tree expr)
 		&& skip_evaluation == 0)
-	      warning ("overflow in implicit constant conversion");
+	      warning (0, "overflow in implicit constant conversion");
 	}
@@ -1137,3 +1137,3 @@ warn_for_collisions_1 (tree written, tre
 	  warned_ids = new_tlist (warned_ids, written, NULL_TREE);
-	  warning ("operation on `%s' may be undefined",
+	  warning (0, "operation on `%s' may be undefined",
 		   IDENTIFIER_POINTER (DECL_NAME (list->expr)));
@@ -1473,3 +1473,3 @@ check_case_bounds (tree type, tree orig_
     {
-      warning ("case label value is less than minimum value for type");
+      warning (0, "case label value is less than minimum value for type");
       return false;
@@ -1481,3 +1481,3 @@ check_case_bounds (tree type, tree orig_
     {
-      warning ("case label value exceeds maximum value for type");
+      warning (0, "case label value exceeds maximum value for type");
       return false;
@@ -1489,3 +1489,3 @@ check_case_bounds (tree type, tree orig_
     {
-      warning ("lower value in case label range"
+      warning (0, "lower value in case label range"
 	       " less than minimum value for type");
@@ -1498,3 +1498,3 @@ check_case_bounds (tree type, tree orig_
     {
-      warning ("upper value in case label range"
+      warning (0, "upper value in case label range"
 	       " exceeds maximum value for type");
@@ -2104,5 +2104,5 @@ shorten_compare (tree *op0_ptr, tree *op
 	  if (val == truthvalue_false_node)
-	    warning ("comparison is always false due to limited range of data type");
+	    warning (0, "comparison is always false due to limited range of data type");
 	  if (val == truthvalue_true_node)
-	    warning ("comparison is always true due to limited range of data type");
+	    warning (0, "comparison is always true due to limited range of data type");
 	}
@@ -2176,3 +2176,3 @@ shorten_compare (tree *op0_ptr, tree *op
 						     primop0))))
-		warning ("comparison of unsigned expression >= 0 is always true");
+		warning (0, "comparison of unsigned expression >= 0 is always true");
 	      value = truthvalue_true_node;
@@ -2185,3 +2185,3 @@ shorten_compare (tree *op0_ptr, tree *op
 						     primop0))))
-		warning ("comparison of unsigned expression < 0 is always false");
+		warning (0, "comparison of unsigned expression < 0 is always false");
 	      value = truthvalue_false_node;
@@ -2347,3 +2347,3 @@ c_common_truthvalue_conversion (tree exp
 	       about this since it is so bad.  */
-	    warning ("the address of `%D', will always evaluate as `true'",
+	    warning (0, "the address of `%D', will always evaluate as `true'",
 		     TREE_OPERAND (expr, 0));
@@ -2441,3 +2441,3 @@ c_common_truthvalue_conversion (tree exp
       if (warn_parentheses && !TREE_NO_WARNING (expr))
-	warning ("suggest parentheses around assignment used as truth value");
+	warning (0, "suggest parentheses around assignment used as truth value");
       break;
@@ -3526,3 +3526,3 @@ c_add_case_label (splay_tree cases, tree
       && !tree_int_cst_lt (low_value, high_value))
-    warning ("empty range specified");
+    warning (0, "empty range specified");
 
@@ -3645,6 +3645,6 @@ match_case_to_enum_1 (tree key, tree typ
   if (TYPE_NAME (type) == 0)
-    warning ("%Jcase value `%s' not in enumerated type",
+    warning (0, "%Jcase value `%s' not in enumerated type",
 	     CASE_LABEL (label), buf);
   else
-    warning ("%Jcase value `%s' not in enumerated type `%T'",
+    warning (0, "%Jcase value `%s' not in enumerated type `%T'",
 	     CASE_LABEL (label), buf, type);
@@ -3715,3 +3715,3 @@ c_do_switch_warnings (splay_tree cases, 
   if (warn_switch_default && !default_node)
-    warning ("%Hswitch missing default case", &switch_location);
+    warning (0, "%Hswitch missing default case", &switch_location);
 
@@ -3749,3 +3749,3 @@ c_do_switch_warnings (splay_tree cases, 
 		 case expressions.  */
-	      warning ("%Henumeration value `%E' not handled in switch",
+	      warning (0, "%Henumeration value `%E' not handled in switch",
 		       &switch_location, TREE_PURPOSE (chain));
@@ -3957,3 +3957,3 @@ handle_packed_attribute (tree *node, tre
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -3976,3 +3976,3 @@ handle_nocommon_attribute (tree *node, t
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -3994,3 +3994,3 @@ handle_common_attribute (tree *node, tre
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -4021,3 +4021,3 @@ handle_noreturn_attribute (tree *node, t
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -4040,3 +4040,3 @@ handle_noinline_attribute (tree *node, t
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -4063,3 +4063,3 @@ handle_always_inline_attribute (tree *no
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -4086,3 +4086,3 @@ handle_used_attribute (tree *pnode, tree
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -4112,3 +4112,3 @@ handle_unused_attribute (tree *node, tre
 	{
-	  warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+	  warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
 	  *no_add_attrs = true;
@@ -4146,3 +4146,3 @@ handle_const_attribute (tree *node, tree
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -4190,3 +4190,3 @@ handle_transparent_union_attribute (tree
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -4218,3 +4218,3 @@ handle_constructor_attribute (tree *node
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -4246,3 +4246,3 @@ handle_destructor_attribute (tree *node,
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -4265,3 +4265,3 @@ handle_mode_attribute (tree *node, tree 
   if (TREE_CODE (TREE_VALUE (args)) != IDENTIFIER_NODE)
-    warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+    warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
   else
@@ -4306,5 +4306,5 @@ handle_mode_attribute (tree *node, tree 
 	{
-	  warning ("specifying vector types with __attribute__ ((mode)) "
+	  warning (0, "specifying vector types with __attribute__ ((mode)) "
 		   "is deprecated");
-	  warning ("use __attribute__ ((vector_size)) instead");
+	  warning (0, "use __attribute__ ((vector_size)) instead");
 	}
@@ -4541,3 +4541,3 @@ handle_alias_attribute (tree *node, tree
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -4563,3 +4563,3 @@ handle_visibility_attribute (tree *node,
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       return NULL_TREE;
@@ -4598,3 +4598,3 @@ handle_tls_model_attribute (tree *node, 
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -4665,3 +4665,3 @@ handle_malloc_attribute (tree *node, tre
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -4711,3 +4711,3 @@ handle_pure_attribute (tree *node, tree 
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -4766,6 +4766,6 @@ handle_deprecated_attribute (tree *node,
       if (what)
-	warning ("`%s' attribute ignored for `%s'",
+	warning (0, "`%s' attribute ignored for `%s'",
 		  IDENTIFIER_POINTER (name), what);
       else
-	warning ("`%s' attribute ignored",
+	warning (0, "`%s' attribute ignored",
 		      IDENTIFIER_POINTER (name));
@@ -4798,3 +4798,3 @@ handle_vector_size_attribute (tree *node
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       return NULL_TREE;
@@ -4986,3 +4986,3 @@ check_nonnull_arg (void *ctx ATTRIBUTE_U
   if (integer_zerop (param))
-    warning ("null argument where non-null required (arg %lu)",
+    warning (0, "null argument where non-null required (arg %lu)",
 	     (unsigned long) param_num);
@@ -5023,3 +5023,3 @@ handle_nothrow_attribute (tree *node, tr
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -5046,3 +5046,3 @@ handle_cleanup_attribute (tree *node, tr
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -5085,3 +5085,3 @@ handle_warn_unused_result_attribute (tre
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -5344,3 +5344,3 @@ c_warn_unused_result (tree *top_p)
 	  if (fdecl)
-	    warning ("%Hignoring return value of `%D', "
+	    warning (0, "%Hignoring return value of `%D', "
 		     "declared with attribute warn_unused_result",
@@ -5348,3 +5348,3 @@ c_warn_unused_result (tree *top_p)
 	  else
-	    warning ("%Hignoring return value of function "
+	    warning (0, "%Hignoring return value of function "
 		     "declared with attribute warn_unused_result",
Index: c-decl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/c-decl.c,v
retrieving revision 1.536
diff -p -U1 -r1.536  c-decl.c
--- c-decl.c	23 Jul 2004 19:22:08 -0000	1.536
+++ c-decl.c	23 Jul 2004 22:39:12 -0000
@@ -503,3 +503,3 @@ c_finish_incomplete_decl (tree decl)
 	{
-	  warning ("%Jarray '%D' assumed to have one element", decl, decl);
+	  warning (0, "%Jarray '%D' assumed to have one element", decl, decl);
 
@@ -706,5 +706,5 @@ pop_scope (void)
 	      if (DECL_INITIAL (p))
-		warning ("%Jlabel `%D' defined but not used", p, p);
+		warning (0, "%Jlabel `%D' defined but not used", p, p);
 	      else
-		warning ("%Jlabel `%D' declared but not defined", p, p);
+		warning (0, "%Jlabel `%D' declared but not defined", p, p);
 	    }
@@ -758,3 +758,3 @@ pop_scope (void)
 	      && scope != external_scope)
-	    warning ("%Junused variable `%D'", p, p);
+	    warning (0, "%Junused variable `%D'", p, p);
 
@@ -1058,3 +1058,3 @@ validate_proto_after_old_defn (tree newd
      for this poor-style construct.  */
-  warning ("%Jprototype for '%D' follows non-prototype definition",
+  warning (0, "%Jprototype for '%D' follows non-prototype definition",
 	   newdecl, newdecl);
@@ -1118,6 +1118,6 @@ diagnose_mismatched_decls (tree newdecl,
       else if (TREE_PUBLIC (newdecl))
-	warning ("%Jbuilt-in function '%D' declared as non-function",
+	warning (0, "%Jbuilt-in function '%D' declared as non-function",
 		 newdecl, newdecl);
       else if (warn_shadow)
-	warning ("%Jdeclaration of '%D' shadows a built-in function",
+	warning (0, "%Jdeclaration of '%D' shadows a built-in function",
 		 newdecl, newdecl);
@@ -1142,3 +1142,3 @@ diagnose_mismatched_decls (tree newdecl,
 		 won't print anything.  */
-	      warning ("%Jconflicting types for built-in function '%D'",
+	      warning (0, "%Jconflicting types for built-in function '%D'",
 		       newdecl, newdecl);
@@ -1216,3 +1216,3 @@ diagnose_mismatched_decls (tree newdecl,
 	  if (warn_shadow)
-	    warning ("%Jdeclaration of '%D' shadows a built-in function",
+	    warning (0, "%Jdeclaration of '%D' shadows a built-in function",
 		     newdecl, newdecl);
@@ -1283,3 +1283,3 @@ diagnose_mismatched_decls (tree newdecl,
 	    {
-	      warning ("%Jnon-static declaration of '%D' follows "
+	      warning (0, "%Jnon-static declaration of '%D' follows "
 		       "static declaration", newdecl, newdecl);
@@ -1329,3 +1329,3 @@ diagnose_mismatched_decls (tree newdecl,
 		{
-		  warning ("%Jnon-static declaration of '%D' follows "
+		  warning (0, "%Jnon-static declaration of '%D' follows "
 			   "static declaration", newdecl, newdecl);
@@ -1374,3 +1374,3 @@ diagnose_mismatched_decls (tree newdecl,
     {
-      warning ("%Jredeclaration of '%D' with different visibility "
+      warning (0, "%Jredeclaration of '%D' with different visibility "
 	       "(old visibility preserved)", newdecl, newdecl);
@@ -1385,3 +1385,3 @@ diagnose_mismatched_decls (tree newdecl,
 	{
-	  warning ("%Jinline declaration of '%D' follows "
+	  warning (0, "%Jinline declaration of '%D' follows "
 		   "declaration with attribute noinline", newdecl, newdecl);
@@ -1392,3 +1392,3 @@ diagnose_mismatched_decls (tree newdecl,
 	{
-	  warning ("%Jdeclaration of '%D' with attribute noinline follows "
+	  warning (0, "%Jdeclaration of '%D' with attribute noinline follows "
 		   "inline declaration ", newdecl, newdecl);
@@ -1407,3 +1407,3 @@ diagnose_mismatched_decls (tree newdecl,
 	    {
-	      warning ("%J'%D' declared inline after being called",
+	      warning (0, "%J'%D' declared inline after being called",
 		       olddecl, olddecl);
@@ -1413,3 +1413,3 @@ diagnose_mismatched_decls (tree newdecl,
 	    {
-	      warning ("%J'%D' declared inline after its definition",
+	      warning (0, "%J'%D' declared inline after its definition",
 		       olddecl, olddecl);
@@ -1452,3 +1452,3 @@ diagnose_mismatched_decls (tree newdecl,
     {
-      warning ("%Jredundant redeclaration of '%D'", newdecl, newdecl);
+      warning (0, "%Jredundant redeclaration of '%D'", newdecl, newdecl);
       warned = true;
@@ -1458,3 +1458,3 @@ diagnose_mismatched_decls (tree newdecl,
   if (warned || pedwarned)
-    locate_old_decl (olddecl, pedwarned ? pedwarn : warning);
+    locate_old_decl (olddecl, pedwarned ? pedwarn : warning0);
 
@@ -1755,14 +1755,14 @@ warn_if_shadowing (tree new)
 	if (TREE_CODE (old) == PARM_DECL)
-	  warning ("%Jdeclaration of '%D' shadows a parameter", new, new);
+	  warning (0, "%Jdeclaration of '%D' shadows a parameter", new, new);
 	else if (DECL_FILE_SCOPE_P (old))
-	  warning ("%Jdeclaration of '%D' shadows a global declaration",
+	  warning (0, "%Jdeclaration of '%D' shadows a global declaration",
 		   new, new);
 	else if (TREE_CODE (old) == FUNCTION_DECL && DECL_BUILT_IN (old))
-	  warning ("%Jdeclaration of '%D' shadows a built-in function",
+	  warning (0, "%Jdeclaration of '%D' shadows a built-in function",
 		   new, new);
 	else
-	  warning ("%Jdeclaration of '%D' shadows a previous local", new, new);
+	  warning (0, "%Jdeclaration of '%D' shadows a previous local", new, new);
 
 	if (TREE_CODE (old) != FUNCTION_DECL || !DECL_BUILT_IN (old))
-	  warning ("%Jshadowed declaration is here", old);
+	  warning (0, "%Jshadowed declaration is here", old);
 
@@ -1905,3 +1905,3 @@ pushdecl (tree x)
 	  && !DECL_IN_SYSTEM_HEADER (x))
-	warning ("nested extern declaration of '%D'", x);
+	warning (0, "nested extern declaration of '%D'", x);
 
@@ -1935,3 +1935,3 @@ pushdecl (tree x)
       if (warn_nested_externs && !DECL_IN_SYSTEM_HEADER (x))
-	warning ("nested static declaration of '%D'", x);
+	warning (0, "nested static declaration of '%D'", x);
 
@@ -2027,3 +2027,3 @@ implicit_decl_warning (tree id, tree old
     case 0: return;
-    case 1: diag = warning; break;
+    case 1: diag = warning0; break;
     case 2: diag = error;   break;
@@ -2260,3 +2260,3 @@ define_label (location_t location, tree 
   if (warn_traditional && !in_system_header && lookup_name (name))
-    warning ("%Htraditional C lacks a separate namespace for labels, "
+    warning (0, "%Htraditional C lacks a separate namespace for labels, "
              "identifier `%s' conflicts", &location,
@@ -2577,3 +2577,3 @@ shadow_tag_warned (tree declspecs, int w
 	    {
-	      warning ("useless keyword or type name in empty declaration");
+	      warning (0, "useless keyword or type name in empty declaration");
 	      warned = 2;
@@ -2620,3 +2620,3 @@ build_array_declarator (tree expr, tree 
   if (vla_unspec_p)
-    warning ("GCC does not yet properly implement `[*]' array declarators");
+    warning (0, "GCC does not yet properly implement `[*]' array declarators");
   return decl;
@@ -2706,3 +2706,3 @@ start_decl (tree declarator, tree declsp
       && MAIN_NAME_P (DECL_NAME (decl)))
-    warning ("%J'%D' is usually a function", decl, decl);
+    warning (0, "%J'%D' is usually a function", decl, decl);
 
@@ -2824,3 +2824,3 @@ start_decl (tree declarator, tree declsp
       && lookup_attribute ("noinline", DECL_ATTRIBUTES (decl)))
-    warning ("%Jinline function '%D' given attribute noinline", decl, decl);
+    warning (0, "%Jinline function '%D' given attribute noinline", decl, decl);
 
@@ -3027,3 +3027,3 @@ finish_decl (tree decl, tree init, tree 
 		  && !TREE_STATIC (decl))
-		warning ("%Jignoring asm-specifier for non-static local "
+		warning (0, "%Jignoring asm-specifier for non-static local "
                          "variable '%D'", decl, decl);
@@ -3377,3 +3377,3 @@ check_bitfield_type_and_width (tree *typ
 	  || w < min_precision (lt->enum_max, TYPE_UNSIGNED (*type)))
-	warning ("`%s' is narrower than values of its type", name);
+	warning (0, "`%s' is narrower than values of its type", name);
     }
@@ -3882,3 +3882,3 @@ grokdeclarator (tree declarator, tree de
 	if (current_scope == file_scope)
-	  warning ("`%s' initialized and declared `extern'", name);
+	  warning (0, "`%s' initialized and declared `extern'", name);
 	else
@@ -4176,3 +4176,3 @@ grokdeclarator (tree declarator, tree de
 	      else if (warn_return_type)
-		warning ("type qualifiers ignored on function return type");
+		warning (0, "type qualifiers ignored on function return type");
 
@@ -4379,3 +4379,3 @@ grokdeclarator (tree declarator, tree de
 		if (new_ptr_attrs != NULL_TREE)
-		  warning ("attributes in parameter array declarator ignored");
+		  warning (0, "attributes in parameter array declarator ignored");
 
@@ -4499,3 +4499,3 @@ grokdeclarator (tree declarator, tree de
 	    && !VOID_TYPE_P (TREE_TYPE (TREE_TYPE (decl))))
-	  warning ("`noreturn' function returns non-void value");
+	  warning (0, "`noreturn' function returns non-void value");
 
@@ -4528,3 +4528,3 @@ grokdeclarator (tree declarator, tree de
 	    if (inlinep)
-	      warning ("cannot inline function `main'");
+	      warning (0, "cannot inline function `main'");
 	  }
@@ -4687,3 +4687,3 @@ grokparms (tree arg_info, int funcdef_fl
       && !in_system_header)
-    warning ("function declaration isn't a prototype");
+    warning (0, "function declaration isn't a prototype");
 
@@ -4736,6 +4736,6 @@ grokparms (tree arg_info, int funcdef_fl
 		  if (DECL_NAME (parm))
-		    warning ("%Jparameter %u ('%D') has incomplete type",
+		    warning (0, "%Jparameter %u ('%D') has incomplete type",
 			     parm, parmno, parm);
 		  else
-		    warning ("%Jparameter %u has incomplete type",
+		    warning (0, "%Jparameter %u has incomplete type",
 			     parm, parmno);
@@ -4882,3 +4882,3 @@ get_parm_info (bool ellipsis)
 		/* The %s will be one of 'struct', 'union', or 'enum'.  */
-		warning ("'%s %E' declared inside parameter list",
+		warning (0, "'%s %E' declared inside parameter list",
 			 keyword, b->id);
@@ -4886,3 +4886,3 @@ get_parm_info (bool ellipsis)
 		/* The %s will be one of 'struct', 'union', or 'enum'.  */
-		warning ("anonymous %s declared inside parameter list",
+		warning (0, "anonymous %s declared inside parameter list",
 			 keyword);
@@ -4891,3 +4891,3 @@ get_parm_info (bool ellipsis)
 		{
-		  warning ("its scope is only this definition or declaration,"
+		  warning (0, "its scope is only this definition or declaration,"
 			   " which is probably not what you want");
@@ -5077,3 +5077,3 @@ grokfield (tree declarator, tree declspe
 	warn_unnamed_field:
-	  warning ("declaration does not declare anything");
+	  warning (0, "declaration does not declare anything");
 	  return NULL_TREE;
@@ -5356,3 +5356,3 @@ finish_struct (tree t, tree fieldlist, t
       TYPE_TRANSPARENT_UNION (t) = 0;
-      warning ("union cannot be made transparent");
+      warning (0, "union cannot be made transparent");
     }
@@ -5487,3 +5487,3 @@ finish_enum (tree enumtype, tree values,
 	{
-	  warning ("enumeration values exceed range of largest integer");
+	  warning (0, "enumeration values exceed range of largest integer");
 	  tem = long_long_integer_type_node;
@@ -5684,3 +5684,3 @@ start_function (tree declspecs, tree dec
       && lookup_attribute ("noinline", DECL_ATTRIBUTES (decl1)))
-    warning ("%Jinline function '%D' given attribute noinline", decl1, decl1);
+    warning (0, "%Jinline function '%D' given attribute noinline", decl1, decl1);
 
@@ -5723,3 +5723,3 @@ start_function (tree declspecs, tree dec
       && C_DECL_ISNT_PROTOTYPE (old_decl))
-    warning ("function declaration isn't a prototype");
+    warning (0, "function declaration isn't a prototype");
   /* Optionally warn of any global def with no previous prototype.  */
@@ -5729,3 +5729,3 @@ start_function (tree declspecs, tree dec
 	   && C_DECL_ISNT_PROTOTYPE (old_decl))
-    warning ("%Jno previous prototype for '%D'", decl1, decl1);
+    warning (0, "%Jno previous prototype for '%D'", decl1, decl1);
   /* Optionally warn of any def with no previous prototype
@@ -5735,3 +5735,3 @@ start_function (tree declspecs, tree dec
 	   && TYPE_ARG_TYPES (TREE_TYPE (old_decl)) == 0)
-    warning ("%J'%D' was used with no prototype before its definition",
+    warning (0, "%J'%D' was used with no prototype before its definition",
 	     decl1, decl1);
@@ -5742,3 +5742,3 @@ start_function (tree declspecs, tree dec
 	   && ! MAIN_NAME_P (DECL_NAME (decl1)))
-    warning ("%Jno previous declaration for '%D'", decl1, decl1);
+    warning (0, "%Jno previous declaration for '%D'", decl1, decl1);
   /* Optionally warn of any def with no previous declaration
@@ -5748,3 +5748,3 @@ start_function (tree declspecs, tree dec
 	   && C_DECL_IMPLICIT (old_decl))
-    warning ("%J`%D' was used with no declaration before its definition",
+    warning (0, "%J`%D' was used with no declaration before its definition",
 	     decl1, decl1);
@@ -5889,3 +5889,3 @@ store_parm_decls_newstyle (tree fndecl, 
 	   && ARG_INFO_TYPES (arg_info) != error_mark_node)
-    warning ("%Jtraditional C rejects ISO C style function definitions",
+    warning (0, "%Jtraditional C rejects ISO C style function definitions",
 	     fndecl);
@@ -5942,3 +5942,3 @@ store_parm_decls_oldstyle (tree fndecl, 
   if (warn_old_style_definition && !in_system_header)
-    warning ("%Jold-style function definition", fndecl);
+    warning (0, "%Jold-style function definition", fndecl);
 
@@ -5991,3 +5991,3 @@ store_parm_decls_oldstyle (tree fndecl, 
 	  else if (extra_warnings)
-	    warning ("%Jtype of '%D' defaults to 'int'", decl, decl);
+	    warning (0, "%Jtype of '%D' defaults to 'int'", decl, decl);
 	}
@@ -6297,3 +6297,3 @@ finish_function (void)
       && DECL_INLINE (fndecl))
-    warning ("no return statement in function returning non-void");
+    warning (0, "no return statement in function returning non-void");
 
@@ -6304,3 +6304,3 @@ finish_function (void)
       && current_function_returns_null)
-    warning ("this function may return with or without a value");
+    warning (0, "this function may return with or without a value");
 
Index: c-format.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/c-format.c,v
retrieving revision 1.60
diff -p -U1 -r1.60  c-format.c
--- c-format.c	19 Jul 2004 14:47:53 -0000	1.60
+++ c-format.c	23 Jul 2004 22:39:12 -0000
@@ -204,3 +204,3 @@ decode_format_attr (tree args, function_
 	    abort ();
-	  warning ("%qs is an unrecognized format function type", p);
+	  warning (0, "%qs is an unrecognized format function type", p);
 	  return false;
@@ -843,3 +843,3 @@ check_function_format (tree attrs, tree 
 		  if (args != 0)
-		    warning ("function might be possible candidate for %qs format attribute",
+		    warning (0, "function might be possible candidate for %qs format attribute",
 			     format_types[info.format_type].name);
@@ -934,3 +934,3 @@ maybe_read_dollar_number (const char **f
 	{
-	  warning ("missing $ operand number in format");
+	  warning (0, "missing $ operand number in format");
 	  return -1;
@@ -955,3 +955,3 @@ maybe_read_dollar_number (const char **f
 	{
-	  warning ("missing $ operand number in format");
+	  warning (0, "missing $ operand number in format");
 	  return -1;
@@ -964,3 +964,3 @@ maybe_read_dollar_number (const char **f
     {
-      warning ("%s does not support %%n$ operand number formats",
+      warning (0, "%s does not support %%n$ operand number formats",
 	       C_STD_NAME (STD_EXT));
@@ -971,3 +971,3 @@ maybe_read_dollar_number (const char **f
     {
-      warning ("operand number out of range in format");
+      warning (0, "operand number out of range in format");
       return -1;
@@ -993,3 +993,3 @@ maybe_read_dollar_number (const char **f
       dollar_arguments_used[argnum - 1] = 2;
-      warning ("format argument %d used more than once in %s format",
+      warning (0, "format argument %d used more than once in %s format",
 	       argnum, fki->name);
@@ -1028,3 +1028,3 @@ avoid_dollar_number (const char *format)
     {
-      warning ("$ operand number used after format without operand number");
+      warning (0, "$ operand number used after format without operand number");
       return true;
@@ -1058,3 +1058,3 @@ finish_dollar_format_checking (format_ch
 	  else
-	    warning ("format argument %d unused before used argument %d in $-style format",
+	    warning (0, "format argument %d unused before used argument %d in $-style format",
 		     i + 1, dollar_max_arg_used);
@@ -1155,3 +1155,3 @@ check_format_info (function_format_info 
 	  if (warn_format_nonliteral)
-	    warning ("format not a string literal, format string not checked");
+	    warning (0, "format not a string literal, format string not checked");
 	}
@@ -1169,5 +1169,5 @@ check_format_info (function_format_info 
 	  if (params == 0 && (warn_format_nonliteral || warn_format_security))
-	    warning ("format not a string literal and no format arguments");
+	    warning (0, "format not a string literal and no format arguments");
 	  else if (warn_format_nonliteral)
-	    warning ("format not a string literal, argument types not checked");
+	    warning (0, "format not a string literal, argument types not checked");
 	}
@@ -1184,9 +1184,9 @@ check_format_info (function_format_info 
       && res.number_other == 0 && warn_format_extra_args)
-    warning ("too many arguments for format");
+    warning (0, "too many arguments for format");
   if (res.number_dollar_extra_args > 0 && res.number_non_literal == 0
       && res.number_other == 0 && warn_format_extra_args)
-    warning ("unused arguments in $-style format");
+    warning (0, "unused arguments in $-style format");
   if (res.number_empty > 0 && res.number_non_literal == 0
       && res.number_other == 0 && warn_format_zero_length)
-    warning ("zero-length %s format string",
+    warning (0, "zero-length %s format string",
 	     format_types[info->format_type].name);
@@ -1194,6 +1194,6 @@ check_format_info (function_format_info 
   if (res.number_wide > 0)
-    warning ("format is a wide character string");
+    warning (0, "format is a wide character string");
 
   if (res.number_unterminated > 0)
-    warning ("unterminated format string");
+    warning (0, "unterminated format string");
 }
@@ -1407,3 +1407,3 @@ check_format_info_main (format_check_res
 	  if (format_chars - orig_format_chars != format_length)
-	    warning ("embedded %<\\0%> in format");
+	    warning (0, "embedded %<\\0%> in format");
 	  if (info->first_arg_num != 0 && params != 0
@@ -1422,3 +1422,3 @@ check_format_info_main (format_check_res
 	{
-	  warning ("spurious trailing %<%%%> in format");
+	  warning (0, "spurious trailing %<%%%> in format");
 	  continue;
@@ -1466,3 +1466,3 @@ check_format_info_main (format_check_res
 	    {
-	      warning ("repeated %s in format", _(s->name));
+	      warning (0, "repeated %s in format", _(s->name));
 	    }
@@ -1479,3 +1479,3 @@ check_format_info_main (format_check_res
 		{
-		  warning ("missing fill character at end of strfmon format");
+		  warning (0, "missing fill character at end of strfmon format");
 		  return;
@@ -1523,3 +1523,3 @@ check_format_info_main (format_check_res
 		    {
-		      warning ("too few arguments for format");
+		      warning (0, "too few arguments for format");
 		      return;
@@ -1564,3 +1564,3 @@ check_format_info_main (format_check_res
 		  (fki->flags & (int) FMT_FLAG_ZERO_WIDTH_BAD))
-		warning ("zero width in %s format", fki->name);
+		warning (0, "zero width in %s format", fki->name);
 	      if (found_width)
@@ -1582,3 +1582,3 @@ check_format_info_main (format_check_res
 	  if (!ISDIGIT (*format_chars))
-	    warning ("empty left precision in %s format", fki->name);
+	    warning (0, "empty left precision in %s format", fki->name);
 	  while (ISDIGIT (*format_chars))
@@ -1625,3 +1625,3 @@ check_format_info_main (format_check_res
 		    {
-		      warning ("too few arguments for format");
+		      warning (0, "too few arguments for format");
 		      return;
@@ -1655,3 +1655,3 @@ check_format_info_main (format_check_res
 		  && !ISDIGIT (*format_chars))
-		warning ("empty precision in %s format", fki->name);
+		warning (0, "empty precision in %s format", fki->name);
 	      while (ISDIGIT (*format_chars))
@@ -1694,3 +1694,3 @@ check_format_info_main (format_check_res
 	      if (ADJ_STD (length_chars_std) > C_STD_VER)
-		warning ("%s does not support the %qs %s length modifier",
+		warning (0, "%s does not support the %qs %s length modifier",
 			 C_STD_NAME (length_chars_std), length_chars,
@@ -1710,3 +1710,3 @@ check_format_info_main (format_check_res
 							     *format_chars, NULL);
-		  warning ("repeated %s in format", _(s->name));
+		  warning (0, "repeated %s in format", _(s->name));
 		}
@@ -1744,3 +1744,3 @@ check_format_info_main (format_check_res
 	{
-	  warning ("conversion lacks type at end of format");
+	  warning (0, "conversion lacks type at end of format");
 	  continue;
@@ -1755,6 +1755,6 @@ check_format_info_main (format_check_res
           if (ISGRAPH(format_char))
-	    warning ("unknown conversion type character %qc in format",
+	    warning (0, "unknown conversion type character %qc in format",
 		     format_char);
 	  else
-	    warning ("unknown conversion type character 0x%x in format",
+	    warning (0, "unknown conversion type character 0x%x in format",
 		     format_char);
@@ -1765,3 +1765,3 @@ check_format_info_main (format_check_res
 	  if (ADJ_STD (fci->std) > C_STD_VER)
-	    warning ("%s does not support the %<%%%c%> %s format",
+	    warning (0, "%s does not support the %<%%%c%> %s format",
 		     C_STD_NAME (fci->std), format_char, fki->name);
@@ -1781,3 +1781,3 @@ check_format_info_main (format_check_res
 	      {
-		warning ("%s used with %<%%%c%> %s format",
+		warning (0, "%s used with %<%%%c%> %s format",
 			 _(s->name), format_char, fki->name);
@@ -1790,3 +1790,3 @@ check_format_info_main (format_check_res
 		if (ADJ_STD (s->std) > C_STD_VER)
-		  warning ("%s does not support %s",
+		  warning (0, "%s does not support %s",
 			   C_STD_NAME (s->std), _(s->long_name));
@@ -1799,3 +1799,3 @@ check_format_info_main (format_check_res
 		    if (ADJ_STD (t->std) > C_STD_VER)
-		      warning ("%s does not support %s with the %<%%%c%> %s format",
+		      warning (0, "%s does not support %s with the %<%%%c%> %s format",
 			       C_STD_NAME (t->std), _(long_name),
@@ -1832,3 +1832,3 @@ check_format_info_main (format_check_res
 	      if (bad_flag_pairs[i].predicate != 0)
-		warning ("%s ignored with %s and %<%%%c%> %s format",
+		warning (0, "%s ignored with %s and %<%%%c%> %s format",
 			 _(s->name), _(t->name), format_char,
@@ -1836,3 +1836,3 @@ check_format_info_main (format_check_res
 	      else
-		warning ("%s ignored with %s in %s format",
+		warning (0, "%s ignored with %s in %s format",
 			 _(s->name), _(t->name), fki->name);
@@ -1842,3 +1842,3 @@ check_format_info_main (format_check_res
 	      if (bad_flag_pairs[i].predicate != 0)
-		warning ("use of %s and %s together with %<%%%c%> %s format",
+		warning (0, "use of %s and %s together with %<%%%c%> %s format",
 			 _(s->name), _(t->name), format_char,
@@ -1846,3 +1846,3 @@ check_format_info_main (format_check_res
 	      else
-		warning ("use of %s and %s together in %s format",
+		warning (0, "use of %s and %s together in %s format",
 			 _(s->name), _(t->name), fki->name);
@@ -1865,6 +1865,6 @@ check_format_info_main (format_check_res
 	  if (y2k_level == 3)
-	    warning ("%<%%%c%> yields only last 2 digits of year in some locales",
+	    warning (0, "%<%%%c%> yields only last 2 digits of year in some locales",
 		     format_char);
 	  else if (y2k_level == 2)
-	    warning ("%<%%%c%> yields only last 2 digits of year", format_char);
+	    warning (0, "%<%%%c%> yields only last 2 digits of year", format_char);
 	}
@@ -1884,3 +1884,3 @@ check_format_info_main (format_check_res
 	    /* The end of the format string was reached.  */
-	    warning ("no closing %<]%> for %<%%[%> format");
+	    warning (0, "no closing %<]%> for %<%%[%> format");
 	}
@@ -1897,3 +1897,3 @@ check_format_info_main (format_check_res
 	    {
-	      warning ("use of %qs length modifier with %qc type character",
+	      warning (0, "use of %qs length modifier with %qc type character",
 		       length_chars, format_char);
@@ -1904,3 +1904,3 @@ check_format_info_main (format_check_res
 		{
-		  warning ("too few arguments for format");
+		  warning (0, "too few arguments for format");
 		  return;
@@ -1918,3 +1918,3 @@ check_format_info_main (format_check_res
 	      if (ADJ_STD (wanted_type_std) > C_STD_VER)
-		warning ("%s does not support the %<%%%s%c%> %s format",
+		warning (0, "%s does not support the %<%%%s%c%> %s format",
 			 C_STD_NAME (wanted_type_std), length_chars,
@@ -1935,5 +1935,5 @@ check_format_info_main (format_check_res
 	      if (suppressed)
-		warning ("operand number specified with suppressed assignment");
+		warning (0, "operand number specified with suppressed assignment");
 	      else
-		warning ("operand number specified for format taking no argument");
+		warning (0, "operand number specified for format taking no argument");
 	    }
@@ -1954,3 +1954,3 @@ check_format_info_main (format_check_res
 		{
-		  warning ("missing $ operand number in format");
+		  warning (0, "missing $ operand number in format");
 		  return;
@@ -1966,3 +1966,3 @@ check_format_info_main (format_check_res
 		{
-		  warning ("too few arguments for format");
+		  warning (0, "too few arguments for format");
 		  return;
@@ -2081,3 +2081,3 @@ check_format_types (format_wanted_type *
 		  && integer_zerop (cur_param))
-		warning ("writing through null pointer (arg %d)",
+		warning (0, "writing through null pointer (arg %d)",
 			 arg_num);
@@ -2089,3 +2089,3 @@ check_format_types (format_wanted_type *
 		  && integer_zerop (cur_param))
-		warning ("reading through null pointer (arg %d)",
+		warning (0, "reading through null pointer (arg %d)",
 			 arg_num);
@@ -2109,3 +2109,3 @@ check_format_types (format_wanted_type *
 				  && TREE_READONLY (cur_param))))))
-		warning ("writing into constant object (arg %d)", arg_num);
+		warning (0, "writing into constant object (arg %d)", arg_num);
 
@@ -2119,3 +2119,3 @@ check_format_types (format_wanted_type *
 		      || TYPE_RESTRICT (cur_type)))
-		warning ("extra type qualifiers in format argument (arg %d)",
+		warning (0, "extra type qualifiers in format argument (arg %d)",
 			 arg_num);
@@ -2229,6 +2229,6 @@ format_type_warning (const char *descr, 
       if (descr)
-	warning ("%s should have type %<%s%s%>, but argument %d has type %qT",
+	warning (0, "%s should have type %<%s%s%>, but argument %d has type %qT",
 		 descr, wanted_type_name, p, arg_num, arg_type);
       else
-	warning ("format %q.*s expects type %<%s%s%>, but argument %d has type %qT",
+	warning (0, "format %q.*s expects type %<%s%s%>, but argument %d has type %qT",
 		 format_length, format_start, wanted_type_name, p,
@@ -2239,6 +2239,6 @@ format_type_warning (const char *descr, 
       if (descr)
-	warning ("%s should have type %<%T%s%>, but argument %d has type %qT",
+	warning (0, "%s should have type %<%T%s%>, but argument %d has type %qT",
 		 descr, wanted_type, p, arg_num, arg_type);
       else
-	warning ("format %q.*s expects type %<%T%s%>, but argument %d has type %qT",
+	warning (0, "format %q.*s expects type %<%T%s%>, but argument %d has type %qT",
 		 format_length, format_start, wanted_type, p, arg_num, arg_type);
Index: c-gimplify.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/c-gimplify.c,v
retrieving revision 2.21
diff -p -U1 -r2.21  c-gimplify.c
--- c-gimplify.c	30 Jun 2004 18:05:03 -0000	2.21
+++ c-gimplify.c	23 Jul 2004 22:39:12 -0000
@@ -238,3 +238,3 @@ gimplify_expr_stmt (tree *stmt_p)
 	      && !TREE_NO_WARNING (stmt))
-	    warning ("statement with no effect");
+	    warning (0, "statement with no effect");
 	}
Index: c-lex.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/c-lex.c,v
retrieving revision 1.224
diff -p -U1 -r1.224  c-lex.c
--- c-lex.c	20 Jul 2004 23:02:33 -0000	1.224
+++ c-lex.c	23 Jul 2004 22:39:12 -0000
@@ -251,3 +251,3 @@ fe_file_change (const struct line_map *n
 	  if (new_map->sysp == 2)
-	    warning ("badly nested C headers from preprocessor");
+	    warning (0, "badly nested C headers from preprocessor");
 	  --pending_lang_change;
@@ -302,3 +302,3 @@ cb_def_pragma (cpp_reader *pfile, source
 #endif
-      warning ("ignoring #pragma %s %s", space, name);
+      warning (0, "ignoring #pragma %s %s", space, name);
     }
@@ -558,6 +558,6 @@ interpret_integer (const cpp_token *toke
 		  itk = itk_u;
-		  warning ("this decimal constant is unsigned only in ISO C90");
+		  warning (0, "this decimal constant is unsigned only in ISO C90");
 		}
 	      else if (warn_traditional)
-		warning ("this decimal constant would be unsigned in ISO C90");
+		warning (0, "this decimal constant would be unsigned in ISO C90");
 	    }
@@ -643,3 +643,3 @@ interpret_float (const cpp_token *token,
   if (REAL_VALUE_ISINF (real) && pedantic)
-    warning ("floating constant exceeds range of \"%s\"", typename);
+    warning (0, "floating constant exceeds range of \"%s\"", typename);
 
@@ -719,3 +719,3 @@ lex_string (const cpp_token *tok, tree *
   if (count > 1 && !objc_string && warn_traditional && !in_system_header)
-    warning ("traditional C rejects string constant concatenation");
+    warning (0, "traditional C rejects string constant concatenation");
 
Index: c-objc-common.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/c-objc-common.c,v
retrieving revision 1.51
diff -p -U1 -r1.51  c-objc-common.c
--- c-objc-common.c	8 Jul 2004 19:50:17 -0000	1.51
+++ c-objc-common.c	23 Jul 2004 22:39:12 -0000
@@ -79,3 +79,3 @@ c_cannot_inline_tree_fn (tree *fnp)
       if (do_warning)
-	warning ("%Jfunction '%F' can never be inlined because it "
+	warning (0, "%Jfunction '%F' can never be inlined because it "
 		 "is suppressed using -fno-inline", fn, fn);
@@ -89,3 +89,3 @@ c_cannot_inline_tree_fn (tree *fnp)
       if (do_warning)
-	warning ("%Jfunction '%F' can never be inlined because it might not "
+	warning (0, "%Jfunction '%F' can never be inlined because it might not "
 		 "be bound within this unit of translation", fn, fn);
@@ -97,3 +97,3 @@ c_cannot_inline_tree_fn (tree *fnp)
       if (do_warning)
-	warning ("%Jfunction '%F' can never be inlined because it uses "
+	warning (0, "%Jfunction '%F' can never be inlined because it uses "
 		 "attributes conflicting with inlining", fn, fn);
@@ -112,3 +112,3 @@ c_cannot_inline_tree_fn (tree *fnp)
 	  if (do_warning)
-	    warning ("%Jfunction '%F' can never be inlined because it has "
+	    warning (0, "%Jfunction '%F' can never be inlined because it has "
 		     "pending sizes", fn, fn);
@@ -125,3 +125,3 @@ c_cannot_inline_tree_fn (tree *fnp)
 	  if (do_warning)
-	    warning ("%Jnested function '%F' can never be inlined because it "
+	    warning (0, "%Jnested function '%F' can never be inlined because it "
 		     "has possibly saved pending sizes", fn, fn);
Index: c-opts.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/c-opts.c,v
retrieving revision 1.120
diff -p -U1 -r1.120  c-opts.c
--- c-opts.c	9 Jul 2004 21:30:33 -0000	1.120
+++ c-opts.c	23 Jul 2004 22:39:12 -0000
@@ -540,3 +540,3 @@ c_common_handle_option (size_t scode, co
     case OPT_fvtable_gc:
-      warning ("switch \"%s\" is no longer supported", option->opt_text);
+      warning (0, "switch \"%s\" is no longer supported", option->opt_text);
       break;
@@ -655,3 +655,3 @@ c_common_handle_option (size_t scode, co
     case OPT_fhandle_exceptions:
-      warning ("-fhandle-exceptions has been renamed -fexceptions (and is now on by default)");
+      warning (0, "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)");
       flag_exceptions = value;
@@ -964,13 +964,13 @@ c_common_post_options (const char **pfil
   if (warn_format_y2k && !warn_format)
-    warning ("-Wformat-y2k ignored without -Wformat");
+    warning (0, "-Wformat-y2k ignored without -Wformat");
   if (warn_format_extra_args && !warn_format)
-    warning ("-Wformat-extra-args ignored without -Wformat");
+    warning (0, "-Wformat-extra-args ignored without -Wformat");
   if (warn_format_zero_length && !warn_format)
-    warning ("-Wformat-zero-length ignored without -Wformat");
+    warning (0, "-Wformat-zero-length ignored without -Wformat");
   if (warn_format_nonliteral && !warn_format)
-    warning ("-Wformat-nonliteral ignored without -Wformat");
+    warning (0, "-Wformat-nonliteral ignored without -Wformat");
   if (warn_format_security && !warn_format)
-    warning ("-Wformat-security ignored without -Wformat");
+    warning (0, "-Wformat-security ignored without -Wformat");
   if (warn_missing_format_attribute && !warn_format)
-    warning ("-Wmissing-format-attribute ignored without -Wformat");
+    warning (0, "-Wmissing-format-attribute ignored without -Wformat");
 
@@ -1076,3 +1076,3 @@ c_common_parse_file (int set_yydebug)
   if (set_yydebug)
-    warning ("YYDEBUG was not defined at build time, -dy ignored");
+    warning (0, "YYDEBUG was not defined at build time, -dy ignored");
 #endif
@@ -1372,3 +1372,3 @@ cb_dir_change (cpp_reader *pfile ATTRIBU
   if (! set_src_pwd (dir))
-    warning ("too late for # directive to set debug directory");
+    warning (0, "too late for # directive to set debug directory");
 }
Index: c-parse.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/c-parse.in,v
retrieving revision 1.224
diff -p -U1 -r1.224  c-parse.in
--- c-parse.in	21 Jul 2004 23:46:14 -0000	1.224
+++ c-parse.in	23 Jul 2004 22:39:13 -0000
@@ -378,3 +378,3 @@ datadef:
 		  else
-		    warning ("data definition has no type or storage class");
+		    warning (0, "data definition has no type or storage class");
 
@@ -453,3 +453,3 @@ unop:     '&'
   if (warn_traditional && !in_system_header)
-    warning ("traditional C rejects the unary plus operator");
+    warning (0, "traditional C rejects the unary plus operator");
 @@end_ifc
@@ -1026,3 +1026,3 @@ declspecs_sc_nots_nosa_noea:
 		{ if (extra_warnings && TREE_STATIC ($1))
-		    warning ("`%s' is not at beginning of declaration",
+		    warning (0, "`%s' is not at beginning of declaration",
 			     IDENTIFIER_POINTER ($2));
@@ -1032,3 +1032,3 @@ declspecs_sc_nots_nosa_noea:
 		{ if (extra_warnings && TREE_STATIC ($1))
-		    warning ("`%s' is not at beginning of declaration",
+		    warning (0, "`%s' is not at beginning of declaration",
 			     IDENTIFIER_POINTER ($2));
@@ -1038,3 +1038,3 @@ declspecs_sc_nots_nosa_noea:
 		{ if (extra_warnings && TREE_STATIC ($1))
-		    warning ("`%s' is not at beginning of declaration",
+		    warning (0, "`%s' is not at beginning of declaration",
 			     IDENTIFIER_POINTER ($2));
@@ -1044,3 +1044,3 @@ declspecs_sc_nots_nosa_noea:
 		{ if (extra_warnings && TREE_STATIC ($1))
-		    warning ("`%s' is not at beginning of declaration",
+		    warning (0, "`%s' is not at beginning of declaration",
 			     IDENTIFIER_POINTER ($2));
@@ -1065,3 +1065,3 @@ declspecs_sc_nots_sa_noea:
 		{ if (extra_warnings && TREE_STATIC ($1))
-		    warning ("`%s' is not at beginning of declaration",
+		    warning (0, "`%s' is not at beginning of declaration",
 			     IDENTIFIER_POINTER ($2));
@@ -1071,3 +1071,3 @@ declspecs_sc_nots_sa_noea:
 		{ if (extra_warnings && TREE_STATIC ($1))
-		    warning ("`%s' is not at beginning of declaration",
+		    warning (0, "`%s' is not at beginning of declaration",
 			     IDENTIFIER_POINTER ($2));
@@ -1077,3 +1077,3 @@ declspecs_sc_nots_sa_noea:
 		{ if (extra_warnings && TREE_STATIC ($1))
-		    warning ("`%s' is not at beginning of declaration",
+		    warning (0, "`%s' is not at beginning of declaration",
 			     IDENTIFIER_POINTER ($2));
@@ -1083,3 +1083,3 @@ declspecs_sc_nots_sa_noea:
 		{ if (extra_warnings && TREE_STATIC ($1))
-		    warning ("`%s' is not at beginning of declaration",
+		    warning (0, "`%s' is not at beginning of declaration",
 			     IDENTIFIER_POINTER ($2));
@@ -1116,3 +1116,3 @@ declspecs_sc_ts_nosa_noea:
 		{ if (extra_warnings && TREE_STATIC ($1))
-		    warning ("`%s' is not at beginning of declaration",
+		    warning (0, "`%s' is not at beginning of declaration",
 			     IDENTIFIER_POINTER ($2));
@@ -1122,3 +1122,3 @@ declspecs_sc_ts_nosa_noea:
 		{ if (extra_warnings && TREE_STATIC ($1))
-		    warning ("`%s' is not at beginning of declaration",
+		    warning (0, "`%s' is not at beginning of declaration",
 			     IDENTIFIER_POINTER ($2));
@@ -1128,3 +1128,3 @@ declspecs_sc_ts_nosa_noea:
 		{ if (extra_warnings && TREE_STATIC ($1))
-		    warning ("`%s' is not at beginning of declaration",
+		    warning (0, "`%s' is not at beginning of declaration",
 			     IDENTIFIER_POINTER ($2));
@@ -1134,3 +1134,3 @@ declspecs_sc_ts_nosa_noea:
 		{ if (extra_warnings && TREE_STATIC ($1))
-		    warning ("`%s' is not at beginning of declaration",
+		    warning (0, "`%s' is not at beginning of declaration",
 			     IDENTIFIER_POINTER ($2));
@@ -1179,3 +1179,3 @@ declspecs_sc_ts_sa_noea:
 		{ if (extra_warnings && TREE_STATIC ($1))
-		    warning ("`%s' is not at beginning of declaration",
+		    warning (0, "`%s' is not at beginning of declaration",
 			     IDENTIFIER_POINTER ($2));
@@ -1185,3 +1185,3 @@ declspecs_sc_ts_sa_noea:
 		{ if (extra_warnings && TREE_STATIC ($1))
-		    warning ("`%s' is not at beginning of declaration",
+		    warning (0, "`%s' is not at beginning of declaration",
 			     IDENTIFIER_POINTER ($2));
@@ -1191,3 +1191,3 @@ declspecs_sc_ts_sa_noea:
 		{ if (extra_warnings && TREE_STATIC ($1))
-		    warning ("`%s' is not at beginning of declaration",
+		    warning (0, "`%s' is not at beginning of declaration",
 			     IDENTIFIER_POINTER ($2));
@@ -1197,3 +1197,3 @@ declspecs_sc_ts_sa_noea:
 		{ if (extra_warnings && TREE_STATIC ($1))
-		    warning ("`%s' is not at beginning of declaration",
+		    warning (0, "`%s' is not at beginning of declaration",
 			     IDENTIFIER_POINTER ($2));
@@ -2425,3 +2425,3 @@ maybe_volatile:
 		    {
-		      warning ("%E qualifier ignored on asm", $1);
+		      warning (0, "%E qualifier ignored on asm", $1);
 		      $$ = 0;
@@ -2656,3 +2656,3 @@ objcdef:
 		  else
-		    warning ("`@end' must appear in an implementation context");
+		    warning (0, "`@end' must appear in an implementation context");
 		}
Index: c-pragma.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/c-pragma.c,v
retrieving revision 1.71
diff -p -U1 -r1.71  c-pragma.c
--- c-pragma.c	22 Jun 2004 06:51:50 -0000	1.71
+++ c-pragma.c	23 Jul 2004 22:39:13 -0000
@@ -38,4 +38,4 @@ Software Foundation, 59 Temple Place - S
 
-#define GCC_BAD(msgid) do { warning (msgid); return; } while (0)
-#define GCC_BAD2(msgid, arg) do { warning (msgid, arg); return; } while (0)
+#define GCC_BAD(msgid) do { warning0 (msgid); return; } while (0)
+#define GCC_BAD2(msgid, arg) do { warning0 (msgid, arg); return; } while (0)
 
@@ -106,3 +106,3 @@ pop_alignment (tree id)
     {
-      warning ("\
+      warning (0, "\
 #pragma pack (pop) encountered without matching #pragma pack (push, <n>)"
@@ -124,3 +124,3 @@ pop_alignment (tree id)
       if (entry == NULL)
-	warning ("\
+	warning (0, "\
 #pragma pack(pop, %s) encountered without matching #pragma pack(push, %s, <n>)"
@@ -231,3 +231,3 @@ handle_pragma_pack (cpp_reader *dummy AT
   if (c_lex (&x) != CPP_EOF)
-    warning ("junk at end of '#pragma pack'");
+    warning (0, "junk at end of '#pragma pack'");
 
@@ -278,3 +278,3 @@ apply_pragma_weak (tree decl, tree value
       && TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)))
-    warning ("%Japplying #pragma weak '%D' after first use results "
+    warning (0, "%Japplying #pragma weak '%D' after first use results "
              "in unspecified behavior", decl, decl);
@@ -334,3 +334,3 @@ handle_pragma_weak (cpp_reader *dummy AT
   if (t != CPP_EOF)
-    warning ("junk at end of #pragma weak");
+    warning (0, "junk at end of #pragma weak");
 
@@ -402,3 +402,3 @@ handle_pragma_redefine_extname (cpp_read
   if (t != CPP_EOF)
-    warning ("junk at end of #pragma redefine_extname");
+    warning (0, "junk at end of #pragma redefine_extname");
 
@@ -407,3 +407,3 @@ handle_pragma_redefine_extname (cpp_read
       if (warn_unknown_pragmas > in_system_header)
-	warning ("#pragma redefine_extname not supported on this target");
+	warning (0, "#pragma redefine_extname not supported on this target");
       return;
@@ -424,3 +424,3 @@ handle_pragma_redefine_extname (cpp_read
 	  if (strcmp (name, IDENTIFIER_POINTER (newname)))
-	    warning ("#pragma redefine_extname ignored due to conflict with "
+	    warning (0, "#pragma redefine_extname ignored due to conflict with "
 		     "previous rename");
@@ -447,3 +447,3 @@ add_to_renaming_pragma_list (tree oldnam
       if (TREE_VALUE (previous) != newname)
-	warning ("#pragma redefine_extname ignored due to conflict with "
+	warning (0, "#pragma redefine_extname ignored due to conflict with "
 		 "previous #pragma redefine_extname");
@@ -469,3 +469,3 @@ handle_pragma_extern_prefix (cpp_reader 
   if (t != CPP_EOF)
-    warning ("junk at end of #pragma extern_prefix");
+    warning (0, "junk at end of #pragma extern_prefix");
 
@@ -475,3 +475,3 @@ handle_pragma_extern_prefix (cpp_reader 
   else if (warn_unknown_pragmas > in_system_header)
-    warning ("#pragma extern_prefix not supported on this target");
+    warning (0, "#pragma extern_prefix not supported on this target");
 }
@@ -501,3 +501,3 @@ maybe_apply_renaming_pragma (tree decl, 
       if (asmname && strcmp (TREE_STRING_POINTER (asmname), oldname))
-	  warning ("asm declaration ignored due to "
+	  warning (0, "asm declaration ignored due to "
 		   "conflict with previous rename");
@@ -510,3 +510,3 @@ maybe_apply_renaming_pragma (tree decl, 
 	    if (strcmp (IDENTIFIER_POINTER (TREE_VALUE (t)), oldname))
-	      warning ("#pragma redefine_extname ignored due to "
+	      warning (0, "#pragma redefine_extname ignored due to "
 		       "conflict with previous rename");
@@ -532,3 +532,3 @@ maybe_apply_renaming_pragma (tree decl, 
 			IDENTIFIER_POINTER (newname)) != 0)
-	      warning ("#pragma redefine_extname ignored due to "
+	      warning (0, "#pragma redefine_extname ignored due to "
 		       "conflict with __asm__ declaration");
Index: c-typeck.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/c-typeck.c,v
retrieving revision 1.346
diff -p -U1 -r1.346  c-typeck.c
--- c-typeck.c	22 Jul 2004 00:00:42 -0000	1.346
+++ c-typeck.c	23 Jul 2004 22:39:14 -0000
@@ -1549,3 +1549,3 @@ build_indirect_ref (tree ptr, const char
 	  if (VOID_TYPE_P (t) && skip_evaluation == 0)
-	    warning ("dereferencing `void *' pointer");
+	    warning (0, "dereferencing `void *' pointer");
 
@@ -1604,3 +1604,3 @@ build_array_ref (tree array, tree index)
 	  && TYPE_MAIN_VARIANT (TREE_TYPE (index)) == char_type_node)
-	warning ("array subscript has type `char'");
+	warning (0, "array subscript has type `char'");
 
@@ -1680,3 +1680,3 @@ build_array_ref (tree array, tree index)
 	&& TYPE_MAIN_VARIANT (TREE_TYPE (index)) == char_type_node)
-      warning ("subscript has type `char'");
+      warning (0, "subscript has type `char'");
 
@@ -1726,3 +1726,3 @@ build_external_ref (tree id, int fun)
 	{
-	  warning ("local declaration of `%s' hides instance variable",
+	  warning (0, "local declaration of `%s' hides instance variable",
 		   IDENTIFIER_POINTER (id));
@@ -1852,3 +1852,3 @@ build_function_call (tree function, tree
 	 executions of the program must execute the code.  */
-      warning ("function called through a non-compatible type");
+      warning (0, "function called through a non-compatible type");
 
@@ -2121,3 +2121,3 @@ parser_build_binary_op (enum tree_code c
 	      || code2 == PLUS_EXPR || code2 == MINUS_EXPR)
-	    warning ("suggest parentheses around + or - inside shift");
+	    warning (0, "suggest parentheses around + or - inside shift");
 	}
@@ -2128,3 +2128,3 @@ parser_build_binary_op (enum tree_code c
 	      || code2 == TRUTH_ANDIF_EXPR)
-	    warning ("suggest parentheses around && within ||");
+	    warning (0, "suggest parentheses around && within ||");
 	}
@@ -2137,6 +2137,6 @@ parser_build_binary_op (enum tree_code c
 	      || code2 == PLUS_EXPR || code2 == MINUS_EXPR)
-	    warning ("suggest parentheses around arithmetic in operand of |");
+	    warning (0, "suggest parentheses around arithmetic in operand of |");
 	  /* Check cases like x|y==z */
 	  if (TREE_CODE_CLASS (code1) == '<' || TREE_CODE_CLASS (code2) == '<')
-	    warning ("suggest parentheses around comparison in operand of |");
+	    warning (0, "suggest parentheses around comparison in operand of |");
 	}
@@ -2149,6 +2149,6 @@ parser_build_binary_op (enum tree_code c
 	      || code2 == PLUS_EXPR || code2 == MINUS_EXPR)
-	    warning ("suggest parentheses around arithmetic in operand of ^");
+	    warning (0, "suggest parentheses around arithmetic in operand of ^");
 	  /* Check cases like x^y==z */
 	  if (TREE_CODE_CLASS (code1) == '<' || TREE_CODE_CLASS (code2) == '<')
-	    warning ("suggest parentheses around comparison in operand of ^");
+	    warning (0, "suggest parentheses around comparison in operand of ^");
 	}
@@ -2159,6 +2159,6 @@ parser_build_binary_op (enum tree_code c
 	      || code2 == PLUS_EXPR || code2 == MINUS_EXPR)
-	    warning ("suggest parentheses around + or - in operand of &");
+	    warning (0, "suggest parentheses around + or - in operand of &");
 	  /* Check cases like x&y==z */
 	  if (TREE_CODE_CLASS (code1) == '<' || TREE_CODE_CLASS (code2) == '<')
-	    warning ("suggest parentheses around comparison in operand of &");
+	    warning (0, "suggest parentheses around comparison in operand of &");
 	}
@@ -2168,3 +2168,3 @@ parser_build_binary_op (enum tree_code c
 	      || TREE_CODE_CLASS (code2) == '<'))
-	warning ("comparisons like X<=Y<=Z do not have their mathematical meaning");
+	warning (0, "comparisons like X<=Y<=Z do not have their mathematical meaning");
 
@@ -2783,3 +2783,3 @@ build_conditional_expr (tree ifexp, tree
 	      else
-		warning ("signed and unsigned type in conditional expression");
+		warning (0, "signed and unsigned type in conditional expression");
 	    }
@@ -2893,3 +2893,3 @@ build_compound_expr (tree expr1, tree ex
                 && VOID_TYPE_P (TREE_TYPE (expr1))))
-        warning ("left-hand operand of comma expression has no effect");
+        warning (0, "left-hand operand of comma expression has no effect");
     }
@@ -3018,3 +3018,3 @@ build_c_cast (tree type, tree expr)
 	  if (added)
-	    warning ("cast adds new qualifiers to function type");
+	    warning (0, "cast adds new qualifiers to function type");
 
@@ -3023,3 +3023,3 @@ build_c_cast (tree type, tree expr)
 	       present in IN_TYPE.  */
-	    warning ("cast discards qualifiers from pointer target type");
+	    warning (0, "cast discards qualifiers from pointer target type");
 	}
@@ -3038,3 +3038,3 @@ build_c_cast (tree type, tree expr)
 	  && TYPE_ALIGN (TREE_TYPE (type)) > TYPE_ALIGN (TREE_TYPE (otype)))
-	warning ("cast increases required alignment of target type");
+	warning (0, "cast increases required alignment of target type");
 
@@ -3044,3 +3044,3 @@ build_c_cast (tree type, tree expr)
 	  && !TREE_CONSTANT (value))
-	warning ("cast from pointer to integer of different size");
+	warning (0, "cast from pointer to integer of different size");
 
@@ -3049,3 +3049,3 @@ build_c_cast (tree type, tree expr)
 	  && TREE_CODE (type) != TREE_CODE (otype))
-	warning ("cast does not match function type");
+	warning (0, "cast does not match function type");
 
@@ -3056,3 +3056,3 @@ build_c_cast (tree type, tree expr)
 	  && !TREE_CONSTANT (value))
-	warning ("cast to pointer from integer of different size");
+	warning (0, "cast to pointer from integer of different size");
 
@@ -3068,3 +3068,3 @@ build_c_cast (tree type, tree expr)
 	  if (!COMPLETE_TYPE_P (TREE_TYPE (type)))
-	    warning ("type-punning to incomplete type might break strict-aliasing rules");
+	    warning (0, "type-punning to incomplete type might break strict-aliasing rules");
 	  else
@@ -3075,6 +3075,6 @@ build_c_cast (tree type, tree expr)
 	      if (!alias_sets_conflict_p (set1, set2))
-		warning ("dereferencing type-punned pointer will break strict-aliasing rules");
+		warning (0, "dereferencing type-punned pointer will break strict-aliasing rules");
 	      else if (warn_strict_aliasing > 1
 		       && !alias_sets_might_conflict_p (set1, set2))
-		warning ("dereferencing type-punned pointer might break strict-aliasing rules");
+		warning (0, "dereferencing type-punned pointer might break strict-aliasing rules");
 	    }
@@ -3682,3 +3682,3 @@ store_init_value (tree decl, tree init)
       && AGGREGATE_TYPE_P (TREE_TYPE (decl)) && ! TREE_STATIC (decl))
-    warning ("traditional C rejects automatic aggregate initialization");
+    warning (0, "traditional C rejects automatic aggregate initialization");
 
@@ -3880,6 +3880,6 @@ warning_init (const char *msgid)
 
-  warning ("%s", _(msgid));
+  warning (0, "%s", _(msgid));
   ofwhat = print_spelling (alloca (spelling_length () + 1));
   if (*ofwhat)
-    warning ("(near initialization for `%s')", ofwhat);
+    warning (0, "(near initialization for `%s')", ofwhat);
 }
@@ -5940,3 +5940,3 @@ process_init_element (struct c_expr valu
 				   || real_zerop (value.value))))
-	    warning ("traditional C rejects initialization of unions");
+	    warning (0, "traditional C rejects initialization of unions");
 
@@ -6235,3 +6235,3 @@ c_finish_return (tree retval)
   if (TREE_THIS_VOLATILE (current_function_decl))
-    warning ("function declared `noreturn' has a `return' statement");
+    warning (0, "function declared `noreturn' has a `return' statement");
 
@@ -6304,3 +6304,3 @@ c_finish_return (tree retval)
 		  && DECL_CONTEXT (inner) == current_function_decl)
-		warning ("function returns address of local variable");
+		warning (0, "function returns address of local variable");
 	      break;
@@ -6375,3 +6375,3 @@ c_start_case (tree exp)
 		  || type == long_unsigned_type_node))
-	    warning ("`long' switch expression not converted to `int' in ISO C");
+	    warning (0, "`long' switch expression not converted to `int' in ISO C");
 
@@ -6476,3 +6476,3 @@ c_finish_if_stmt (location_t if_locus, t
       if (COND_EXPR_ELSE (inner_if))
-	 warning ("%Hsuggest explicit braces to avoid ambiguous `else'",
+	 warning (0, "%Hsuggest explicit braces to avoid ambiguous `else'",
 		  &if_locus);
@@ -6486,3 +6486,3 @@ c_finish_if_stmt (location_t if_locus, t
 	  if (!else_block)
-	    warning ("%Hempty body in an if-statement",
+	    warning (0, "%Hempty body in an if-statement",
 		     EXPR_LOCUS (then_block));
@@ -6494,3 +6494,3 @@ c_finish_if_stmt (location_t if_locus, t
 	{
-	  warning ("%Hempty body in an else-statement",
+	  warning (0, "%Hempty body in an else-statement",
 		   EXPR_LOCUS (else_block));
@@ -6602,3 +6602,3 @@ emit_side_effect_warnings (tree expr)
       if (!VOID_TYPE_P (TREE_TYPE (expr)) && !TREE_NO_WARNING (expr))
-	warning ("%Hstatement with no effect",
+	warning (0, "%Hstatement with no effect",
 		 EXPR_HAS_LOCATION (expr) ? EXPR_LOCUS (expr) : &input_location);
@@ -6954,3 +6954,3 @@ build_binary_op (enum tree_code code, tr
       if (warn_div_by_zero && skip_evaluation == 0 && integer_zerop (op1))
-	warning ("division by zero");
+	warning (0, "division by zero");
 
@@ -6993,3 +6993,3 @@ build_binary_op (enum tree_code code, tr
       if (warn_div_by_zero && skip_evaluation == 0 && integer_zerop (op1))
-	warning ("division by zero");
+	warning (0, "division by zero");
 
@@ -7038,3 +7038,3 @@ build_binary_op (enum tree_code code, tr
 	      if (tree_int_cst_sgn (op1) < 0)
-		warning ("right shift count is negative");
+		warning (0, "right shift count is negative");
 	      else
@@ -7045,3 +7045,3 @@ build_binary_op (enum tree_code code, tr
 		  if (compare_tree_int (op1, TYPE_PRECISION (type0)) >= 0)
-		    warning ("right shift count >= width of type");
+		    warning (0, "right shift count >= width of type");
 		}
@@ -7066,6 +7066,6 @@ build_binary_op (enum tree_code code, tr
 	      if (tree_int_cst_sgn (op1) < 0)
-		warning ("left shift count is negative");
+		warning (0, "left shift count is negative");
 
 	      else if (compare_tree_int (op1, TYPE_PRECISION (type0)) >= 0)
-		warning ("left shift count >= width of type");
+		warning (0, "left shift count >= width of type");
 	    }
@@ -7090,5 +7090,5 @@ build_binary_op (enum tree_code code, tr
 	      if (tree_int_cst_sgn (op1) < 0)
-		warning ("shift count is negative");
+		warning (0, "shift count is negative");
 	      else if (compare_tree_int (op1, TYPE_PRECISION (type0)) >= 0)
-		warning ("shift count >= width of type");
+		warning (0, "shift count >= width of type");
 	    }
@@ -7109,3 +7109,3 @@ build_binary_op (enum tree_code code, tr
       if (warn_float_equal && (code0 == REAL_TYPE || code1 == REAL_TYPE))
-	warning ("comparing floating point with == or != is unsafe");
+	warning (0, "comparing floating point with == or != is unsafe");
       /* Result of comparison is always int,
@@ -7463,3 +7463,3 @@ build_binary_op (enum tree_code code, tr
 		  else
-		    warning ("comparison between signed and unsigned");
+		    warning (0, "comparison between signed and unsigned");
 		}
@@ -7509,3 +7509,3 @@ build_binary_op (enum tree_code code, tr
 			  if ((mask & constant) != mask)
-			    warning ("comparison of promoted ~unsigned with constant");
+			    warning (0, "comparison of promoted ~unsigned with constant");
 			}
@@ -7517,3 +7517,3 @@ build_binary_op (enum tree_code code, tr
 			       < TYPE_PRECISION (result_type)))
-		    warning ("comparison of promoted ~unsigned with unsigned");
+		    warning (0, "comparison of promoted ~unsigned with unsigned");
 		}
Index: calls.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/calls.c,v
retrieving revision 1.356
diff -p -U1 -r1.356  calls.c
--- calls.c	21 Jul 2004 19:23:01 -0000	1.356
+++ calls.c	23 Jul 2004 22:39:15 -0000
@@ -1998,3 +1998,3 @@ expand_call (tree exp, rtx target, int i
   if (warn_aggregate_return && AGGREGATE_TYPE_P (TREE_TYPE (exp)))
-    warning ("function call has aggregate value");
+    warning (0, "function call has aggregate value");
 
Index: cgraph.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cgraph.c,v
retrieving revision 1.53
diff -p -U1 -r1.53  cgraph.c
--- cgraph.c	30 May 2004 07:12:48 -0000	1.53
+++ cgraph.c	23 Jul 2004 22:39:15 -0000
@@ -577,3 +577,3 @@ change_decl_assembler_name (tree decl, t
       && DECL_RTL_SET_P (decl))
-    warning ("%D renamed after being referenced in assembly", decl);
+    warning (0, "%D renamed after being referenced in assembly", decl);
 
Index: coverage.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/coverage.c,v
retrieving revision 1.40
diff -p -U1 -r1.40  coverage.c
--- coverage.c	15 Jul 2004 17:32:58 -0000	1.40
+++ coverage.c	23 Jul 2004 22:39:15 -0000
@@ -167,3 +167,3 @@ read_counts_file (void)
     {
-      warning ("`%s' is not a gcov data file", da_file_name);
+      warning (0, "`%s' is not a gcov data file", da_file_name);
       gcov_close ();
@@ -178,3 +178,3 @@ read_counts_file (void)
 
-      warning ("`%s' is version `%.*s', expected version `%.*s'",
+      warning (0, "`%s' is version `%.*s', expected version `%.*s'",
  	       da_file_name, 4, v, 4, e);
@@ -334,3 +334,3 @@ get_coverage_counts (unsigned counter, u
     {
-      warning ("no coverage for function '%s' found.", IDENTIFIER_POINTER
+      warning (0, "no coverage for function '%s' found.", IDENTIFIER_POINTER
 	       (DECL_ASSEMBLER_NAME (current_function_decl)));
@@ -568,3 +568,3 @@ coverage_end_function (void)
     {
-      warning ("error writing `%s'", bbg_file_name);
+      warning (0, "error writing `%s'", bbg_file_name);
       bbg_file_opened = -1;
Index: diagnostic.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/diagnostic.c,v
retrieving revision 1.140
diff -p -U1 -r1.140  diagnostic.c
--- diagnostic.c	30 Jun 2004 18:17:55 -0000	1.140
+++ diagnostic.c	23 Jul 2004 22:39:15 -0000
@@ -456,3 +456,14 @@ inform (const char *msgid, ...)
 void
-warning (const char *msgid, ...)
+warning (int opt ATTRIBUTE_UNUSED, const char *msgid, ...)
+{
+  diagnostic_info diagnostic;
+  va_list ap;
+
+  va_start (ap, msgid);
+  diagnostic_set_info (&diagnostic, msgid, &ap, input_location, DK_WARNING);
+  report_diagnostic (&diagnostic);
+  va_end (ap);
+}
+void
+warning0 (const char *msgid, ...)
 {
Index: emit-rtl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/emit-rtl.c,v
retrieving revision 1.405
diff -p -U1 -r1.405  emit-rtl.c
--- emit-rtl.c	17 Jul 2004 14:22:42 -0000	1.405
+++ emit-rtl.c	23 Jul 2004 22:39:15 -0000
@@ -3421,3 +3421,3 @@ make_insn_raw (rtx pattern)
     {
-      warning ("ICE: emit_insn used where emit_jump_insn needed:\n");
+      warning (0, "ICE: emit_insn used where emit_jump_insn needed:\n");
       debug_rtx (insn);
Index: errors.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/errors.c,v
retrieving revision 1.13
diff -p -U1 -r1.13  errors.c
--- errors.c	7 Oct 2003 20:06:37 -0000	1.13
+++ errors.c	23 Jul 2004 22:39:15 -0000
@@ -40,3 +40,3 @@ int have_error = 0;
 void
-warning (const char *format, ...)
+warning (int opt ATTRIBUTE_UNUSED, const char *format, ...)
 {
Index: errors.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/errors.h,v
retrieving revision 1.11
diff -p -U1 -r1.11  errors.h
--- errors.h	1 Jun 2003 15:59:08 -0000	1.11
+++ errors.h	23 Jul 2004 22:39:15 -0000
@@ -32,3 +32,3 @@ Software Foundation, 59 Temple Place - S
 
-extern void warning (const char *, ...);
+extern void warning (int, const char *, ...);
 extern void error (const char *, ...);
Index: fold-const.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/fold-const.c,v
retrieving revision 1.429
diff -p -U1 -r1.429  fold-const.c
--- fold-const.c	22 Jul 2004 20:33:28 -0000	1.429
+++ fold-const.c	23 Jul 2004 22:39:16 -0000
@@ -3204,3 +3204,3 @@ optimize_bit_field_compare (enum tree_co
 	{
-	  warning ("comparison is always %d due to width of bit-field",
+	  warning (0, "comparison is always %d due to width of bit-field",
 		   code == NE_EXPR);
@@ -3215,3 +3215,3 @@ optimize_bit_field_compare (enum tree_co
 	{
-	  warning ("comparison is always %d due to width of bit-field",
+	  warning (0, "comparison is always %d due to width of bit-field",
 		   code == NE_EXPR);
@@ -4740,3 +4740,3 @@ fold_truthop (enum tree_code code, tree 
 	{
-	  warning ("comparison is always %d", wanted_code == NE_EXPR);
+	  warning (0, "comparison is always %d", wanted_code == NE_EXPR);
 
@@ -4755,3 +4755,3 @@ fold_truthop (enum tree_code code, tree 
 	{
-	  warning ("comparison is always %d", wanted_code == NE_EXPR);
+	  warning (0, "comparison is always %d", wanted_code == NE_EXPR);
 
@@ -4884,3 +4884,3 @@ fold_truthop (enum tree_code code, tree 
 	{
-	  warning ("`or' of unmatched not-equal tests is always 1");
+	  warning (0, "`or' of unmatched not-equal tests is always 1");
 	  return constant_boolean_node (true, truth_type);
@@ -4889,3 +4889,3 @@ fold_truthop (enum tree_code code, tree 
 	{
-	  warning ("`and' of mutually exclusive equal-tests is always 0");
+	  warning (0, "`and' of mutually exclusive equal-tests is always 0");
 	  return constant_boolean_node (false, truth_type);
Index: function.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/function.c,v
retrieving revision 1.558
diff -p -U1 -r1.558  function.c
--- function.c	16 Jul 2004 20:34:12 -0000	1.558
+++ function.c	23 Jul 2004 22:39:17 -0000
@@ -3548,3 +3548,3 @@ setjmp_vars_warning (tree block)
 	  && regno_clobbered_at_setjmp (REGNO (DECL_RTL (decl))))
-	warning ("%Jvariable '%D' might be clobbered by `longjmp' or `vfork'",
+	warning (0, "%Jvariable '%D' might be clobbered by `longjmp' or `vfork'",
 		 decl, decl);
@@ -3568,3 +3568,3 @@ setjmp_args_warning (void)
 	&& regno_clobbered_at_setjmp (REGNO (DECL_RTL (decl))))
-      warning ("%Jargument '%D' might be clobbered by `longjmp' or `vfork'",
+      warning (0, "%Jargument '%D' might be clobbered by `longjmp' or `vfork'",
 	       decl, decl);
@@ -3999,3 +3999,3 @@ init_function_start (tree subr)
       && AGGREGATE_TYPE_P (TREE_TYPE (DECL_RESULT (subr))))
-    warning ("function returns an aggregate");
+    warning (0, "function returns an aggregate");
 }
@@ -4327,3 +4327,3 @@ do_warn_unused_parameter (tree fn)
 	&& DECL_NAME (decl) && !DECL_ARTIFICIAL (decl))
-      warning ("%Junused parameter '%D'", decl, decl);
+      warning (0, "%Junused parameter '%D'", decl, decl);
 }
Index: gcse.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/gcse.c,v
retrieving revision 1.307
diff -p -U1 -r1.307  gcse.c
--- gcse.c	16 Jul 2004 22:28:28 -0000	1.307
+++ gcse.c	23 Jul 2004 22:39:18 -0000
@@ -6950,3 +6950,3 @@ is_too_expensive (const char *pass)
       if (warn_disabled_optimization)
-	warning ("%s: %d basic blocks and %d edges/basic block",
+	warning (0, "%s: %d basic blocks and %d edges/basic block",
 		 pass, n_basic_blocks, n_edges / n_basic_blocks);
@@ -6963,3 +6963,3 @@ is_too_expensive (const char *pass)
       if (warn_disabled_optimization)
-	warning ("%s: %d basic blocks and %d registers",
+	warning (0, "%s: %d basic blocks and %d registers",
 		 pass, n_basic_blocks, max_reg_num ());
Index: genautomata.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/genautomata.c,v
retrieving revision 1.58
diff -p -U1 -r1.58  genautomata.c
--- genautomata.c	16 Jul 2004 08:12:11 -0000	1.58
+++ genautomata.c	23 Jul 2004 22:39:18 -0000
@@ -2726,3 +2726,3 @@ add_presence_absence (unit_set_el_t dest
 			warning
-			  ("unit `%s' excludes and requires presence of `%s'",
+			  (0, "unit `%s' excludes and requires presence of `%s'",
 			   dst->unit_decl->name, unit->name);
@@ -2746,3 +2746,3 @@ add_presence_absence (unit_set_el_t dest
 		      warning
-			("unit `%s' requires absence and presence of `%s'",
+			(0, "unit `%s' requires absence and presence of `%s'",
 			 dst->unit_decl->name, unit->name);
@@ -2828,3 +2828,3 @@ process_decls (void)
 	      else
-		warning ("repeated declaration of automaton `%s'",
+		warning (0, "repeated declaration of automaton `%s'",
 			 DECL_AUTOMATON (decl)->name);
@@ -2948,3 +2948,3 @@ process_decls (void)
 			warning
-			  ("the same bypass `%s - %s' is already defined",
+			  (0, "the same bypass `%s - %s' is already defined",
 			   DECL_BYPASS (decl)->out_insn_name,
@@ -3058,3 +3058,3 @@ check_automaton_usage (void)
 	  else
-	    warning ("automaton `%s' is not used",
+	    warning (0, "automaton `%s' is not used",
 		     DECL_AUTOMATON (decl)->name);
@@ -3160,3 +3160,3 @@ check_usage (void)
 	  else
-	    warning ("unit `%s' is not used", DECL_UNIT (decl)->name);
+	    warning (0, "unit `%s' is not used", DECL_UNIT (decl)->name);
 	}
@@ -3167,3 +3167,3 @@ check_usage (void)
 	  else
-	    warning ("reservation `%s' is not used", DECL_RESERV (decl)->name);
+	    warning (0, "reservation `%s' is not used", DECL_RESERV (decl)->name);
 	}
@@ -9767,3 +9767,3 @@ check_automata_insn_issues (void)
 		    warning
-		      ("Automaton `%s': Insn `%s' will never be issued",
+		      (0, "Automaton `%s': Insn `%s' will never be issued",
 		       automaton->corresponding_automaton_decl->name,
@@ -9777,3 +9777,3 @@ check_automata_insn_issues (void)
 		  else
-		    warning ("Insn `%s' will never be issued",
+		    warning (0, "Insn `%s' will never be issued",
 			     reserv_ainsn->insn_reserv_decl->name);
Index: haifa-sched.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/haifa-sched.c,v
retrieving revision 1.249
diff -p -U1 -r1.249  haifa-sched.c
--- haifa-sched.c	20 Jul 2004 07:26:47 -0000	1.249
+++ haifa-sched.c	23 Jul 2004 22:39:19 -0000
@@ -182,3 +182,3 @@ fix_sched_param (const char *param, cons
   else
-    warning ("fix_sched_param: unknown param: %s", param);
+    warning (0, "fix_sched_param: unknown param: %s", param);
 }
Index: opts.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/opts.c,v
retrieving revision 1.74
diff -p -U1 -r1.74  opts.c
--- opts.c	15 Jul 2004 01:07:50 -0000	1.74
+++ opts.c	23 Jul 2004 22:39:19 -0000
@@ -251,3 +251,3 @@ complain_wrong_lang (const char *text, c
   /* Eventually this should become a hard error IMO.  */
-  warning ("command line option \"%s\" is valid for %s but not for %s",
+  warning (0, "command line option \"%s\" is valid for %s but not for %s",
 	   text, ok_langs, bad_lang);
@@ -619,3 +619,3 @@ decode_options (unsigned int argc, const
       if (warn_uninitialized == 1)
-	warning ("-Wuninitialized is not supported without -O");
+	warning (0, "-Wuninitialized is not supported without -O");
     }
@@ -632,4 +632,4 @@ decode_options (unsigned int argc, const
     {
-      warning 
-	    ("-freorder-blocks-and-partition does not work with exceptions");
+      warning (0,
+	       "-freorder-blocks-and-partition does not work with exceptions");
       flag_reorder_blocks_and_partition = 0;
@@ -892,3 +892,3 @@ common_handle_option (size_t scode, cons
       else
-	warning ("unknown tls-model \"%s\"", arg);
+	warning (0, "unknown tls-model \"%s\"", arg);
       break;
@@ -904,3 +904,3 @@ common_handle_option (size_t scode, cons
 #else
-        warning ("Andersen's PTA not available - libbanshee not compiled.");
+        warning (0, "Andersen's PTA not available - libbanshee not compiled.");
 #endif
@@ -910,3 +910,3 @@ common_handle_option (size_t scode, cons
 	{
-	  warning ("`%s`: unknown points-to analysis algorithm", arg);
+	  warning (0, "`%s`: unknown points-to analysis algorithm", arg);
 	  return 0;
@@ -1084,3 +1084,3 @@ set_debug_level (enum debug_info_type ty
 	  if (write_symbols == NO_DEBUG)
-	    warning ("target system does not support debug output");
+	    warning (0, "target system does not support debug output");
 	}
Index: passes.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/passes.c,v
retrieving revision 2.33
diff -p -U1 -r2.33  passes.c
--- passes.c	21 Jul 2004 18:57:09 -0000	2.33
+++ passes.c	23 Jul 2004 22:39:19 -0000
@@ -1412,3 +1412,3 @@ rest_of_handle_branch_target_load_optimi
     {
-      warning ("branch target register load optimization is not intended "
+      warning (0, "branch target register load optimization is not intended "
 	       "to be run twice");
Index: regclass.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/regclass.c,v
retrieving revision 1.191
diff -p -U1 -r1.191  regclass.c
--- regclass.c	22 Jul 2004 08:20:35 -0000	1.191
+++ regclass.c	23 Jul 2004 22:39:19 -0000
@@ -773,3 +773,3 @@ fix_register (const char *name, int fixe
     {
-      warning ("unknown register name: %s", name);
+      warning (0, "unknown register name: %s", name);
     }
@@ -787,3 +787,3 @@ globalize_reg (int i)
     {
-      warning ("register used for two global register variables");
+      warning (0, "register used for two global register variables");
       return;
@@ -792,3 +792,3 @@ globalize_reg (int i)
   if (call_used_regs[i] && ! fixed_regs[i])
-    warning ("call-clobbered register used for global register variable");
+    warning (0, "call-clobbered register used for global register variable");
 
Index: reload1.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/reload1.c,v
retrieving revision 1.441
diff -p -U1 -r1.441  reload1.c
--- reload1.c	9 Jul 2004 03:29:34 -0000	1.441
+++ reload1.c	23 Jul 2004 22:39:20 -0000
@@ -1225,6 +1225,6 @@ reload (rtx first, int global)
 	{
-	  warning ("frame size too large for reliable stack checking");
+	  warning (0, "frame size too large for reliable stack checking");
 	  if (! verbose_warned)
 	    {
-	      warning ("try reducing the number of local variables");
+	      warning (0, "try reducing the number of local variables");
 	      verbose_warned = 1;
Index: stmt.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/stmt.c,v
retrieving revision 1.381
diff -p -U1 -r1.381  stmt.c
--- stmt.c	21 Jul 2004 19:23:02 -0000	1.381
+++ stmt.c	23 Jul 2004 22:39:20 -0000
@@ -512,3 +512,3 @@ parse_output_constraint (const char **co
       if (p != constraint)
-	warning ("output constraint `%c' for operand %d is not at the beginning",
+	warning (0, "output constraint `%c' for operand %d is not at the beginning",
 		 *p, operand_num);
@@ -734,3 +734,3 @@ parse_input_constraint (const char **con
   if (saw_match && !*allows_reg)
-    warning ("matching constraint does not allow a register");
+    warning (0, "matching constraint does not allow a register");
 
@@ -1072,3 +1072,3 @@ expand_asm_operands (tree string, tree o
 	  else if (!allows_mem)
-	    warning ("asm operand %d probably doesn't match constraints",
+	    warning (0, "asm operand %d probably doesn't match constraints",
 		     i + noutputs);
@@ -1082,3 +1082,3 @@ expand_asm_operands (tree string, tree o
 	    {
-	      warning ("use of memory input without lvalue in "
+	      warning (0, "use of memory input without lvalue in "
 		       "asm operand %d is deprecated", i + noutputs);
@@ -1668,3 +1668,3 @@ warn_if_unused_value (tree exp, location
 
-      warning ("%Hvalue computed is not used", &locus);
+      warning (0, "%Hvalue computed is not used", &locus);
       return 1;
Index: stor-layout.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/stor-layout.c,v
retrieving revision 1.197
diff -p -U1 -r1.197  stor-layout.c
--- stor-layout.c	22 Jul 2004 08:20:37 -0000	1.197
+++ stor-layout.c	23 Jul 2004 22:39:21 -0000
@@ -511,5 +511,5 @@ layout_decl (tree decl, unsigned int kno
 	  if (compare_tree_int (size, size_as_int) == 0)
-	    warning ("%Jsize of '%D' is %d bytes", decl, decl, size_as_int);
+	    warning (0, "%Jsize of '%D' is %d bytes", decl, decl, size_as_int);
 	  else
-	    warning ("%Jsize of '%D' is larger than %d bytes",
+	    warning (0, "%Jsize of '%D' is larger than %d bytes",
                      decl, decl, larger_than_size);
@@ -895,6 +895,6 @@ place_field (record_layout_info rli, tre
 	      if (STRICT_ALIGNMENT)
-		warning ("%Jpacked attribute causes inefficient alignment "
+		warning (0, "%Jpacked attribute causes inefficient alignment "
                          "for '%D'", field, field);
 	      else
-		warning ("%Jpacked attribute is unnecessary for '%D'",
+		warning (0, "%Jpacked attribute is unnecessary for '%D'",
 			 field, field);
@@ -914,3 +914,3 @@ place_field (record_layout_info rli, tre
       if (warn_padded)
-	warning ("%Jpadding struct to align '%D'", field, field);
+	warning (0, "%Jpadding struct to align '%D'", field, field);
 
@@ -1256,3 +1256,3 @@ finalize_record_size (record_layout_info
       && simple_cst_equal (unpadded_size, TYPE_SIZE (rli->t)) == 0)
-    warning ("padding struct size to alignment boundary");
+    warning (0, "padding struct size to alignment boundary");
 
@@ -1286,5 +1286,5 @@ finalize_record_size (record_layout_info
 	      if (STRICT_ALIGNMENT)
-		warning ("packed attribute causes inefficient alignment for `%s'", name);
+		warning (0, "packed attribute causes inefficient alignment for `%s'", name);
 	      else
-		warning ("packed attribute is unnecessary for `%s'", name);
+		warning (0, "packed attribute is unnecessary for `%s'", name);
 	    }
@@ -1293,5 +1293,5 @@ finalize_record_size (record_layout_info
 	      if (STRICT_ALIGNMENT)
-		warning ("packed attribute causes inefficient alignment");
+		warning (0, "packed attribute causes inefficient alignment");
 	      else
-		warning ("packed attribute is unnecessary");
+		warning (0, "packed attribute is unnecessary");
 	    }
Index: toplev.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/toplev.c,v
retrieving revision 1.909
diff -p -U1 -r1.909  toplev.c
--- toplev.c	17 Jul 2004 00:31:07 -0000	1.909
+++ toplev.c	23 Jul 2004 22:39:21 -0000
@@ -839,3 +839,3 @@ check_global_declarations (tree *vec, in
 	  else
-	    warning ("%J'%F' declared `static' but never defined", decl, decl);
+	    warning (0, "%J'%F' declared `static' but never defined", decl, decl);
 	  /* This symbol is effectively an "extern" declaration now.  */
@@ -864,3 +864,3 @@ check_global_declarations (tree *vec, in
 	  && lang_hooks.decls.warn_unused_global (decl))
-	warning ("%J'%D' defined but not used", decl, decl);
+	warning (0, "%J'%D' defined but not used", decl, decl);
 
@@ -887,3 +887,3 @@ warn_deprecated_use (tree node)
       expanded_location xloc = expand_location (DECL_SOURCE_LOCATION (node));
-      warning ("`%s' is deprecated (declared at %s:%d)",
+      warning (0, "`%s' is deprecated (declared at %s:%d)",
 	       IDENTIFIER_POINTER (DECL_NAME (node)),
@@ -907,6 +907,6 @@ warn_deprecated_use (tree node)
 	  if (what)
-	    warning ("`%s' is deprecated (declared at %s:%d)", what,
+	    warning (0, "`%s' is deprecated (declared at %s:%d)", what,
 		       xloc.file, xloc.line);
 	  else
-	    warning ("type is deprecated (declared at %s:%d)",
+	    warning (0, "type is deprecated (declared at %s:%d)",
 		     xloc.file, xloc.line);
@@ -916,5 +916,5 @@ warn_deprecated_use (tree node)
 	  if (what)
-	    warning ("type is deprecated");
+	    warning (0, "type is deprecated");
 	  else
-	    warning ("`%s' is deprecated", what);
+	    warning (0, "`%s' is deprecated", what);
 	}
@@ -1147,3 +1147,3 @@ decode_d_option (const char *arg)
 	if (!enable_rtl_dump_file (c))
-	  warning ("unrecognized gcc debugging option: %c", c);
+	  warning (0, "unrecognized gcc debugging option: %c", c);
 	break;
@@ -1726,3 +1726,3 @@ process_options (void)
   if (flag_schedule_insns || flag_schedule_insns_after_reload)
-    warning ("instruction scheduling not supported on this target machine");
+    warning (0, "instruction scheduling not supported on this target machine");
 #endif
@@ -1730,3 +1730,3 @@ process_options (void)
   if (flag_delayed_branch)
-    warning ("this target machine does not have delayed branches");
+    warning (0, "this target machine does not have delayed branches");
 #endif
@@ -1749,3 +1749,3 @@ process_options (void)
       else
-	warning ("-f%sleading-underscore not supported on this target machine",
+	warning (0, "-f%sleading-underscore not supported on this target machine",
 		 flag_leading_underscore ? "" : "no-");
@@ -1834,6 +1834,6 @@ process_options (void)
 	  if (debug_info_level < DINFO_LEVEL_NORMAL)
-	    warning ("variable tracking requested, but useless unless "
+	    warning (0, "variable tracking requested, but useless unless "
 		     "producing debug info");
 	  else
-	    warning ("variable tracking requested, but not supported "
+	    warning (0, "variable tracking requested, but not supported "
 		     "by this debug format");
@@ -1868,3 +1868,3 @@ process_options (void)
 	{
-	  warning ("-ffunction-sections not supported for this target");
+	  warning (0, "-ffunction-sections not supported for this target");
 	  flag_function_sections = 0;
@@ -1873,3 +1873,3 @@ process_options (void)
 	{
-	  warning ("-fdata-sections not supported for this target");
+	  warning (0, "-fdata-sections not supported for this target");
 	  flag_data_sections = 0;
@@ -1880,3 +1880,3 @@ process_options (void)
     {
-      warning ("-ffunction-sections disabled; it makes profiling impossible");
+      warning (0, "-ffunction-sections disabled; it makes profiling impossible");
       flag_function_sections = 0;
@@ -1887,3 +1887,3 @@ process_options (void)
     {
-      warning ("-fprefetch-loop-arrays not supported for this target");
+      warning (0, "-fprefetch-loop-arrays not supported for this target");
       flag_prefetch_loop_arrays = 0;
@@ -1893,3 +1893,3 @@ process_options (void)
     {
-      warning ("-fprefetch-loop-arrays not supported for this target (try -march switches)");
+      warning (0, "-fprefetch-loop-arrays not supported for this target (try -march switches)");
       flag_prefetch_loop_arrays = 0;
@@ -1902,3 +1902,3 @@ process_options (void)
     {
-      warning ("-fprefetch-loop-arrays is not supported with -Os");
+      warning (0, "-fprefetch-loop-arrays is not supported with -Os");
       flag_prefetch_loop_arrays = 0;
@@ -1908,3 +1908,3 @@ process_options (void)
   if (flag_function_sections && write_symbols != NO_DEBUG)
-    warning ("-ffunction-sections may affect debugging on some targets");
+    warning (0, "-ffunction-sections may affect debugging on some targets");
 #endif
Index: toplev.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/toplev.h,v
retrieving revision 1.126
diff -p -U1 -r1.126  toplev.h
--- toplev.h	6 Jul 2004 22:42:40 -0000	1.126
+++ toplev.h	23 Jul 2004 22:39:21 -0000
@@ -67,3 +67,4 @@ extern void internal_error (const char *
      ATTRIBUTE_NORETURN;
-extern void warning (const char *, ...) ATTRIBUTE_GCC_FE_DIAG(1,2);
+extern void warning (int, const char *, ...) ATTRIBUTE_GCC_FE_DIAG(2,3);
+extern void warning0 (const char *, ...) ATTRIBUTE_GCC_FE_DIAG(1,2);
 extern void error (const char *, ...) ATTRIBUTE_GCC_FE_DIAG(1,2);
Index: tree-cfg.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-cfg.c,v
retrieving revision 2.35
diff -p -U1 -r2.35  tree-cfg.c
--- tree-cfg.c	22 Jul 2004 08:20:37 -0000	2.35
+++ tree-cfg.c	23 Jul 2004 22:39:21 -0000
@@ -1142,3 +1142,3 @@ remove_useless_stmts_warn_notreached (tr
       location_t loc = EXPR_LOCATION (stmt);
-      warning ("%Hwill never be executed", &loc);
+      warning (0, "%Hwill never be executed", &loc);
       return true;
@@ -1836,5 +1836,5 @@ remove_bb (basic_block bb)
 #ifdef USE_MAPPED_LOCATION
-    warning ("%Hwill never be executed", &loc);
+    warning (0, "%Hwill never be executed", &loc);
 #else
-    warning ("%Hwill never be executed", loc);
+    warning (0, "%Hwill never be executed", loc);
 #endif
@@ -4886,3 +4886,3 @@ execute_warn_function_return (void)
       && !lang_hooks.function.missing_noreturn_ok_p (cfun->decl))
-    warning ("%Jfunction might be possible candidate for attribute `noreturn'",
+    warning (0, "%Jfunction might be possible candidate for attribute `noreturn'",
 	     cfun->decl);
@@ -4912,3 +4912,3 @@ execute_warn_function_return (void)
 	location = cfun->function_end_locus;
-      warning ("%H`noreturn' function does return", &location);
+      warning (0, "%H`noreturn' function does return", &location);
 #else
@@ -4916,3 +4916,3 @@ execute_warn_function_return (void)
 	locus = &cfun->function_end_locus;
-      warning ("%H`noreturn' function does return", locus);
+      warning (0, "%H`noreturn' function does return", locus);
 #endif
@@ -4936,3 +4936,3 @@ execute_warn_function_return (void)
 		  location = cfun->function_end_locus;
-	      warning ("%Hcontrol reaches end of non-void function", &location);
+	      warning (0, "%Hcontrol reaches end of non-void function", &location);
 #else
@@ -4941,3 +4941,3 @@ execute_warn_function_return (void)
 		locus = &cfun->function_end_locus;
-	      warning ("%Hcontrol reaches end of non-void function", locus);
+	      warning (0, "%Hcontrol reaches end of non-void function", locus);
 #endif
Index: tree-dump.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-dump.c,v
retrieving revision 1.28
diff -p -U1 -r1.28  tree-dump.c
--- tree-dump.c	20 Jul 2004 12:24:57 -0000	1.28
+++ tree-dump.c	23 Jul 2004 22:39:21 -0000
@@ -877,3 +877,3 @@ dump_switch_p_1 (const char *arg, struct
 	  }
-      warning ("ignoring unknown option `%.*s' in `-fdump-%s'",
+      warning (0, "ignoring unknown option `%.*s' in `-fdump-%s'",
 	       length, ptr, dfi->swtch);
Index: tree-inline.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-inline.c,v
retrieving revision 1.130
diff -p -U1 -r1.130  tree-inline.c
--- tree-inline.c	22 Jul 2004 19:01:03 -0000	1.130
+++ tree-inline.c	23 Jul 2004 22:39:22 -0000
@@ -1175,3 +1175,3 @@ inlinable_function_p (tree fn)
       else if (do_warning)
-	warning (inline_forbidden_reason, fn, fn);
+	warning (0, inline_forbidden_reason, fn, fn);
 
@@ -1531,4 +1531,4 @@ expand_call_inline (tree *tp, int *walk_
 	{
-	  warning ("%Jinlining failed in call to '%F': %s", fn, fn, reason);
-	  warning ("called from here");
+	  warning (0, "%Jinlining failed in call to '%F': %s", fn, fn, reason);
+	  warning (0, "called from here");
 	}
Index: tree-mudflap.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-mudflap.c,v
retrieving revision 2.15
diff -p -U1 -r2.15  tree-mudflap.c
--- tree-mudflap.c	20 Jul 2004 20:01:12 -0000	2.15
+++ tree-mudflap.c	23 Jul 2004 22:39:22 -0000
@@ -733,3 +733,3 @@ mf_xform_derefs_1 (block_stmt_iterator *
     case ARRAY_RANGE_REF:
-      warning ("mudflap checking not yet implemented for ARRAY_RANGE_REF");
+      warning (0, "mudflap checking not yet implemented for ARRAY_RANGE_REF");
       return;
@@ -964,3 +964,3 @@ mx_register_decls (tree decl, tree *stmt
                 {
-                  warning ("mudflap cannot handle variable-sized declaration `%s'",
+                  warning (0, "mudflap cannot handle variable-sized declaration `%s'",
                          IDENTIFIER_POINTER (DECL_NAME (decl)));
@@ -1208,3 +1208,3 @@ mudflap_enqueue_decl (tree obj)
           {
-            warning ("mudflap cannot track lifetime of `%s'",
+            warning (0, "mudflap cannot track lifetime of `%s'",
                      IDENTIFIER_POINTER (DECL_NAME (obj)));
Index: tree-optimize.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-optimize.c,v
retrieving revision 2.32
diff -p -U1 -r2.32  tree-optimize.c
--- tree-optimize.c	22 Jul 2004 08:20:38 -0000	2.32
+++ tree-optimize.c	23 Jul 2004 22:39:22 -0000
@@ -589,6 +589,6 @@ tree_rest_of_compilation (tree fndecl, b
 	  if (compare_tree_int (TYPE_SIZE_UNIT (ret_type), size_as_int) == 0)
-	    warning ("%Jsize of return value of '%D' is %u bytes",
+	    warning (0, "%Jsize of return value of '%D' is %u bytes",
                      fndecl, fndecl, size_as_int);
 	  else
-	    warning ("%Jsize of return value of '%D' is larger than %wd bytes",
+	    warning (0, "%Jsize of return value of '%D' is larger than %wd bytes",
                      fndecl, fndecl, larger_than_size);
Index: tree-ssa.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-ssa.c,v
retrieving revision 2.22
diff -p -U1 -r2.22  tree-ssa.c
--- tree-ssa.c	22 Jul 2004 16:39:48 -0000	2.22
+++ tree-ssa.c	23 Jul 2004 22:39:22 -0000
@@ -1259,3 +1259,3 @@ warn_uninit (tree t, const char *msgid, 
     locus = &DECL_SOURCE_LOCATION (var);
-  warning (msgid, locus, var);
+  warning (0, msgid, locus, var);
   TREE_NO_WARNING (var) = 1;
Index: varasm.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/varasm.c,v
retrieving revision 1.434
diff -p -U1 -r1.434  varasm.c
--- varasm.c	21 Jul 2004 08:57:05 -0000	1.434
+++ varasm.c	23 Jul 2004 22:39:23 -0000
@@ -826,3 +826,3 @@ make_decl_rtl (tree decl, const char *as
 	  if (TREE_THIS_VOLATILE (decl))
-	    warning ("volatile register variables don't work as you might wish");
+	    warning (0, "volatile register variables don't work as you might wish");
 
@@ -1451,3 +1451,3 @@ assemble_variable (tree decl, int top_le
     {
-      warning ("%Jalignment of '%D' is greater than maximum object "
+      warning (0, "%Jalignment of '%D' is greater than maximum object "
                "file alignment.  Using %d", decl, decl,
@@ -1522,3 +1522,3 @@ assemble_variable (tree decl, int top_le
       if ((unsigned HOST_WIDE_INT) DECL_ALIGN (decl) / BITS_PER_UNIT > rounded)
-	warning ("%Jrequested alignment for '%D' is greater than "
+	warning (0, "%Jrequested alignment for '%D' is greater than "
                  "implemented alignment of %d", decl, decl, rounded);
@@ -4066,3 +4066,3 @@ merge_weak (tree newdecl, tree olddecl)
 	       && TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (olddecl)))
-	warning ("%Jweak declaration of '%D' after first use results "
+	warning (0, "%Jweak declaration of '%D' after first use results "
                  "in unspecified behavior", newdecl, newdecl);
@@ -4109,3 +4109,3 @@ declare_weak (tree decl)
   else
-    warning ("%Jweak declaration of '%D' not supported", decl, decl);
+    warning (0, "%Jweak declaration of '%D' not supported", decl, decl);
 
@@ -4138,3 +4138,3 @@ weak_finish (void)
 #ifdef ASM_OUTPUT_WEAK_ALIAS
-      warning ("only weak aliases are supported in this configuration");
+      warning (0, "only weak aliases are supported in this configuration");
       return;
@@ -4231,6 +4231,6 @@ assemble_alias (tree decl, tree target A
   else
-    warning ("only weak aliases are supported in this configuration");
+    warning (0, "only weak aliases are supported in this configuration");
 
 #else
-  warning ("alias definitions not supported in this configuration; ignored");
+  warning (0, "alias definitions not supported in this configuration; ignored");
 #endif
@@ -4263,3 +4263,3 @@ default_assemble_visibility (tree decl, 
 #else
-  warning ("visibility attribute not supported in this configuration; ignored");
+  warning (0, "visibility attribute not supported in this configuration; ignored");
 #endif
Index: ada/misc.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ada/misc.c,v
retrieving revision 1.87
diff -p -U1 -r1.87  ada/misc.c
--- ada/misc.c	13 Jul 2004 21:40:50 -0000	1.87
+++ ada/misc.c	23 Jul 2004 22:39:23 -0000
@@ -302,3 +302,3 @@ gnat_handle_option (size_t scode, const 
     case OPT_gant:
-      warning ("`-gnat' misspelled as `-gant'");
+      warning (0, "`-gnat' misspelled as `-gant'");
 
Index: config/darwin-c.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/darwin-c.c,v
retrieving revision 1.10
diff -p -U1 -r1.10  config/darwin-c.c
--- config/darwin-c.c	5 May 2004 18:25:52 -0000	1.10
+++ config/darwin-c.c	23 Jul 2004 22:39:23 -0000
@@ -35,3 +35,3 @@ Boston, MA 02111-1307, USA.  */
 
-#define BAD(msgid) do { warning (msgid); return; } while (0)
+#define BAD(msgid) do { warning0 (msgid); return; } while (0)
 
@@ -111,3 +111,3 @@ darwin_pragma_options (cpp_reader *pfile
   if (c_lex (&x) != CPP_EOF)
-    warning ("junk at end of '#pragma options'");
+    warning (0, "junk at end of '#pragma options'");
 
@@ -121,3 +121,3 @@ darwin_pragma_options (cpp_reader *pfile
   else
-    warning ("malformed '#pragma options align={mac68k|power|reset}', ignoring");
+    warning (0, "malformed '#pragma options align={mac68k|power|reset}', ignoring");
 }
@@ -154,3 +154,3 @@ darwin_pragma_unused (cpp_reader *pfile 
   if (c_lex (&x) != CPP_EOF)
-    warning ("junk at end of '#pragma unused'");
+    warning (0, "junk at end of '#pragma unused'");
 }
@@ -364,3 +364,3 @@ find_subframework_file (const char *fnam
 	      if (fast_dir)
-		warning ("subframework include %s conflicts with framework include",
+		warning (0, "subframework include %s conflicts with framework include",
 			 fname);
Index: config/darwin.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/darwin.c,v
retrieving revision 1.72
diff -p -U1 -r1.72  config/darwin.c
--- config/darwin.c	23 Jul 2004 04:35:14 -0000	1.72
+++ config/darwin.c	23 Jul 2004 22:39:23 -0000
@@ -1211,3 +1211,3 @@ darwin_assemble_visibility (tree decl, i
   else
-    warning ("internal and protected visibility attributes not supported"
+    warning (0, "internal and protected visibility attributes not supported"
 	     "in this configuration; ignored");
Index: config/lynx-ng.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/lynx-ng.h,v
retrieving revision 1.8
diff -p -U1 -r1.8  config/lynx-ng.h
--- config/lynx-ng.h	5 Jul 2004 19:49:14 -0000	1.8
+++ config/lynx-ng.h	23 Jul 2004 22:39:23 -0000
@@ -92,5 +92,5 @@ Boston, MA 02111-1307, USA.  */
 { if (TARGET_SYSTEM_V && profile_flag)			\
-    warning ("-msystem-v and -p are incompatible");		\
+    warning (0, "-msystem-v and -p are incompatible");		\
   if (TARGET_SYSTEM_V && TARGET_THREADS)			\
-    warning ("-msystem-v and -mthreads are incompatible"); }
+    warning (0, "-msystem-v and -mthreads are incompatible"); }
 
Index: config/lynx.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/lynx.h,v
retrieving revision 1.14
diff -p -U1 -r1.14  config/lynx.h
--- config/lynx.h	21 Aug 2003 17:27:17 -0000	1.14
+++ config/lynx.h	23 Jul 2004 22:39:23 -0000
@@ -115,5 +115,5 @@ do {								\
   if (TARGET_SYSTEM_V && profile_flag)				\
-    warning ("-msystem-v and -p are incompatible");		\
+    warning (0, "-msystem-v and -p are incompatible");		\
   if (TARGET_SYSTEM_V && TARGET_THREADS)			\
-    warning ("-msystem-v and -mthreads are incompatible");	\
+    warning (0, "-msystem-v and -mthreads are incompatible");	\
 } while (0)
Index: config/alpha/alpha.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/alpha/alpha.c,v
retrieving revision 1.379
diff -p -U1 -r1.379  config/alpha/alpha.c
--- config/alpha/alpha.c	20 Jul 2004 07:26:58 -0000	1.379
+++ config/alpha/alpha.c	23 Jul 2004 22:39:24 -0000
@@ -253,3 +253,3 @@ override_options (void)
     {
-      warning ("-f%s ignored for Unicos/Mk (not supported)",
+      warning (0, "-f%s ignored for Unicos/Mk (not supported)",
 	       (flag_pic > 1) ? "PIC" : "pic");
@@ -277,3 +277,3 @@ override_options (void)
       if (TARGET_ABI_UNICOSMK)
-	warning ("-mieee not supported on Unicos/Mk");
+	warning (0, "-mieee not supported on Unicos/Mk");
       else
@@ -288,3 +288,3 @@ override_options (void)
       if (TARGET_ABI_UNICOSMK)
-	warning ("-mieee-with-inexact not supported on Unicos/Mk");
+	warning (0, "-mieee-with-inexact not supported on Unicos/Mk");
       else
@@ -384,3 +384,3 @@ override_options (void)
     {
-      warning ("trap mode not supported on Unicos/Mk");
+      warning (0, "trap mode not supported on Unicos/Mk");
       alpha_fptm = ALPHA_FPTM_N;
@@ -391,3 +391,3 @@ override_options (void)
     {
-      warning ("fp software completion requires -mtrap-precision=i");
+      warning (0, "fp software completion requires -mtrap-precision=i");
       alpha_tp = ALPHA_TP_INSN;
@@ -407,3 +407,3 @@ override_options (void)
 	{
-	  warning ("rounding mode not supported for VAX floats");
+	  warning (0, "rounding mode not supported for VAX floats");
 	  alpha_fprm = ALPHA_FPRM_NORM;
@@ -412,3 +412,3 @@ override_options (void)
 	{
-	  warning ("trap mode not supported for VAX floats");
+	  warning (0, "trap mode not supported for VAX floats");
 	  alpha_fptm = ALPHA_FPTM_SU;
@@ -416,3 +416,3 @@ override_options (void)
       if (target_flags_explicit & MASK_LONG_DOUBLE_128)
-	warning ("128-bit long double not supported for VAX floats");
+	warning (0, "128-bit long double not supported for VAX floats");
       target_flags &= ~MASK_LONG_DOUBLE_128;
@@ -444,3 +444,3 @@ override_options (void)
 	  {
-	    warning ("L%d cache latency unknown for %s",
+	    warning (0, "L%d cache latency unknown for %s",
 		     lat, alpha_cpu_name[alpha_cpu]);
@@ -459,3 +459,3 @@ override_options (void)
       {
-	warning ("bad value `%s' for -mmemory-latency", alpha_mlat_string);
+	warning (0, "bad value `%s' for -mmemory-latency", alpha_mlat_string);
 	lat = 3;
Index: config/arc/arc.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arc/arc.c,v
retrieving revision 1.60
diff -p -U1 -r1.60  config/arc/arc.c
--- config/arc/arc.c	20 Jul 2004 07:27:02 -0000	1.60
+++ config/arc/arc.c	23 Jul 2004 22:39:24 -0000
@@ -391,3 +391,3 @@ arc_handle_interrupt_attribute (tree *no
     {
-      warning ("argument of `%s' attribute is not a string constant",
+      warning (0, "argument of `%s' attribute is not a string constant",
 	       IDENTIFIER_POINTER (name));
@@ -398,3 +398,3 @@ arc_handle_interrupt_attribute (tree *no
     {
-      warning ("argument of `%s' attribute is not \"ilink1\" or \"ilink2\"",
+      warning (0, "argument of `%s' attribute is not \"ilink1\" or \"ilink2\"",
 	       IDENTIFIER_POINTER (name));
Index: config/arm/arm.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/arm.c,v
retrieving revision 1.380
diff -p -U1 -r1.380  config/arm/arm.c
--- config/arm/arm.c	20 Jul 2004 23:21:15 -0000	1.380
+++ config/arm/arm.c	23 Jul 2004 22:39:25 -0000
@@ -654,3 +654,3 @@ arm_override_options (void)
 		    if (insn_flags != 0 && (insn_flags ^ sel->flags))
-		      warning ("switch -mcpu=%s conflicts with -march= switch",
+		      warning (0, "switch -mcpu=%s conflicts with -march= switch",
 			       ptr->string);
@@ -770,3 +770,3 @@ arm_override_options (void)
     {
-      warning ("target CPU does not support interworking" );
+      warning (0, "target CPU does not support interworking" );
       target_flags &= ~ARM_FLAG_INTERWORK;
@@ -776,3 +776,3 @@ arm_override_options (void)
     {
-      warning ("target CPU does not support THUMB instructions");
+      warning (0, "target CPU does not support THUMB instructions");
       target_flags &= ~ARM_FLAG_THUMB;
@@ -782,3 +782,3 @@ arm_override_options (void)
     {
-      /* warning ("ignoring -mapcs-frame because -mthumb was used"); */
+      /* warning (0, "ignoring -mapcs-frame because -mthumb was used"); */
       target_flags &= ~ARM_FLAG_APCS_FRAME;
@@ -790,9 +790,9 @@ arm_override_options (void)
       && TARGET_ARM)
-    warning ("enabling backtrace support is only meaningful when compiling for the Thumb");
+    warning (0, "enabling backtrace support is only meaningful when compiling for the Thumb");
 
   if (TARGET_ARM && TARGET_CALLEE_INTERWORKING)
-    warning ("enabling callee interworking support is only meaningful when compiling for the Thumb");
+    warning (0, "enabling callee interworking support is only meaningful when compiling for the Thumb");
 
   if (TARGET_ARM && TARGET_CALLER_INTERWORKING)
-    warning ("enabling caller interworking support is only meaningful when compiling for the Thumb");
+    warning (0, "enabling caller interworking support is only meaningful when compiling for the Thumb");
 
@@ -800,3 +800,3 @@ arm_override_options (void)
     {
-      warning ("-mapcs-stack-check incompatible with -mno-apcs-frame");
+      warning (0, "-mapcs-stack-check incompatible with -mno-apcs-frame");
       target_flags |= ARM_FLAG_APCS_FRAME;
@@ -811,3 +811,3 @@ arm_override_options (void)
   if (TARGET_APCS_REENT)
-    warning ("APCS reentrant code not supported.  Ignored");
+    warning (0, "APCS reentrant code not supported.  Ignored");
   
@@ -819,3 +819,3 @@ arm_override_options (void)
       && (TARGET_DEFAULT & ARM_FLAG_APCS_FRAME))
-    warning ("-g with -mno-apcs-frame may not give sensible debugging");
+    warning (0, "-g with -mno-apcs-frame may not give sensible debugging");
   
@@ -827,3 +827,3 @@ arm_override_options (void)
   if (TARGET_APCS_FLOAT)
-    warning ("passing floating point arguments in fp regs not yet supported");
+    warning (0, "passing floating point arguments in fp regs not yet supported");
   
@@ -984,3 +984,3 @@ arm_override_options (void)
       else
-	warning ("structure size boundary can only be set to %s",
+	warning (0, "structure size boundary can only be set to %s",
 		 ARM_DOUBLEWORD_ALIGN ? "8, 32 or 64": "8 or 32");
@@ -993,3 +993,3 @@ arm_override_options (void)
       if (!flag_pic)
-	warning ("-mpic-register= is useless without -fpic");
+	warning (0, "-mpic-register= is useless without -fpic");
 
@@ -2476,3 +2476,3 @@ arm_handle_fndecl_attribute (tree *node,
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
@@ -2494,3 +2494,3 @@ arm_handle_isr_attribute (tree *node, tr
 	{
-	  warning ("`%s' attribute only applies to functions",
+	  warning (0, "`%s' attribute only applies to functions",
 		   IDENTIFIER_POINTER (name));
@@ -2508,3 +2508,3 @@ arm_handle_isr_attribute (tree *node, tr
 	    {
-	      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+	      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
 	      *no_add_attrs = true;
@@ -2535,3 +2535,3 @@ arm_handle_isr_attribute (tree *node, tr
 	    {
-	      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+	      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
 	    }
@@ -11580,3 +11580,3 @@ arm_debugger_arg_offset (int value, rtx 
       debug_rtx (addr);
-      warning ("unable to compute real location of stacked parameter");
+      warning (0, "unable to compute real location of stacked parameter");
       value = 8; /* XXX magic hack */
Index: config/avr/avr.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/avr/avr.c,v
retrieving revision 1.118
diff -p -U1 -r1.118  config/avr/avr.c
--- config/avr/avr.c	13 Mar 2004 06:43:30 -0000	1.118
+++ config/avr/avr.c	23 Jul 2004 22:39:26 -0000
@@ -520,3 +520,3 @@ out_adj_frame_ptr (FILE *file, int adj)
 	  if (adj < -63 || adj > 63)
-	    warning ("large frame pointer change (%d) with -mtiny-stack", adj);
+	    warning (0, "large frame pointer change (%d) with -mtiny-stack", adj);
 
@@ -4539,3 +4539,3 @@ avr_handle_progmem_attribute (tree *node
 	    {
-	      warning ("only initialized variables can be placed into "
+	      warning (0, "only initialized variables can be placed into "
 		       "program memory area");
@@ -4546,3 +4546,3 @@ avr_handle_progmem_attribute (tree *node
 	{
-	  warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+	  warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
 	  *no_add_attrs = true;
@@ -4565,3 +4565,3 @@ avr_handle_fndecl_attribute (tree *node,
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
@@ -4633,3 +4633,3 @@ avr_section_type_flags (tree decl, const
       else
-	warning ("only uninitialized variables can be placed in the "
+	warning (0, "only uninitialized variables can be placed in the "
 		 ".noinit section");
Index: config/c4x/c4x-c.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/c4x/c4x-c.c,v
retrieving revision 1.6
diff -p -U1 -r1.6  config/c4x/c4x-c.c
--- config/c4x/c4x-c.c	28 Sep 2003 12:09:07 -0000	1.6
+++ config/c4x/c4x-c.c	23 Jul 2004 22:39:26 -0000
@@ -59,3 +59,3 @@ static int c4x_parse_pragma (const char 
    -1 for a malformed pragma.  */
-#define BAD(msgid, arg) do { warning (msgid, arg); return -1; } while (0)
+#define BAD(msgid, arg) do { warning0 (msgid, arg); return -1; } while (0)
 
@@ -88,3 +88,3 @@ c4x_parse_pragma (name, func, sect)
   if (c_lex (&x) != CPP_EOF)
-    warning ("junk at end of '#pragma %s'", name);
+    warning (0, "junk at end of '#pragma %s'", name);
 
Index: config/c4x/c4x.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/c4x/c4x.c,v
retrieving revision 1.157
diff -p -U1 -r1.157  config/c4x/c4x.c
--- config/c4x/c4x.c	20 Jul 2004 07:27:05 -0000	1.157
+++ config/c4x/c4x.c	23 Jul 2004 22:39:26 -0000
@@ -312,3 +312,3 @@ c4x_override_options (void)
     default:
-      warning ("unknown CPU version %d, using 40.\n", c4x_cpu_version);
+      warning (0, "unknown CPU version %d, using 40.\n", c4x_cpu_version);
       c4x_cpu_version = 40;
@@ -4501,3 +4501,3 @@ c4x_handle_fntype_attribute (tree *node,
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
Index: config/cris/cris.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/cris/cris.c,v
retrieving revision 1.57
diff -p -U1 -r1.57  config/cris/cris.c
--- config/cris/cris.c	14 Jul 2004 06:24:12 -0000	1.57
+++ config/cris/cris.c	23 Jul 2004 22:39:27 -0000
@@ -926,3 +926,3 @@ cris_target_asm_function_prologue (FILE 
   if (cris_max_stackframe && framesize > cris_max_stackframe)
-    warning ("stackframe too big: %d bytes", framesize);
+    warning (0, "stackframe too big: %d bytes", framesize);
 }
@@ -2717,3 +2717,3 @@ cris_override_options (void)
     {
-      warning ("that particular -g option is invalid with -maout and -melinux");
+      warning (0, "that particular -g option is invalid with -maout and -melinux");
       write_symbols = DBX_DEBUG;
Index: config/h8300/h8300.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/h8300/h8300.c,v
retrieving revision 1.290
diff -p -U1 -r1.290  config/h8300/h8300.c
--- config/h8300/h8300.c	8 Jul 2004 03:40:31 -0000	1.290
+++ config/h8300/h8300.c	23 Jul 2004 22:39:27 -0000
@@ -5754,3 +5754,3 @@ h8300_handle_fndecl_attribute (tree *nod
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
@@ -5778,3 +5778,3 @@ h8300_handle_eightbit_data_attribute (tr
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -5801,3 +5801,3 @@ h8300_handle_tiny_data_attribute (tree *
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
Index: config/i386/cygming.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/cygming.h,v
retrieving revision 1.15
diff -p -U1 -r1.15  config/i386/cygming.h
--- config/i386/cygming.h	30 Apr 2004 18:50:27 -0000	1.15
+++ config/i386/cygming.h	23 Jul 2004 22:39:27 -0000
@@ -189,3 +189,3 @@ do {									\
     {									\
-      warning ("-f%s ignored for target (all code is position independent)",\
+      warning (0, "-f%s ignored for target (all code is position independent)",\
 	       (flag_pic > 1) ? "PIC" : "pic");				\
Index: config/i386/djgpp.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/djgpp.h,v
retrieving revision 1.48
diff -p -U1 -r1.48  config/i386/djgpp.h
--- config/i386/djgpp.h	31 Jan 2004 02:06:57 -0000	1.48
+++ config/i386/djgpp.h	23 Jul 2004 22:39:27 -0000
@@ -190,3 +190,3 @@ do \
       {	\
-        warning ("-mbnu210 is ignored (option is obsolete)"); \
+        warning (0, "-mbnu210 is ignored (option is obsolete)"); \
       }	\
Index: config/i386/i386.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.c,v
retrieving revision 1.697
diff -p -U1 -r1.697  config/i386/i386.c
--- config/i386/i386.c	23 Jul 2004 04:35:15 -0000	1.697
+++ config/i386/i386.c	23 Jul 2004 22:39:28 -0000
@@ -1372,3 +1372,3 @@ override_options (void)
     {
-      warning ("-malign-loops is obsolete, use -falign-loops");
+      warning (0, "-malign-loops is obsolete, use -falign-loops");
       if (align_loops == 0)
@@ -1385,3 +1385,3 @@ override_options (void)
     {
-      warning ("-malign-jumps is obsolete, use -falign-jumps");
+      warning (0, "-malign-jumps is obsolete, use -falign-jumps");
       if (align_jumps == 0)
@@ -1398,3 +1398,3 @@ override_options (void)
     {
-      warning ("-malign-functions is obsolete, use -falign-functions");
+      warning (0, "-malign-functions is obsolete, use -falign-functions");
       if (align_functions == 0)
@@ -1513,3 +1513,3 @@ override_options (void)
 	    {
-	      warning ("SSE instruction set disabled, using 387 arithmetics");
+	      warning (0, "SSE instruction set disabled, using 387 arithmetics");
 	      ix86_fpmath = FPMATH_387;
@@ -1524,3 +1524,3 @@ override_options (void)
 	    {
-	      warning ("SSE instruction set disabled, using 387 arithmetics");
+	      warning (0, "SSE instruction set disabled, using 387 arithmetics");
 	      ix86_fpmath = FPMATH_387;
@@ -1529,3 +1529,3 @@ override_options (void)
 	    {
-	      warning ("387 instruction set disabled, using SSE arithmetics");
+	      warning (0, "387 instruction set disabled, using SSE arithmetics");
 	      ix86_fpmath = FPMATH_SSE;
@@ -1674,3 +1674,3 @@ ix86_handle_cdecl_attribute (tree *node,
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
@@ -1702,3 +1702,3 @@ ix86_handle_cdecl_attribute (tree *node,
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -1720,3 +1720,3 @@ ix86_handle_regparm_attribute (tree *nod
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
@@ -1731,3 +1731,3 @@ ix86_handle_regparm_attribute (tree *nod
 	{
-	  warning ("`%s' attribute requires an integer constant argument",
+	  warning (0, "`%s' attribute requires an integer constant argument",
 		   IDENTIFIER_POINTER (name));
@@ -1737,3 +1737,3 @@ ix86_handle_regparm_attribute (tree *nod
 	{
-	  warning ("argument to `%s' attribute larger than %d",
+	  warning (0, "argument to `%s' attribute larger than %d",
 		   IDENTIFIER_POINTER (name), REGPARM_MAX);
@@ -2729,3 +2729,3 @@ function_arg (CUMULATIVE_ARGS *cum,	/* c
 		warnedsse = true;
-		warning ("SSE vector argument without SSE enabled "
+		warning (0, "SSE vector argument without SSE enabled "
 			 "changes the ABI");
@@ -2745,3 +2745,3 @@ function_arg (CUMULATIVE_ARGS *cum,	/* c
 		warnedmmx = true;
-		warning ("MMX vector argument without MMX enabled "
+		warning (0, "MMX vector argument without MMX enabled "
 			 "changes the ABI");
@@ -2991,3 +2991,3 @@ ix86_struct_value_rtx (tree type, int in
 	  warned = true;
-	  warning ("SSE vector return without SSE enabled changes the ABI");
+	  warning (0, "SSE vector return without SSE enabled changes the ABI");
 	}
@@ -15313,3 +15313,3 @@ ix86_handle_struct_attribute (tree *node
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -15322,3 +15322,3 @@ ix86_handle_struct_attribute (tree *node
     {
-      warning ("`%s' incompatible attribute ignored",
+      warning (0, "`%s' incompatible attribute ignored",
                IDENTIFIER_POINTER (name));
Index: config/i386/winnt.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/winnt.c,v
retrieving revision 1.68
diff -p -U1 -r1.68  config/i386/winnt.c
--- config/i386/winnt.c	30 Jun 2004 05:04:36 -0000	1.68
+++ config/i386/winnt.c	23 Jul 2004 22:39:28 -0000
@@ -85,3 +85,3 @@ ix86_handle_dll_attribute (tree * pnode,
 	{
-	  warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+	  warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
 	  *no_add_attrs = true;
@@ -148,3 +148,3 @@ ix86_handle_shared_attribute (tree *node
     {
-      warning ("`%s' attribute only applies to variables",
+      warning (0, "`%s' attribute only applies to variables",
 	       IDENTIFIER_POINTER (name));
@@ -247,3 +247,3 @@ i386_pe_dllimport_p (tree decl)
 	  if (!DECL_ARTIFICIAL (decl))
-	    warning ("%Jfunction '%D' is defined after prior declaration "
+	    warning (0, "%Jfunction '%D' is defined after prior declaration "
 		     "as dllimport: attribute ignored", decl, decl);
@@ -258,3 +258,3 @@ i386_pe_dllimport_p (tree decl)
 	  if (extra_warnings)
-	    warning ("%Jinline function '%D' is declared as dllimport: "
+	    warning (0, "%Jinline function '%D' is declared as dllimport: "
 		     "attribute ignored.", decl, decl);
@@ -329,3 +329,3 @@ i386_pe_mark_dllexport (tree decl)
     {
-      warning ("%Jinconsistent dll linkage for '%D', dllexport assumed.",
+      warning (0, "%Jinconsistent dll linkage for '%D', dllexport assumed.",
 	       decl, decl);
@@ -529,6 +529,6 @@ i386_pe_encode_section_info (tree decl, 
       if (DECL_INITIAL (decl) || !DECL_EXTERNAL (decl))
-	warning ("%J'%D' defined locally after being "
+	warning (0, "%J'%D' defined locally after being "
 		 "referenced with dllimport linkage", decl, decl);
       else
-	warning ("%J'%D' redeclared without dllimport attribute "
+	warning (0, "%J'%D' redeclared without dllimport attribute "
 		 "after being referenced with dllimport linkage", decl, decl);
Index: config/ia64/ia64-c.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/ia64/ia64-c.c,v
retrieving revision 1.7
diff -p -U1 -r1.7  config/ia64/ia64-c.c
--- config/ia64/ia64-c.c	7 Feb 2004 14:14:52 -0000	1.7
+++ config/ia64/ia64-c.c	23 Jul 2004 22:39:28 -0000
@@ -51,3 +51,3 @@ ia64_hpux_handle_builtin_pragma (cpp_rea
   if (type != CPP_EOF)
-    warning ("malformed #pragma builtin");
+    warning (0, "malformed #pragma builtin");
 }
Index: config/ia64/ia64.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/ia64/ia64.c,v
retrieving revision 1.309
diff -p -U1 -r1.309  config/ia64/ia64.c
--- config/ia64/ia64.c	20 Jul 2004 07:27:08 -0000	1.309
+++ config/ia64/ia64.c	23 Jul 2004 22:39:29 -0000
@@ -1055,3 +1055,3 @@ ia64_handle_model_attribute (tree *node,
     {
-      warning ("invalid argument of `%s' attribute",
+      warning (0, "invalid argument of `%s' attribute",
 	       IDENTIFIER_POINTER (name));
@@ -1087,3 +1087,3 @@ ia64_handle_model_attribute (tree *node,
     default:
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -4683,3 +4683,3 @@ fix_range (const char *const_str)
 	{
-	  warning ("value of -mfixed-range must have form REG1-REG2");
+	  warning (0, "value of -mfixed-range must have form REG1-REG2");
 	  return;
@@ -4695,3 +4695,3 @@ fix_range (const char *const_str)
 	{
-	  warning ("unknown register name: %s", str);
+	  warning (0, "unknown register name: %s", str);
 	  return;
@@ -4702,3 +4702,3 @@ fix_range (const char *const_str)
 	{
-	  warning ("unknown register name: %s", dash + 1);
+	  warning (0, "unknown register name: %s", dash + 1);
 	  return;
@@ -4710,3 +4710,3 @@ fix_range (const char *const_str)
 	{
-	  warning ("%s-%s is an empty range", str, dash + 1);
+	  warning (0, "%s-%s is an empty range", str, dash + 1);
 	  return;
@@ -4761,3 +4761,3 @@ ia64_override_options (void)
 	{
-	  warning ("cannot optimize floating point division for both latency and throughput");
+	  warning (0, "cannot optimize floating point division for both latency and throughput");
 	  target_flags &= ~MASK_INLINE_FLOAT_DIV_THR;
@@ -4778,3 +4778,3 @@ ia64_override_options (void)
 	{
-	  warning ("cannot optimize integer division for both latency and throughput");
+	  warning (0, "cannot optimize integer division for both latency and throughput");
 	  target_flags &= ~MASK_INLINE_INT_DIV_THR;
@@ -4795,3 +4795,3 @@ ia64_override_options (void)
 	{
-	  warning ("cannot optimize square root for both latency and throughput");
+	  warning (0, "cannot optimize square root for both latency and throughput");
 	  target_flags &= ~MASK_INLINE_SQRT_THR;
@@ -4809,3 +4809,3 @@ ia64_override_options (void)
     {
-      warning ("not yet implemented: latency-optimized inline square root");
+      warning (0, "not yet implemented: latency-optimized inline square root");
       target_flags &= ~MASK_INLINE_SQRT_LAT;
Index: config/ip2k/ip2k.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/ip2k/ip2k.c,v
retrieving revision 1.39
diff -p -U1 -r1.39  config/ip2k/ip2k.c
--- config/ip2k/ip2k.c	19 May 2004 10:14:47 -0000	1.39
+++ config/ip2k/ip2k.c	23 Jul 2004 22:39:29 -0000
@@ -3152,3 +3152,3 @@ ip2k_handle_progmem_attribute (tree *nod
 	    {
-	      warning ("only initialized variables can be placed into "
+	      warning (0, "only initialized variables can be placed into "
 		       "program memory area");
@@ -3159,3 +3159,3 @@ ip2k_handle_progmem_attribute (tree *nod
 	{
-	  warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+	  warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
 	  *no_add_attrs = true;
@@ -3177,3 +3177,3 @@ ip2k_handle_fndecl_attribute (tree *node
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
Index: config/m32r/m32r.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/m32r/m32r.c,v
retrieving revision 1.102
diff -p -U1 -r1.102  config/m32r/m32r.c
--- config/m32r/m32r.c	20 Jul 2004 07:27:10 -0000	1.102
+++ config/m32r/m32r.c	23 Jul 2004 22:39:29 -0000
@@ -354,3 +354,3 @@ m32r_handle_model_attribute (tree *node 
     {
-      warning ("invalid argument of `%s' attribute",
+      warning (0, "invalid argument of `%s' attribute",
 	       IDENTIFIER_POINTER (name));
Index: config/m68hc11/m68hc11.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/m68hc11/m68hc11.c,v
retrieving revision 1.105
diff -p -U1 -r1.105  config/m68hc11/m68hc11.c
--- config/m68hc11/m68hc11.c	14 Jul 2004 06:24:18 -0000	1.105
+++ config/m68hc11/m68hc11.c	23 Jul 2004 22:39:29 -0000
@@ -290,3 +290,3 @@ m68hc11_override_options (void)
     {
-      warning ("-f%s ignored for 68HC11/68HC12 (not supported)",
+      warning (0, "-f%s ignored for 68HC11/68HC12 (not supported)",
 	       (flag_pic > 1) ? "PIC" : "pic");
@@ -1306,3 +1306,3 @@ m68hc11_handle_page0_attribute (tree *no
     {
-      warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+      warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
       *no_add_attrs = true;
@@ -1342,3 +1342,3 @@ m68hc11_handle_fntype_attribute (tree *n
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
@@ -1427,3 +1427,3 @@ m68hc11_encode_section_info (tree decl, 
     {
-      warning ("`trap' and `far' attributes are not compatible, ignoring `far'");
+      warning (0, "`trap' and `far' attributes are not compatible, ignoring `far'");
       trap_handler = 0;
@@ -1433,3 +1433,3 @@ m68hc11_encode_section_info (tree decl, 
       if (trap_handler_symbol != 0)
-        warning ("`trap' attribute is already used");
+        warning (0, "`trap' attribute is already used");
       else
Index: config/m68k/m68k.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/m68k/m68k.c,v
retrieving revision 1.135
diff -p -U1 -r1.135  config/m68k/m68k.c
--- config/m68k/m68k.c	15 Jul 2004 21:18:09 -0000	1.135
+++ config/m68k/m68k.c	23 Jul 2004 22:39:30 -0000
@@ -287,3 +287,3 @@ m68k_handle_fndecl_attribute (tree *node
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
@@ -542,3 +542,3 @@ m68k_output_function_prologue (FILE *str
       else if (GET_CODE (stack_limit_rtx) != SYMBOL_REF)
-	warning ("stack limit expression is not supported");
+	warning (0, "stack limit expression is not supported");
     }
Index: config/mcore/mcore.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mcore/mcore.c,v
retrieving revision 1.67
diff -p -U1 -r1.67  config/mcore/mcore.c
--- config/mcore/mcore.c	20 Jul 2004 07:27:11 -0000	1.67
+++ config/mcore/mcore.c	23 Jul 2004 22:39:30 -0000
@@ -3383,3 +3383,3 @@ mcore_handle_naked_attribute (tree * nod
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
Index: config/mips/mips.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mips/mips.c,v
retrieving revision 1.440
diff -p -U1 -r1.440  config/mips/mips.c
--- config/mips/mips.c	20 Jul 2004 07:27:11 -0000	1.440
+++ config/mips/mips.c	23 Jul 2004 22:39:31 -0000
@@ -4413,3 +4413,3 @@ override_options (void)
   if (TARGET_BRANCHLIKELY && !ISA_HAS_BRANCHLIKELY)
-    warning ("generation of Branch Likely instructions enabled, but not supported by architecture");
+    warning (0, "generation of Branch Likely instructions enabled, but not supported by architecture");
 
@@ -4430,3 +4430,3 @@ override_options (void)
       if (mips_section_threshold > 0)
-	warning ("-G is incompatible with PIC code which is the default");
+	warning (0, "-G is incompatible with PIC code which is the default");
     }
@@ -9227,3 +9227,3 @@ mips_parse_cpu (const char *option, cons
       {
-	warning ("the cpu name must be lower case");
+	warning (0, "the cpu name must be lower case");
 	break;
Index: config/mmix/mmix.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mmix/mmix.c,v
retrieving revision 1.67
diff -p -U1 -r1.67  config/mmix/mmix.c
--- config/mmix/mmix.c	14 Jul 2004 06:24:20 -0000	1.67
+++ config/mmix/mmix.c	23 Jul 2004 22:39:31 -0000
@@ -226,3 +226,3 @@ mmix_override_options (void)
     {
-      warning ("-f%s not supported: ignored", (flag_pic > 1) ? "PIC" : "pic");
+      warning (0, "-f%s not supported: ignored", (flag_pic > 1) ? "PIC" : "pic");
       flag_pic = 0;
Index: config/ns32k/ns32k.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/ns32k/ns32k.c,v
retrieving revision 1.48
diff -p -U1 -r1.48  config/ns32k/ns32k.c
--- config/ns32k/ns32k.c	7 Jul 2004 19:24:33 -0000	1.48
+++ config/ns32k/ns32k.c	23 Jul 2004 22:39:31 -0000
@@ -1067,3 +1067,3 @@ ns32k_handle_fntype_attribute (tree *nod
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
Index: config/pa/pa.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/pa/pa.c,v
retrieving revision 1.266
diff -p -U1 -r1.266  config/pa/pa.c
--- config/pa/pa.c	20 Jul 2004 19:52:10 -0000	1.266
+++ config/pa/pa.c	23 Jul 2004 22:39:32 -0000
@@ -307,3 +307,3 @@ fix_range (const char *const_str)
 	{
-	  warning ("value of -mfixed-range must have form REG1-REG2");
+	  warning (0, "value of -mfixed-range must have form REG1-REG2");
 	  return;
@@ -319,3 +319,3 @@ fix_range (const char *const_str)
 	{
-	  warning ("unknown register name: %s", str);
+	  warning (0, "unknown register name: %s", str);
 	  return;
@@ -326,3 +326,3 @@ fix_range (const char *const_str)
 	{
-	  warning ("unknown register name: %s", dash + 1);
+	  warning (0, "unknown register name: %s", dash + 1);
 	  return;
@@ -334,3 +334,3 @@ fix_range (const char *const_str)
 	{
-	  warning ("%s-%s is an empty range", str, dash + 1);
+	  warning (0, "%s-%s is an empty range", str, dash + 1);
 	  return;
@@ -395,3 +395,3 @@ override_options (void)
     {
-      warning ("unknown -mschedule= option (%s).\nValid options are 700, 7100, 7100LC, 7200, 7300, and 8000\n", pa_cpu_string);
+      warning (0, "unknown -mschedule= option (%s).\nValid options are 700, 7100, 7100LC, 7200, 7300, and 8000\n", pa_cpu_string);
     }
@@ -420,3 +420,3 @@ override_options (void)
     {
-      warning ("unknown -march= option (%s).\nValid options are 1.0, 1.1, and 2.0\n", pa_arch_string);
+      warning (0, "unknown -march= option (%s).\nValid options are 1.0, 1.1, and 2.0\n", pa_arch_string);
     }
@@ -436,3 +436,3 @@ override_options (void)
     {
-      warning ("PIC code generation is not supported in the portable runtime model\n");
+      warning (0, "PIC code generation is not supported in the portable runtime model\n");
     }
@@ -441,3 +441,3 @@ override_options (void)
    {
-      warning ("PIC code generation is not compatible with fast indirect calls\n");
+      warning (0, "PIC code generation is not compatible with fast indirect calls\n");
    }
@@ -446,4 +446,4 @@ override_options (void)
     {
-      warning ("-g is only supported when using GAS on this processor,");
-      warning ("-g option disabled");
+      warning (0, "-g is only supported when using GAS on this processor,");
+      warning (0, "-g option disabled");
       write_symbols = NO_DEBUG;
Index: config/rs6000/aix43.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/aix43.h,v
retrieving revision 1.32
diff -p -U1 -r1.32  config/rs6000/aix43.h
--- config/rs6000/aix43.h	15 Mar 2004 18:20:49 -0000	1.32
+++ config/rs6000/aix43.h	23 Jul 2004 22:39:32 -0000
@@ -48,3 +48,3 @@ do {									\
       target_flags &= ~NON_POWERPC_MASKS;				\
-      warning ("-maix64 and POWER architecture are incompatible");	\
+      warning (0, "-maix64 and POWER architecture are incompatible");	\
     }									\
@@ -53,3 +53,3 @@ do {									\
       target_flags |= MASK_POWERPC64;					\
-      warning ("-maix64 requires PowerPC64 architecture remain enabled"); \
+      warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \
     }									\
Index: config/rs6000/aix51.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/aix51.h,v
retrieving revision 1.23
diff -p -U1 -r1.23  config/rs6000/aix51.h
--- config/rs6000/aix51.h	10 Mar 2004 21:22:40 -0000	1.23
+++ config/rs6000/aix51.h	23 Jul 2004 22:39:32 -0000
@@ -47,3 +47,3 @@ do {									\
       target_flags &= ~NON_POWERPC_MASKS;				\
-      warning ("-maix64 and POWER architecture are incompatible");	\
+      warning (0, "-maix64 and POWER architecture are incompatible");	\
     }									\
@@ -52,3 +52,3 @@ do {									\
       target_flags |= MASK_POWERPC64;					\
-      warning ("-maix64 requires PowerPC64 architecture remain enabled"); \
+      warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \
     }									\
Index: config/rs6000/aix52.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/aix52.h,v
retrieving revision 1.8
diff -p -U1 -r1.8  config/rs6000/aix52.h
--- config/rs6000/aix52.h	10 Mar 2004 21:22:40 -0000	1.8
+++ config/rs6000/aix52.h	23 Jul 2004 22:39:32 -0000
@@ -47,3 +47,3 @@ do {									\
       target_flags &= ~NON_POWERPC_MASKS;				\
-      warning ("-maix64 and POWER architecture are incompatible");	\
+      warning (0, "-maix64 and POWER architecture are incompatible");	\
     }									\
@@ -52,3 +52,3 @@ do {									\
       target_flags |= MASK_POWERPC64;					\
-      warning ("-maix64 requires PowerPC64 architecture remain enabled"); \
+      warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \
     }									\
Index: config/rs6000/darwin.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/darwin.h,v
retrieving revision 1.54
diff -p -U1 -r1.54  config/rs6000/darwin.h
--- config/rs6000/darwin.h	1 Jul 2004 04:09:05 -0000	1.54
+++ config/rs6000/darwin.h	23 Jul 2004 22:39:32 -0000
@@ -79,3 +79,3 @@ do {									\
         if (flag_pic)							\
-            warning ("-mdynamic-no-pic overrides -fpic or -fPIC");	\
+            warning (0, "-mdynamic-no-pic overrides -fpic or -fPIC");	\
         flag_pic = 0;							\
@@ -85,3 +85,3 @@ do {									\
         /* Darwin doesn't support -fpic.  */				\
-        warning ("-fpic is not supported; -fPIC assumed");		\
+        warning (0, "-fpic is not supported; -fPIC assumed");		\
         flag_pic = 2;							\
Index: config/rs6000/lynx.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/lynx.h,v
retrieving revision 1.16
diff -p -U1 -r1.16  config/rs6000/lynx.h
--- config/rs6000/lynx.h	21 Aug 2003 17:27:27 -0000	1.16
+++ config/rs6000/lynx.h	23 Jul 2004 22:39:32 -0000
@@ -72,5 +72,5 @@ do {								\
   if (TARGET_SYSTEM_V && profile_flag)				\
-    warning ("-msystem-v and -p are incompatible");		\
+    warning (0, "-msystem-v and -p are incompatible");		\
   if (TARGET_SYSTEM_V && TARGET_THREADS)			\
-    warning ("-msystem-v and -mthreads are incompatible");	\
+    warning (0, "-msystem-v and -mthreads are incompatible");	\
 } while (0)
Index: config/rs6000/rs6000-c.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000-c.c,v
retrieving revision 1.14
diff -p -U1 -r1.14  config/rs6000/rs6000-c.c
--- config/rs6000/rs6000-c.c	10 Mar 2004 21:22:40 -0000	1.14
+++ config/rs6000/rs6000-c.c	23 Jul 2004 22:39:32 -0000
@@ -44,4 +44,4 @@
 #define SYNTAX_ERROR(msgid) do {			\
-  warning (msgid);					\
-  warning ("ignoring malformed #pragma longcall");	\
+  warning (0, msgid);					\
+  warning (0, "ignoring malformed #pragma longcall");	\
   return;						\
@@ -68,3 +68,3 @@ rs6000_pragma_longcall (cpp_reader *pfil
   if (c_lex (&x) != CPP_EOF)
-    warning ("junk at end of #pragma longcall");
+    warning (0, "junk at end of #pragma longcall");
 
Index: config/rs6000/rs6000.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.c,v
retrieving revision 1.671
diff -p -U1 -r1.671  config/rs6000/rs6000.c
--- config/rs6000/rs6000.c	23 Jul 2004 04:35:17 -0000	1.671
+++ config/rs6000/rs6000.c	23 Jul 2004 22:39:33 -0000
@@ -1184,3 +1184,3 @@ rs6000_override_options (const char *def
 	  if ((target_flags_explicit & MASK_MULTIPLE) != 0)
-	    warning ("-mmultiple is not supported on little endian systems");
+	    warning (0, "-mmultiple is not supported on little endian systems");
 	}
@@ -1191,3 +1191,3 @@ rs6000_override_options (const char *def
 	  if ((target_flags_explicit & MASK_STRING) != 0)
-	    warning ("-mstring is not supported on little endian systems");
+	    warning (0, "-mstring is not supported on little endian systems");
 	}
@@ -12233,3 +12233,3 @@ rs6000_emit_allocate_stack (HOST_WIDE_IN
       else
-	warning ("stack limit expression is not supported");
+	warning (0, "stack limit expression is not supported");
     }
@@ -14483,3 +14483,3 @@ output_function_profiler (FILE *file, in
 	{
-	  warning ("no profiling of 64-bit code for this ABI");
+	  warning (0, "no profiling of 64-bit code for this ABI");
 	  return;
@@ -15549,3 +15549,3 @@ rs6000_handle_altivec_attribute (tree *n
       && (type == long_unsigned_type_node || type == long_integer_type_node))
-    warning ("use of 'long' in AltiVec types is deprecated; use 'int'");
+    warning (0, "use of 'long' in AltiVec types is deprecated; use 'int'");
 
@@ -15598,3 +15598,3 @@ rs6000_handle_altivec_attribute (tree *n
   if (!result)
-    warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+    warning (0, "`%s' attribute ignored", IDENTIFIER_POINTER (name));
   else
@@ -15633,3 +15633,3 @@ rs6000_handle_longcall_attribute (tree *
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
Index: config/sh/sh.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/sh/sh.c,v
retrieving revision 1.285
diff -p -U1 -r1.285  config/sh/sh.c
--- config/sh/sh.c	20 Jul 2004 07:27:15 -0000	1.285
+++ config/sh/sh.c	23 Jul 2004 22:39:34 -0000
@@ -7040,3 +7040,3 @@ sh_handle_interrupt_handler_attribute (t
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
@@ -7061,3 +7061,3 @@ sh_handle_sp_switch_attribute (tree *nod
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
@@ -7068,3 +7068,3 @@ sh_handle_sp_switch_attribute (tree *nod
       /* The sp_switch attribute only has meaning for interrupt functions.  */
-      warning ("`%s' attribute only applies to interrupt functions",
+      warning (0, "`%s' attribute only applies to interrupt functions",
 	       IDENTIFIER_POINTER (name));
@@ -7075,3 +7075,3 @@ sh_handle_sp_switch_attribute (tree *nod
       /* The argument must be a constant string.  */
-      warning ("`%s' attribute argument not a string constant",
+      warning (0, "`%s' attribute argument not a string constant",
 	       IDENTIFIER_POINTER (name));
@@ -7096,3 +7096,3 @@ sh_handle_trap_exit_attribute (tree *nod
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
@@ -7103,3 +7103,3 @@ sh_handle_trap_exit_attribute (tree *nod
       /* The trap_exit attribute only has meaning for interrupt functions.  */
-      warning ("`%s' attribute only applies to interrupt functions",
+      warning (0, "`%s' attribute only applies to interrupt functions",
 	       IDENTIFIER_POINTER (name));
@@ -7110,3 +7110,3 @@ sh_handle_trap_exit_attribute (tree *nod
       /* The argument must be a constant integer.  */
-      warning ("`%s' attribute argument not an integer constant",
+      warning (0, "`%s' attribute argument not an integer constant",
 	       IDENTIFIER_POINTER (name));
Index: config/sh/sh.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/sh/sh.h,v
retrieving revision 1.248
diff -p -U1 -r1.248  config/sh/sh.h
--- config/sh/sh.h	14 Jul 2004 06:24:25 -0000	1.248
+++ config/sh/sh.h	23 Jul 2004 22:39:34 -0000
@@ -606,3 +606,3 @@ do {									\
 	{								\
-	  warning ("Profiling is not supported on this target.");	\
+	  warning (0, "Profiling is not supported on this target.");	\
 	  profile_flag = profile_arc_flag = 0;				\
Index: config/sh/symbian.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/sh/symbian.c,v
retrieving revision 1.2
diff -p -U1 -r1.2  config/sh/symbian.c
--- config/sh/symbian.c	20 Jul 2004 12:26:02 -0000	1.2
+++ config/sh/symbian.c	23 Jul 2004 22:39:34 -0000
@@ -146,3 +146,3 @@ sh_symbian_dllimport_p (tree decl)
       if (!DECL_ARTIFICIAL (decl))
-	warning ("%H function '%D' is defined after prior declaration as dllimport: attribute ignored",
+	warning (0, "%H function '%D' is defined after prior declaration as dllimport: attribute ignored",
 		 & DECL_SOURCE_LOCATION (decl), decl);
@@ -157,3 +157,3 @@ sh_symbian_dllimport_p (tree decl)
       if (extra_warnings)
-	warning ("%Hinline function '%D' is declared as dllimport: attribute ignored.",
+	warning (0, "%Hinline function '%D' is declared as dllimport: attribute ignored.",
 		 & DECL_SOURCE_LOCATION (decl), decl);
@@ -331,3 +331,3 @@ sh_symbian_encode_section_info (tree dec
 
-      warning ("%H%s '%D' %s after being referenced with dllimport linkage.",
+      warning (0, "%H%s '%D' %s after being referenced with dllimport linkage.",
 	       & DECL_SOURCE_LOCATION (decl),
@@ -413,3 +413,3 @@ sh_symbian_handle_dll_attribute (tree *p
 	{
-	  warning ("`%s' attribute ignored", attr);
+	  warning (0, "`%s' attribute ignored", attr);
 	  *no_add_attrs = true;
@@ -420,3 +420,3 @@ sh_symbian_handle_dll_attribute (tree *p
 	{
-	  warning ("`%s' attribute ignored", attr);
+	  warning (0, "`%s' attribute ignored", attr);
 	  *no_add_attrs = true;
Index: config/stormy16/stormy16.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/stormy16/stormy16.c,v
retrieving revision 1.64
diff -p -U1 -r1.64  config/stormy16/stormy16.c
--- config/stormy16/stormy16.c	17 Jul 2004 19:34:58 -0000	1.64
+++ config/stormy16/stormy16.c	23 Jul 2004 22:39:34 -0000
@@ -2059,3 +2059,3 @@ xstormy16_handle_interrupt_attribute (tr
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
Index: config/v850/v850-c.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/v850/v850-c.c,v
retrieving revision 1.9
diff -p -U1 -r1.9  config/v850/v850-c.c
--- config/v850/v850-c.c	4 Oct 2003 23:28:57 -0000	1.9
+++ config/v850/v850-c.c	23 Jul 2004 22:39:34 -0000
@@ -66,5 +66,5 @@ pop_data_area (v850_data_area data_area)
   if (data_area_stack == NULL)
-    warning ("#pragma GHS endXXXX found without previous startXXX");
+    warning (0, "#pragma GHS endXXXX found without previous startXXX");
   else if (data_area != data_area_stack->data_area)
-    warning ("#pragma GHS endXXX does not match previous startXXX");
+    warning (0, "#pragma GHS endXXX does not match previous startXXX");
   else
@@ -93,3 +93,3 @@ mark_current_function_as_interrupt (void
     {
-      warning ("cannot set interrupt attribute: no current function");
+      warning (0, "cannot set interrupt attribute: no current function");
       return;
@@ -101,3 +101,3 @@ mark_current_function_as_interrupt (void
     {
-      warning ("cannot set interrupt attribute: no such identifier");
+      warning (0, "cannot set interrupt attribute: no such identifier");
       return;
@@ -146,3 +146,3 @@ ghs_pragma_section (cpp_reader * pfile A
       else if (type != CPP_EOF)
-	warning ("junk at end of #pragma ghs section");
+	warning (0, "junk at end of #pragma ghs section");
       
@@ -163,3 +163,3 @@ ghs_pragma_section (cpp_reader * pfile A
 	{
-	  warning ("unrecognized section name \"%s\"", sect);
+	  warning (0, "unrecognized section name \"%s\"", sect);
 	  return;
@@ -178,3 +178,3 @@ ghs_pragma_section (cpp_reader * pfile A
  bad:
-  warning ("malformed #pragma ghs section");
+  warning (0, "malformed #pragma ghs section");
   return;
@@ -197,3 +197,3 @@ ghs_pragma_interrupt (cpp_reader * pfile
   if (c_lex (&x) != CPP_EOF)
-    warning ("junk at end of #pragma ghs interrupt");
+    warning (0, "junk at end of #pragma ghs interrupt");
   
@@ -208,3 +208,3 @@ ghs_pragma_starttda (cpp_reader * pfile 
   if (c_lex (&x) != CPP_EOF)
-    warning ("junk at end of #pragma ghs starttda");
+    warning (0, "junk at end of #pragma ghs starttda");
   
@@ -219,3 +219,3 @@ ghs_pragma_startsda (cpp_reader * pfile 
   if (c_lex (&x) != CPP_EOF)
-    warning ("junk at end of #pragma ghs startsda");
+    warning (0, "junk at end of #pragma ghs startsda");
   
@@ -230,3 +230,3 @@ ghs_pragma_startzda (cpp_reader * pfile 
   if (c_lex (&x) != CPP_EOF)
-    warning ("junk at end of #pragma ghs startzda");
+    warning (0, "junk at end of #pragma ghs startzda");
   
@@ -241,3 +241,3 @@ ghs_pragma_endtda (cpp_reader * pfile AT
   if (c_lex (&x) != CPP_EOF)
-    warning ("junk at end of #pragma ghs endtda");
+    warning (0, "junk at end of #pragma ghs endtda");
   
@@ -252,3 +252,3 @@ ghs_pragma_endsda (cpp_reader * pfile AT
   if (c_lex (&x) != CPP_EOF)
-    warning ("junk at end of #pragma ghs endsda");
+    warning (0, "junk at end of #pragma ghs endsda");
   
@@ -263,3 +263,3 @@ ghs_pragma_endzda (cpp_reader * pfile AT
   if (c_lex (&x) != CPP_EOF)
-    warning ("junk at end of #pragma ghs endzda");
+    warning (0, "junk at end of #pragma ghs endzda");
   
Index: config/v850/v850.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/v850/v850.c,v
retrieving revision 1.94
diff -p -U1 -r1.94  config/v850/v850.c
--- config/v850/v850.c	20 Jul 2004 07:27:16 -0000	1.94
+++ config/v850/v850.c	23 Jul 2004 22:39:35 -0000
@@ -2203,3 +2203,3 @@ v850_handle_interrupt_attribute (tree * 
     {
-      warning ("`%s' attribute only applies to functions",
+      warning (0, "`%s' attribute only applies to functions",
 	       IDENTIFIER_POINTER (name));
Index: config/xtensa/xtensa.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/xtensa/xtensa.c,v
retrieving revision 1.66
diff -p -U1 -r1.66  config/xtensa/xtensa.c
--- config/xtensa/xtensa.c	20 Jul 2004 07:27:17 -0000	1.66
+++ config/xtensa/xtensa.c	23 Jul 2004 22:39:35 -0000
@@ -2750,3 +2750,3 @@ xtensa_multibss_section_type_flags (tree
       else
-	warning ("only uninitialized variables can be placed in a "
+	warning (0, "only uninitialized variables can be placed in a "
 		 ".bss section");
Index: cp/call.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/call.c,v
retrieving revision 1.495
diff -p -U1 -r1.495  cp/call.c
--- cp/call.c	18 Jul 2004 05:44:17 -0000	1.495
+++ cp/call.c	23 Jul 2004 22:39:35 -0000
@@ -3410,3 +3410,3 @@ build_conditional_expr (tree arg1, tree 
           && TREE_CODE (arg3_type) == ENUMERAL_TYPE)
-         warning ("enumeral mismatch in conditional expression: `%T' vs `%T'",
+         warning (0, "enumeral mismatch in conditional expression: `%T' vs `%T'",
                    arg2_type, arg3_type);
@@ -3417,3 +3417,3 @@ build_conditional_expr (tree arg1, tree 
                        && !same_type_p (arg2_type, type_promotes_to (arg3_type)))))
-        warning ("enumeral and non-enumeral type in conditional expression");
+        warning (0, "enumeral and non-enumeral type in conditional expression");
       
@@ -3763,3 +3763,3 @@ build_new_op (enum tree_code code, int f
 	    {
-	      warning ("using synthesized `%#D' for copy assignment",
+	      warning (0, "using synthesized `%#D' for copy assignment",
 			  cand->fn);
@@ -3797,3 +3797,3 @@ build_new_op (enum tree_code code, int f
 		{
-		  warning ("comparison between `%#T' and `%#T'", 
+		  warning (0, "comparison between `%#T' and `%#T'", 
 			      TREE_TYPE (arg1), TREE_TYPE (arg2));
@@ -4115,3 +4115,3 @@ build_temp (tree expr, tree type, int fl
   if (warningcount > savew)
-    *diagnostic_fn = warning;
+    *diagnostic_fn = warning0;
   else if (errorcount > savee)
@@ -4396,3 +4396,3 @@ convert_arg_to_ellipsis (tree arg)
       if (!skip_evaluation)
-	warning ("cannot pass objects of non-POD type `%#T' through `...'; "
+	warning (0, "cannot pass objects of non-POD type `%#T' through `...'; "
 	         "call will abort at runtime", TREE_TYPE (arg));
@@ -4422,3 +4422,3 @@ build_x_va_arg (tree expr, tree type)
       /* Undefined behavior [expr.call] 5.2.2/7.  */
-      warning ("cannot receive objects of non-POD type `%#T' through `...'; \
+      warning (0, "cannot receive objects of non-POD type `%#T' through `...'; \
 call will abort at runtime",
@@ -5950,5 +5950,5 @@ joust (struct z_candidate *cand1, struct
 		{
-		  warning ("passing `%T' chooses `%T' over `%T'",
+		  warning (0, "passing `%T' chooses `%T' over `%T'",
 			      type, type1, type2);
-		  warning ("  in call to `%D'", w->fn);
+		  warning (0, "  in call to `%D'", w->fn);
 		}
@@ -6009,6 +6009,6 @@ joust (struct z_candidate *cand1, struct
 	    source = TREE_TYPE (source);
-	  warning ("choosing `%D' over `%D'", w->fn, l->fn);
-	  warning ("  for conversion from `%T' to `%T'",
+	  warning (0, "choosing `%D' over `%D'", w->fn, l->fn);
+	  warning (0, "  for conversion from `%T' to `%T'",
 		   source, w->second_conv->type);
-	  warning ("  because conversion sequence for the argument is better");
+	  warning (0, "  because conversion sequence for the argument is better");
 	}
Index: cp/class.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/class.c,v
retrieving revision 1.643
diff -p -U1 -r1.643  cp/class.c
--- cp/class.c	20 Jul 2004 15:36:08 -0000	1.643
+++ cp/class.c	23 Jul 2004 22:39:36 -0000
@@ -1151,3 +1151,3 @@ check_bases (tree t,
 	  && TYPE_HAS_DESTRUCTOR (basetype))
-	warning ("base class `%#T' has a non-virtual destructor",
+	warning (0, "base class `%#T' has a non-virtual destructor",
 		    basetype);
@@ -1519,3 +1519,3 @@ maybe_warn_about_overly_private_class (t
 	{
-	  warning ("all member functions in class `%T' are private", t);
+	  warning (0, "all member functions in class `%T' are private", t);
 	  return;
@@ -1530,3 +1530,3 @@ maybe_warn_about_overly_private_class (t
     {
-      warning ("`%#T' only defines a private destructor and has no friends",
+      warning (0, "`%#T' only defines a private destructor and has no friends",
 	       t);
@@ -1570,3 +1570,3 @@ maybe_warn_about_overly_private_class (t
 	{
-	  warning ("`%#T' only defines private constructors and has no friends",
+	  warning (0, "`%#T' only defines private constructors and has no friends",
 		      t);
@@ -2556,3 +2556,3 @@ add_implicitly_declared_members (tree t,
       if (warn_abi && virtual_dtor)
-	warning ("vtable layout for class `%T' may not be ABI-compliant "
+	warning (0, "vtable layout for class `%T' may not be ABI-compliant "
 		 "and may change in a future version of GCC due to implicit "
@@ -3037,3 +3037,3 @@ check_field_decls (tree t, tree *access_
     {
-      warning ("`%#T' has pointer data members", t);
+      warning (0, "`%#T' has pointer data members", t);
       
@@ -3041,8 +3041,8 @@ check_field_decls (tree t, tree *access_
 	{
-	  warning ("  but does not override `%T(const %T&)'", t, t);
+	  warning (0, "  but does not override `%T(const %T&)'", t, t);
 	  if (! TYPE_HAS_ASSIGN_REF (t))
-	    warning ("  or `operator=(const %T&)'", t);
+	    warning (0, "  or `operator=(const %T&)'", t);
 	}
       else if (! TYPE_HAS_ASSIGN_REF (t))
-	warning ("  but does not override `operator=(const %T&)'", t);
+	warning (0, "  but does not override `operator=(const %T&)'", t);
     }
@@ -3478,3 +3478,3 @@ layout_empty_base (tree binfo, tree eoc,
       else if (warn_abi)
-	warning ("offset of empty base `%T' may not be ABI-compliant and may"
+	warning (0, "offset of empty base `%T' may not be ABI-compliant and may"
 		 "change in a future version of GCC",
@@ -3588,3 +3588,3 @@ build_base_field (record_layout_info rli
 	      else if (warn_abi)
-		warning ("class `%T' will be considered nearly empty in a "
+		warning (0, "class `%T' will be considered nearly empty in a "
 			 "future version of GCC", t);
@@ -4340,3 +4340,3 @@ layout_virtual_bases (record_layout_info
 		   BINFO_OFFSET (vbase))))
-	    warning ("offset of virtual base `%T' is not ABI-compliant and may change in a future version of GCC",
+	    warning (0, "offset of virtual base `%T' is not ABI-compliant and may change in a future version of GCC",
 		     basetype);
@@ -4433,3 +4433,3 @@ warn_about_ambiguous_bases (tree t)
       if (!lookup_base (t, basetype, ba_ignore | ba_quiet, NULL))
-	warning ("direct base `%T' inaccessible in `%T' due to ambiguity",
+	warning (0, "direct base `%T' inaccessible in `%T' due to ambiguity",
 		 basetype, t);
@@ -4445,3 +4445,3 @@ warn_about_ambiguous_bases (tree t)
 	if (!lookup_base (t, basetype, ba_ignore | ba_quiet, NULL))
-	  warning ("virtual base `%T' inaccessible in `%T' due to ambiguity",
+	  warning (0, "virtual base `%T' inaccessible in `%T' due to ambiguity",
 		   basetype, t);
@@ -4619,3 +4619,3 @@ layout_class_type (tree t, tree *virtual
 		  if (warn_abi && TREE_CODE (t) == UNION_TYPE)
-		    warning ("size assigned to `%T' may not be "
+		    warning (0, "size assigned to `%T' may not be "
 			     "ABI-compliant and may change in a future "
@@ -4658,3 +4658,3 @@ layout_class_type (tree t, tree *virtual
 	       DECL_MODE.  */
-	    warning ("the offset of `%D' may not be ABI-compliant and may "
+	    warning (0, "the offset of `%D' may not be ABI-compliant and may "
 		     "change in a future version of GCC", field);
@@ -4749,3 +4749,3 @@ layout_class_type (tree t, tree *virtual
 	  if (warn_abi && !integer_zerop (rli_size_unit_so_far (rli)))
-	    warning ("layout of classes derived from empty class `%T' "
+	    warning (0, "layout of classes derived from empty class `%T' "
 		     "may change in a future version of GCC",
@@ -5044,3 +5044,3 @@ finish_struct_1 (tree t)
 	   DECL_FRIENDLIST (TYPE_MAIN_DECL (t))))
-	warning ("%#T' has virtual functions but non-virtual destructor", t);
+	warning (0, "%#T' has virtual functions but non-virtual destructor", t);
     }
Index: cp/cp-tree.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/cp-tree.h,v
retrieving revision 1.1021
diff -p -U1 -r1.1021  cp/cp-tree.h
--- cp/cp-tree.h	20 Jul 2004 23:20:04 -0000	1.1021
+++ cp/cp-tree.h	23 Jul 2004 22:39:36 -0000
@@ -3792,3 +3792,3 @@ extern tree cxx_callgraph_analyze_expr (
     if (warn_deprecated)						\
-      warning ("%s is deprecated, please see the documentation for details", \
+      warning (0, "%s is deprecated, please see the documentation for details", \
 	       (STR));							\
Index: cp/cvt.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/cvt.c,v
retrieving revision 1.158
diff -p -U1 -r1.158  cp/cvt.c
--- cp/cvt.c	12 Jul 2004 16:06:24 -0000	1.158
+++ cp/cvt.c	23 Jul 2004 22:39:36 -0000
@@ -213,3 +213,3 @@ cp_convert_to_pointer (tree type, tree e
 	  if (force)
-	    warning ("pointer to member cast from `%T' to `%T' is via virtual base",
+	    warning (0, "pointer to member cast from `%T' to `%T' is via virtual base",
 		     intype, type);
@@ -525,3 +525,3 @@ convert_to_reference (tree reftype, tree
 			 COMPARE_BASE | COMPARE_DERIVED)))
-	warning ("casting `%T' to `%T' does not dereference pointer",
+	warning (0, "casting `%T' to `%T' does not dereference pointer",
 		 intype, reftype);
@@ -844,6 +844,6 @@ convert_to_void (tree expr, const char *
         if (is_volatile && !is_complete)
-          warning ("object of incomplete type `%T' will not be accessed in %s",
+          warning (0, "object of incomplete type `%T' will not be accessed in %s",
                       type, implicit ? implicit : "void context");
         else if (is_reference && is_volatile)
-          warning ("object of type `%T' will not be accessed in %s",
+          warning (0, "object of type `%T' will not be accessed in %s",
                       TREE_TYPE (TREE_OPERAND (expr, 0)),
@@ -863,3 +863,3 @@ convert_to_void (tree expr, const char *
         if (TYPE_VOLATILE (type) && !is_complete)
-          warning ("object `%E' of incomplete type `%T' will not be accessed in %s",
+          warning (0, "object `%E' of incomplete type `%T' will not be accessed in %s",
                       expr, type, implicit ? implicit : "void context");
@@ -885,3 +885,3 @@ convert_to_void (tree expr, const char *
       /* Only warn when there is no &.  */
-      warning ("%s is a reference, not call, to function `%E'",
+      warning (0, "%s is a reference, not call, to function `%E'",
 		  implicit, expr);
@@ -893,3 +893,3 @@ convert_to_void (tree expr, const char *
 	  && !TREE_SIDE_EFFECTS (expr) && !TREE_NO_WARNING (expr))
-	warning ("%s has no effect", implicit);
+	warning (0, "%s has no effect", implicit);
       expr = build1 (CONVERT_EXPR, void_type_node, expr);
@@ -1004,3 +1004,3 @@ build_expr_type_conversion (int desires,
       && !(desires & WANT_NULL))
-    warning ("converting NULL to non-pointer type");
+    warning (0, "converting NULL to non-pointer type");
     
Index: cp/decl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/decl.c,v
retrieving revision 1.1259
diff -p -U1 -r1.1259  cp/decl.c
--- cp/decl.c	21 Jul 2004 19:23:03 -0000	1.1259
+++ cp/decl.c	23 Jul 2004 22:39:37 -0000
@@ -536,3 +536,3 @@ poplevel (int keep, int reverse, int fun
 	  && DECL_NAME (decl) && ! DECL_ARTIFICIAL (decl))
-	warning ("%Junused variable '%D'", decl, decl);
+	warning (0, "%Junused variable '%D'", decl, decl);
 
@@ -1146,4 +1146,4 @@ duplicate_decls (tree newdecl, tree oldd
 	{
-	  warning ("%Jfunction '%D' redeclared as inline", newdecl, newdecl);
-	  warning ("%Jprevious declaration of '%D' with attribute noinline",
+	  warning (0, "%Jfunction '%D' redeclared as inline", newdecl, newdecl);
+	  warning (0, "%Jprevious declaration of '%D' with attribute noinline",
                    olddecl, olddecl);
@@ -1154,5 +1154,5 @@ duplicate_decls (tree newdecl, tree oldd
 	{
-	  warning ("%Jfunction '%D' redeclared with attribute noinline",
+	  warning (0, "%Jfunction '%D' redeclared with attribute noinline",
 		   newdecl, newdecl);
-	  warning ("%Jprevious declaration of '%D' was inline",
+	  warning (0, "%Jprevious declaration of '%D' was inline",
 		   olddecl, olddecl);
@@ -1177,3 +1177,3 @@ duplicate_decls (tree newdecl, tree oldd
 	      if (warn_shadow)
-		warning ("shadowing %s function `%#D'",
+		warning (0, "shadowing %s function `%#D'",
 			    DECL_BUILT_IN (olddecl) ? "built-in" : "library",
@@ -1186,3 +1186,3 @@ duplicate_decls (tree newdecl, tree oldd
 	  else if (! DECL_BUILT_IN (olddecl))
-	    warning ("library function `%#D' redeclared as non-function `%#D'",
+	    warning (0, "library function `%#D' redeclared as non-function `%#D'",
 			olddecl, newdecl);
@@ -1243,4 +1243,4 @@ duplicate_decls (tree newdecl, tree oldd
 		{
-		  warning ("new declaration `%#D'", newdecl);
-		  warning ("ambiguates built-in declaration `%#D'",
+		  warning (0, "new declaration `%#D'", newdecl);
+		  warning (0, "ambiguates built-in declaration `%#D'",
 			      olddecl);
@@ -1248,3 +1248,3 @@ duplicate_decls (tree newdecl, tree oldd
 	      else if (warn_shadow)
-		warning ("shadowing %s function `%#D'",
+		warning (0, "shadowing %s function `%#D'",
 			    DECL_BUILT_IN (olddecl) ? "built-in" : "library",
@@ -1441,3 +1441,3 @@ duplicate_decls (tree newdecl, tree oldd
 	  cp_warning_at ("prototype for `%#D'", newdecl);
-	  warning ("%Jfollows non-prototype definition here", olddecl);
+	  warning (0, "%Jfollows non-prototype definition here", olddecl);
 	}
@@ -1496,4 +1496,4 @@ duplicate_decls (tree newdecl, tree oldd
 	    {
-	      warning ("`%#D' was used before it was declared inline", newdecl);
-	      warning ("%Jprevious non-inline declaration here", olddecl);
+	      warning (0, "`%#D' was used before it was declared inline", newdecl);
+	      warning (0, "%Jprevious non-inline declaration here", olddecl);
 	    }
@@ -1550,3 +1550,3 @@ duplicate_decls (tree newdecl, tree oldd
 	{
-	  warning ("redundant redeclaration of `%D' in same scope", newdecl);
+	  warning (0, "redundant redeclaration of `%D' in same scope", newdecl);
 	  cp_warning_at ("previous declaration of `%D'", olddecl);
@@ -1873,5 +1873,5 @@ duplicate_decls (tree newdecl, tree oldd
 	{
-	  warning ("%J'%D': visibility attribute ignored because it",
+	  warning (0, "%J'%D': visibility attribute ignored because it",
 		   newdecl, newdecl);
-	  warning ("%Jconflicts with previous declaration here", olddecl);
+	  warning (0, "%Jconflicts with previous declaration here", olddecl);
 	}
@@ -3648,3 +3648,3 @@ start_decl (const cp_declarator *declara
 	  && DECL_EXTERNAL (decl))
-	warning ("declaration of `%#D' has `extern' and is initialized",
+	warning (0, "declaration of `%#D' has `extern' and is initialized",
 		    decl);
@@ -3671,3 +3671,3 @@ start_decl (const cp_declarator *declara
       && lookup_attribute ("noinline", DECL_ATTRIBUTES (decl)))
-    warning ("%Jinline function '%D' given attribute noinline", decl, decl);
+    warning (0, "%Jinline function '%D' given attribute noinline", decl, decl);
 
@@ -4052,3 +4052,3 @@ maybe_commonize_var (tree decl)
 	      cp_warning_at ("sorry: semantics of inline function static data `%#D' are wrong (you'll wind up with multiple copies)", decl);
-	      warning ("%J  you can work around this by removing the initializer",
+	      warning (0, "%J  you can work around this by removing the initializer",
 		       decl);
@@ -4727,3 +4727,3 @@ cp_finish_decl (tree decl, tree init, tr
 	  if (TREE_TYPE (DECL_NAME (decl)) && TREE_TYPE (decl) != type)
-	    warning ("shadowing previous type declaration of `%#D'", decl);
+	    warning (0, "shadowing previous type declaration of `%#D'", decl);
 	  set_identifier_type_value (DECL_NAME (decl), decl);
@@ -6604,3 +6604,3 @@ grokdeclarator (const cp_declarator *dec
       else if (warn_return_type)
-	warning ("ISO C++ forbids declaration of `%s' with no type",
+	warning (0, "ISO C++ forbids declaration of `%s' with no type",
 		    name);
@@ -6877,3 +6877,3 @@ grokdeclarator (const cp_declarator *dec
 	  if (!(type_quals & TYPE_QUAL_CONST))
-	    warning ("`%s' initialized and declared `extern'", name);
+	    warning (0, "`%s' initialized and declared `extern'", name);
 	}
@@ -7779,3 +7779,3 @@ grokdeclarator (const cp_declarator *dec
 	    if (ctype == current_class_type)
-	      warning ("member functions are implicitly friends of their class");
+	      warning (0, "member functions are implicitly friends of their class");
  	    else if (decl && DECL_NAME (decl))
@@ -8592,3 +8592,3 @@ grok_op_properties (tree decl, int frien
 	      if (what && warn_conversion)
-		warning ("conversion to %s%s will never use a type conversion operator",
+		warning (0, "conversion to %s%s will never use a type conversion operator",
 			 ref ? "a reference to " : "", what);
@@ -8683,3 +8683,3 @@ grok_op_properties (tree decl, int frien
 				       arg))
-		    warning ("prefix `%D' should return `%T'", decl,
+		    warning (0, "prefix `%D' should return `%T'", decl,
 				build_reference_type (arg));
@@ -8689,3 +8689,3 @@ grok_op_properties (tree decl, int frien
 		  if (!same_type_p (TYPE_MAIN_VARIANT (ret), arg))
-		    warning ("postfix `%D' should return `%T'", decl, arg);
+		    warning (0, "postfix `%D' should return `%T'", decl, arg);
 		}
@@ -8718,3 +8718,3 @@ grok_op_properties (tree decl, int frien
 		  || operator_code == COMPOUND_EXPR))
-	    warning ("user-defined `%D' always evaluates both arguments",
+	    warning (0, "user-defined `%D' always evaluates both arguments",
 			decl);
@@ -8732,3 +8732,3 @@ grok_op_properties (tree decl, int frien
 	  && TREE_CODE (TREE_TYPE (TREE_TYPE (decl))) == REFERENCE_TYPE)
-	warning ("`%D' should return by value", decl);
+	warning (0, "`%D' should return by value", decl);
 
@@ -9616,3 +9616,3 @@ start_preparsed_function (tree decl1, tr
       && lookup_attribute ("noinline", attrs))
-    warning ("%Jinline function '%D' given attribute noinline", decl1, decl1);
+    warning (0, "%Jinline function '%D' given attribute noinline", decl1, decl1);
 
@@ -9653,3 +9653,3 @@ start_preparsed_function (tree decl1, tr
       && TREE_CODE (TREE_TYPE (fntype)) == VOID_TYPE)
-    warning ("`operator=' should return a reference to `*this'");
+    warning (0, "`operator=' should return a reference to `*this'");
 
@@ -10348,3 +10348,3 @@ finish_function (int flags)
       && (DECL_INLINE (fndecl) || processing_template_decl))
-    warning ("no return statement in function returning non-void");
+    warning (0, "no return statement in function returning non-void");
 
Index: cp/decl2.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/decl2.c,v
retrieving revision 1.729
diff -p -U1 -r1.729  cp/decl2.c
--- cp/decl2.c	18 Jul 2004 23:57:31 -0000	1.729
+++ cp/decl2.c	23 Jul 2004 22:39:38 -0000
@@ -425,3 +425,3 @@ delete_sanity (tree exp, tree size, bool
       && TREE_CODE (TREE_TYPE (exp)) == ARRAY_TYPE)
-    warning ("deleting array `%#D'", exp);
+    warning (0, "deleting array `%#D'", exp);
 
@@ -450,3 +450,3 @@ delete_sanity (tree exp, tree size, bool
     {
-      warning ("deleting `%T' is undefined", type);
+      warning (0, "deleting `%T' is undefined", type);
       doing_vec = 0;
@@ -1191,3 +1191,3 @@ finish_anon_union (tree anon_union_decl)
     {
-      warning ("anonymous union with no members");
+      warning (0, "anonymous union with no members");
       return;
Index: cp/except.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/except.c,v
retrieving revision 1.171
diff -p -U1 -r1.171  cp/except.c
--- cp/except.c	20 Jul 2004 00:34:00 -0000	1.171
+++ cp/except.c	23 Jul 2004 22:39:38 -0000
@@ -575,3 +575,3 @@ build_throw (tree exp)
   if (exp == null_node)
-    warning ("throwing NULL, which has integral, not pointer type");
+    warning (0, "throwing NULL, which has integral, not pointer type");
   
@@ -896,5 +896,5 @@ check_handlers_1 (tree master, tree_stmt
 	{
-	  warning ("%Hexception of type `%T' will be caught",
+	  warning (0, "%Hexception of type `%T' will be caught",
 		   EXPR_LOCUS (handler), TREE_TYPE (handler));
-	  warning ("%H   by earlier handler for `%T'",
+	  warning (0, "%H   by earlier handler for `%T'",
 		   EXPR_LOCUS (master), type);
Index: cp/friend.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/friend.c,v
retrieving revision 1.99
diff -p -U1 -r1.99  cp/friend.c
--- cp/friend.c	28 Jun 2004 10:41:11 -0000	1.99
+++ cp/friend.c	23 Jul 2004 22:39:38 -0000
@@ -151,3 +151,3 @@ add_friend (tree type, tree decl, bool c
 		  if (complain)
-		    warning ("`%D' is already a friend of class `%T'",
+		    warning (0, "`%D' is already a friend of class `%T'",
 			     decl, type);
@@ -278,3 +278,3 @@ make_friend_class (tree type, tree frien
 	      if (complain)
-		warning ("`%D' is already a friend of `%T'",
+		warning (0, "`%D' is already a friend of `%T'",
 			 probe, type);
@@ -288,3 +288,3 @@ make_friend_class (tree type, tree frien
 	      if (complain)
-		warning ("`%T' is already a friend of `%T'",
+		warning (0, "`%T' is already a friend of `%T'",
 			 probe, type);
@@ -470,6 +470,6 @@ do_friend (tree ctype, tree declarator, 
 	      static int explained;
-	      warning ("friend declaration `%#D' declares a non-template function", decl);
+	      warning (0, "friend declaration `%#D' declares a non-template function", decl);
 	      if (! explained)
 		{
-		  warning ("(if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) -Wno-non-template-friend disables this warning");
+		  warning (0, "(if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) -Wno-non-template-friend disables this warning");
 		  explained = 1;
Index: cp/init.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/init.c,v
retrieving revision 1.389
diff -p -U1 -r1.389  cp/init.c
--- cp/init.c	20 Jul 2004 13:46:43 -0000	1.389
+++ cp/init.c	23 Jul 2004 22:39:38 -0000
@@ -320,3 +320,3 @@ perform_member_init (tree member, tree i
   if (warn_ecpp && !explicit && TREE_CODE (type) != ARRAY_TYPE)
-    warning ("`%D' should be initialized in the member initialization "
+    warning (0, "`%D' should be initialized in the member initialization "
 	     "list", 
@@ -369,3 +369,3 @@ perform_member_init (tree member, tree i
 		warning
-		  ("default-initialization of `%#D', which has reference type",
+		  (0, "default-initialization of `%#D', which has reference type",
 		   member);
@@ -521,3 +521,3 @@ sort_mem_initializers (tree t, tree mem_
 	  else
-	    warning ("base `%T' will be initialized after",
+	    warning (0, "base `%T' will be initialized after",
 		     TREE_PURPOSE (next_subobject));
@@ -526,4 +526,4 @@ sort_mem_initializers (tree t, tree mem_
 	  else
-	    warning ("  base `%T'", subobject);
-	  warning ("  when initialized here");
+	    warning (0, "  base `%T'", subobject);
+	  warning (0, "  when initialized here");
 	}
@@ -669,3 +669,3 @@ emit_mem_initializers (tree mem_inits)
 	  && TYPE_NEEDS_CONSTRUCTING (BINFO_TYPE (subobject)))
-	warning ("base class `%#T' should be explicitly initialized in the "
+	warning (0, "base class `%#T' should be explicitly initialized in the "
 		 "copy constructor",
@@ -2728,3 +2728,3 @@ build_delete (tree type, tree addr, spec
 	    {
-	      warning ("possible problem detected in invocation of "
+	      warning (0, "possible problem detected in invocation of "
 		       "delete operator:");
Index: cp/lex.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/lex.c,v
retrieving revision 1.336
diff -p -U1 -r1.336  cp/lex.c
--- cp/lex.c	15 Jul 2004 03:10:26 -0000	1.336
+++ cp/lex.c	23 Jul 2004 22:39:38 -0000
@@ -445,3 +445,3 @@ parse_strconst_pragma (const char* name,
       if (c_lex (&x) != CPP_EOF)
-	warning ("junk at end of #pragma %s", name);
+	warning (0, "junk at end of #pragma %s", name);
       return result;
@@ -534,3 +534,3 @@ handle_pragma_implementation (cpp_reader
       if (cpp_included (parse_in, main_filename))
-	warning ("#pragma implementation for %s appears after file is included",
+	warning (0, "#pragma implementation for %s appears after file is included",
 		 main_filename);
@@ -558,3 +558,3 @@ handle_pragma_java_exceptions (cpp_reade
   if (c_lex (&x) != CPP_EOF)
-    warning ("junk at end of #pragma GCC java_exceptions");
+    warning (0, "junk at end of #pragma GCC java_exceptions");
 
Index: cp/mangle.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/mangle.c,v
retrieving revision 1.103
diff -p -U1 -r1.103  cp/mangle.c
--- cp/mangle.c	18 Jul 2004 19:32:10 -0000	1.103
+++ cp/mangle.c	23 Jul 2004 22:39:38 -0000
@@ -2419,3 +2419,3 @@ finish_mangling (const bool warn)
   if (warn_abi && warn && G.need_abi_warning)
-    warning ("the mangled name of `%D' will change in a future "
+    warning (0, "the mangled name of `%D' will change in a future "
 	     "version of GCC",
Index: cp/name-lookup.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/name-lookup.c,v
retrieving revision 1.78
diff -p -U1 -r1.78  cp/name-lookup.c
--- cp/name-lookup.c	20 Jul 2004 12:25:23 -0000	1.78
+++ cp/name-lookup.c	23 Jul 2004 22:39:39 -0000
@@ -968,3 +968,3 @@ pushdecl (tree x)
 		{
-		  warning ("extern declaration of `%#D' doesn't match", x);
+		  warning (0, "extern declaration of `%#D' doesn't match", x);
 		  cp_warning_at ("global declaration `%#D'", oldglobal);
@@ -1012,4 +1012,4 @@ pushdecl (tree x)
 		{
-		  warning ("declaration of '%#D' shadows a parameter", x);
-		  warning ("%Jshadowed declaration is here", oldlocal);
+		  warning (0, "declaration of '%#D' shadows a parameter", x);
+		  warning (0, "%Jshadowed declaration is here", oldlocal);
 		}
@@ -1037,3 +1037,3 @@ pushdecl (tree x)
 		  /* Location of previous decl is not useful in this case.  */
-		  warning ("declaration of '%D' shadows a member of 'this'",
+		  warning (0, "declaration of '%D' shadows a member of 'this'",
 			   x);
@@ -1043,4 +1043,4 @@ pushdecl (tree x)
 		{
-		  warning ("declaration of '%D' shadows a previous local", x);
-		  warning ("%Jshadowed declaration is here", oldlocal);
+		  warning (0, "declaration of '%D' shadows a previous local", x);
+		  warning (0, "%Jshadowed declaration is here", oldlocal);
 		}
@@ -1050,5 +1050,5 @@ pushdecl (tree x)
 		{
-		  warning ("declaration of '%D' shadows a global declaration",
+		  warning (0, "declaration of '%D' shadows a global declaration",
 			   x);
-		  warning ("%Jshadowed declaration is here", oldglobal);
+		  warning (0, "%Jshadowed declaration is here", oldglobal);
 		}
@@ -1166,3 +1166,3 @@ check_for_out_of_scope_variable (tree de
 	{
-	  warning ("name lookup of `%D' changed",
+	  warning (0, "name lookup of `%D' changed",
 		      DECL_NAME (decl));
@@ -2017,3 +2017,3 @@ push_overloaded_decl (tree decl, int fla
 		  || ! DECL_IN_SYSTEM_HEADER (old)))
-	    warning ("`%#D' hides constructor for `%#T'", decl, t);
+	    warning (0, "`%#D' hides constructor for `%#T'", decl, t);
 	  old = NULL_TREE;
@@ -3458,3 +3458,3 @@ parse_using_directive (tree namespace, t
       else
-	warning ("`%D' attribute directive ignored", name);
+	warning (0, "`%D' attribute directive ignored", name);
     }
Index: cp/parser.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/parser.c,v
retrieving revision 1.230
diff -p -U1 -r1.230  cp/parser.c
--- cp/parser.c	20 Jul 2004 19:13:36 -0000	1.230
+++ cp/parser.c	23 Jul 2004 22:39:40 -0000
@@ -4925,3 +4925,3 @@ cp_parser_new_type_id (cp_parser* parser
 	  if (*nelts == integer_zero_node)
-	    warning ("zero size array reserves no space");
+	    warning (0, "zero size array reserves no space");
 	}
@@ -5205,3 +5205,3 @@ cp_parser_cast_expression (cp_parser *pa
 	      && current_lang_name != lang_name_c)
-	    warning ("use of old-style cast");
+	    warning (0, "use of old-style cast");
 
@@ -8088,3 +8088,3 @@ cp_parser_template_declaration (cp_parse
       /* Warn that we do not support `export'.  */
-      warning ("keyword `export' not implemented, and will be ignored");
+      warning (0, "keyword `export' not implemented, and will be ignored");
     }
@@ -9833,3 +9833,3 @@ cp_parser_elaborated_type_specifier (cp_
  	  if (attributes)
-	    warning ("type attributes are honored only at type definition");
+	    warning (0, "type attributes are honored only at type definition");
 
@@ -10682,3 +10682,3 @@ cp_parser_init_declarator (cp_parser* pa
     if (cp_parser_attributes_opt (parser))
-      warning ("attributes after parenthesized initializer ignored");
+      warning (0, "attributes after parenthesized initializer ignored");
 
@@ -11918,3 +11918,3 @@ cp_parser_parameter_declaration (cp_pars
 	  if (!flag_pedantic_errors)
-	    warning ("deprecated use of default argument for parameter of non-function");
+	    warning (0, "deprecated use of default argument for parameter of non-function");
 	  else
Index: cp/repo.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/repo.c,v
retrieving revision 1.49
diff -p -U1 -r1.49  cp/repo.c
--- cp/repo.c	19 Dec 2003 23:28:09 -0000	1.49
+++ cp/repo.c	23 Jul 2004 22:39:40 -0000
@@ -258,3 +258,3 @@ get_base_filename (const char *filename)
     {
-      warning ("-frepo must be used with -c");
+      warning (0, "-frepo must be used with -c");
       flag_use_repository = 0;
Index: cp/rtti.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/rtti.c,v
retrieving revision 1.190
diff -p -U1 -r1.190  cp/rtti.c
--- cp/rtti.c	20 Jul 2004 12:25:30 -0000	1.190
+++ cp/rtti.c	23 Jul 2004 22:39:40 -0000
@@ -578,3 +578,3 @@ build_dynamic_cast_1 (tree type, tree ex
 	          tree expr = throw_bad_cast ();
-		  warning ("dynamic_cast of `%#D' to `%#T' can never succeed",
+		  warning (0, "dynamic_cast of `%#D' to `%#T' can never succeed",
 			      old_expr, type);
@@ -592,3 +592,3 @@ build_dynamic_cast_1 (tree type, tree ex
 		{
-		  warning ("dynamic_cast of `%#D' to `%#T' can never succeed",
+		  warning (0, "dynamic_cast of `%#D' to `%#T' can never succeed",
 			      op, type);
Index: cp/tree.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/tree.c,v
retrieving revision 1.397
diff -p -U1 -r1.397  cp/tree.c
--- cp/tree.c	20 Jul 2004 23:20:08 -0000	1.397
+++ cp/tree.c	23 Jul 2004 22:39:40 -0000
@@ -1817,3 +1817,3 @@ handle_com_interface_attribute (tree* no
     {
-      warning ("`%E' attribute can only be applied to class definitions",
+      warning (0, "`%E' attribute can only be applied to class definitions",
 	       name);
@@ -1823,3 +1823,3 @@ handle_com_interface_attribute (tree* no
   if (!warned++)
-    warning ("`%E' is obsolete; g++ vtables are now COM-compatible by default",
+    warning (0, "`%E' is obsolete; g++ vtables are now COM-compatible by default",
 	     name);
@@ -1886,3 +1886,3 @@ handle_init_priority_attribute (tree* no
       warning 
-	("requested init_priority is reserved for internal use");
+	(0, "requested init_priority is reserved for internal use");
     }
Index: cp/typeck.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/typeck.c,v
retrieving revision 1.564
diff -p -U1 -r1.564  cp/typeck.c
--- cp/typeck.c	21 Jul 2004 08:57:07 -0000	1.564
+++ cp/typeck.c	23 Jul 2004 22:39:42 -0000
@@ -1498,3 +1498,3 @@ string_conv_p (tree totype, tree exp, in
   if (warn && warn_write_strings)
-    warning ("deprecated conversion from string constant to `%T'", totype);
+    warning (0, "deprecated conversion from string constant to `%T'", totype);
 
@@ -1712,5 +1712,5 @@ build_class_member_access_expr (tree obj
 	{
-	  warning ("invalid access to non-static data member `%D' of NULL object", 
+	  warning (0, "invalid access to non-static data member `%D' of NULL object", 
 		   member);
-	  warning  ("(perhaps the `offsetof' macro was used incorrectly)");
+	  warning (0, "(perhaps the `offsetof' macro was used incorrectly)");
 	}
@@ -2199,3 +2199,3 @@ build_array_ref (tree array, tree idx)
 	  && TYPE_MAIN_VARIANT (TREE_TYPE (idx)) == char_type_node)
-	warning ("array subscript has type `char'");
+	warning (0, "array subscript has type `char'");
 
@@ -2251,3 +2251,3 @@ build_array_ref (tree array, tree idx)
 	  if (TREE_CODE (foo) == VAR_DECL && DECL_REGISTER (foo))
-	    warning ("subscripting array declared `register'");
+	    warning (0, "subscripting array declared `register'");
 	}
@@ -2876,5 +2876,5 @@ build_binary_op (enum tree_code code, tr
 	  if (TREE_CODE (op1) == INTEGER_CST && integer_zerop (op1))
-	    warning ("division by zero in `%E / 0'", op0);
+	    warning (0, "division by zero in `%E / 0'", op0);
 	  else if (TREE_CODE (op1) == REAL_CST && real_zerop (op1))
-	    warning ("division by zero in `%E / 0.'", op0);
+	    warning (0, "division by zero in `%E / 0.'", op0);
 	      
@@ -2912,5 +2912,5 @@ build_binary_op (enum tree_code code, tr
       if (code1 == INTEGER_TYPE && integer_zerop (op1))
-	warning ("division by zero in `%E %% 0'", op0);
+	warning (0, "division by zero in `%E %% 0'", op0);
       else if (code1 == REAL_TYPE && real_zerop (op1))
-	warning ("division by zero in `%E %% 0.'", op0);
+	warning (0, "division by zero in `%E %% 0.'", op0);
       
@@ -2948,3 +2948,3 @@ build_binary_op (enum tree_code code, tr
 	      if (tree_int_cst_lt (op1, integer_zero_node))
-		warning ("right shift count is negative");
+		warning (0, "right shift count is negative");
 	      else
@@ -2954,3 +2954,3 @@ build_binary_op (enum tree_code code, tr
 		  if (compare_tree_int (op1, TYPE_PRECISION (type0)) >= 0)
-		    warning ("right shift count >= width of type");
+		    warning (0, "right shift count >= width of type");
 		}
@@ -2973,5 +2973,5 @@ build_binary_op (enum tree_code code, tr
 	      if (tree_int_cst_lt (op1, integer_zero_node))
-		warning ("left shift count is negative");
+		warning (0, "left shift count is negative");
 	      else if (compare_tree_int (op1, TYPE_PRECISION (type0)) >= 0)
-		warning ("left shift count >= width of type");
+		warning (0, "left shift count >= width of type");
 	    }
@@ -2994,6 +2994,6 @@ build_binary_op (enum tree_code code, tr
 	      if (tree_int_cst_lt (op1, integer_zero_node))
-		warning ("%s rotate count is negative",
+		warning (0, "%s rotate count is negative",
 			 (code == LROTATE_EXPR) ? "left" : "right");
 	      else if (compare_tree_int (op1, TYPE_PRECISION (type0)) >= 0)
-		warning ("%s rotate count >= width of type",
+		warning (0, "%s rotate count >= width of type",
 			 (code == LROTATE_EXPR) ? "left" : "right");
@@ -3010,3 +3010,3 @@ build_binary_op (enum tree_code code, tr
       if (warn_float_equal && (code0 == REAL_TYPE || code1 == REAL_TYPE))
-	warning ("comparing floating point with == or != is unsafe");
+	warning (0, "comparing floating point with == or != is unsafe");
 
@@ -3313,3 +3313,3 @@ build_binary_op (enum tree_code code, tr
 	    {
-	      warning ("comparison between types `%#T' and `%#T'", 
+	      warning (0, "comparison between types `%#T' and `%#T'", 
 			  TREE_TYPE (orig_op0), TREE_TYPE (orig_op1));
@@ -3349,3 +3349,3 @@ build_binary_op (enum tree_code code, tr
 	  else
-	    warning ("comparison between signed and unsigned integer expressions");
+	    warning (0, "comparison between signed and unsigned integer expressions");
 
@@ -3393,3 +3393,3 @@ build_binary_op (enum tree_code code, tr
 		      if ((mask & constant) != mask)
-			warning ("comparison of promoted ~unsigned with constant");
+			warning (0, "comparison of promoted ~unsigned with constant");
 		    }
@@ -3401,3 +3401,3 @@ build_binary_op (enum tree_code code, tr
 			   < TYPE_PRECISION (result_type)))
-		warning ("comparison of promoted ~unsigned with unsigned");
+		warning (0, "comparison of promoted ~unsigned with unsigned");
 	    }
@@ -3436,3 +3436,3 @@ build_binary_op (enum tree_code code, tr
        that case.  */
-    warning ("NULL used in arithmetic");
+    warning (0, "NULL used in arithmetic");
 
@@ -3614,3 +3614,3 @@ build_x_unary_op (enum tree_code code, t
       else if (TREE_CODE (xarg) == TARGET_EXPR)
-	warning ("taking address of temporary");
+	warning (0, "taking address of temporary");
       exp = build_unary_op (ADDR_EXPR, xarg, 0);
@@ -4320,3 +4320,3 @@ cxx_mark_addressable (tree exp)
 	    && !DECL_ARTIFICIAL (x) && extra_warnings)
-	  warning ("address requested for `%D', which is declared `register'",
+	  warning (0, "address requested for `%D', which is declared `register'",
 		      x);
@@ -4927,3 +4927,3 @@ build_c_cast (tree type, tree expr)
 				   TREE_TYPE (otype)))
-    warning ("cast from `%T' to `%T' discards qualifiers from pointer target type",
+    warning (0, "cast from `%T' to `%T' discards qualifiers from pointer target type",
                 otype, type);
@@ -4933,3 +4933,3 @@ build_c_cast (tree type, tree expr)
       && TYPE_PRECISION (type) != TYPE_PRECISION (otype))
-    warning ("cast from pointer to integer of different size");
+    warning (0, "cast from pointer to integer of different size");
 
@@ -4940,3 +4940,3 @@ build_c_cast (tree type, tree expr)
       && !TREE_CONSTANT (value))
-    warning ("cast to pointer from integer of different size");
+    warning (0, "cast to pointer from integer of different size");
 
@@ -4975,3 +4975,3 @@ build_c_cast (tree type, tree expr)
       && TYPE_ALIGN (TREE_TYPE (type)) > TYPE_ALIGN (TREE_TYPE (otype)))
-    warning ("cast from `%T' to `%T' increases required alignment of target type",
+    warning (0, "cast from `%T' to `%T' increases required alignment of target type",
                 otype, type);
@@ -5342,3 +5342,3 @@ get_delta_difference (tree from, tree to
 		/* This is a reinterpret cast, we choose to do nothing.  */
-		warning ("pointer to member cast via virtual base `%T'",
+		warning (0, "pointer to member cast via virtual base `%T'",
 			 BINFO_TYPE (virt_binfo));
@@ -5358,3 +5358,3 @@ get_delta_difference (tree from, tree to
 	  if (force)
-	    warning ("pointer to member cast via virtual base `%T'",
+	    warning (0, "pointer to member cast via virtual base `%T'",
 		     BINFO_TYPE (virt_binfo));
@@ -5589,6 +5589,6 @@ dubious_conversion_warnings (tree type, 
       if (fndecl)
-        warning ("passing NULL used for non-pointer %s %P of `%D'",
+        warning (0, "passing NULL used for non-pointer %s %P of `%D'",
                     errtype, parmnum, fndecl);
       else
-        warning ("%s to non-pointer type `%T' from NULL", errtype, type);
+        warning (0, "%s to non-pointer type `%T' from NULL", errtype, type);
     }
@@ -5600,6 +5600,6 @@ dubious_conversion_warnings (tree type, 
       if (fndecl)
-	warning ("passing `%T' for %s %P of `%D'",
+	warning (0, "passing `%T' for %s %P of `%D'",
 		    TREE_TYPE (expr), errtype, parmnum, fndecl);
       else
-	warning ("%s to `%T' from `%T'", errtype, type, TREE_TYPE (expr));
+	warning (0, "%s to `%T' from `%T'", errtype, type, TREE_TYPE (expr));
     }
@@ -5612,6 +5612,6 @@ dubious_conversion_warnings (tree type, 
 	  if (fndecl)
-	    warning ("passing negative value `%E' for %s %P of `%D'",
+	    warning (0, "passing negative value `%E' for %s %P of `%D'",
 			expr, errtype, parmnum, fndecl);
 	  else
-	    warning ("%s of negative value `%E' to `%T'",
+	    warning (0, "%s of negative value `%E' to `%T'",
 			errtype, expr, type);
@@ -5834,3 +5834,3 @@ maybe_warn_about_returning_address_of_lo
 	{
-	  warning ("returning reference to temporary");
+	  warning (0, "returning reference to temporary");
 	  return;
@@ -5841,3 +5841,3 @@ maybe_warn_about_returning_address_of_lo
 	{
-	  warning ("reference to non-lvalue returned");
+	  warning (0, "reference to non-lvalue returned");
 	  return;
@@ -5880,3 +5880,3 @@ check_return_expr (tree retval)
   if (TREE_THIS_VOLATILE (current_function_decl))
-    warning ("function declared `noreturn' has a `return' statement");
+    warning (0, "function declared `noreturn' has a `return' statement");
 
@@ -5959,3 +5959,3 @@ check_return_expr (tree retval)
       && null_ptr_cst_p (retval))
-    warning ("`operator new' must not return NULL unless it is declared `throw()' (or -fcheck-new is in effect)");
+    warning (0, "`operator new' must not return NULL unless it is declared `throw()' (or -fcheck-new is in effect)");
 
@@ -5984,3 +5984,3 @@ check_return_expr (tree retval)
       if (warn)
-	warning ("`operator=' should return a reference to `*this'");
+	warning (0, "`operator=' should return a reference to `*this'");
     }
Index: cp/typeck2.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/typeck2.c,v
retrieving revision 1.166
diff -p -U1 -r1.166  cp/typeck2.c
--- cp/typeck2.c	20 Jul 2004 12:25:33 -0000	1.166
+++ cp/typeck2.c	23 Jul 2004 22:39:42 -0000
@@ -351,3 +351,3 @@ cxx_incomplete_type_diagnostic (tree val
     {
-      p_msg = warning;
+      p_msg = warning0;
       p_msg_at = cp_warning_at;
@@ -843,3 +843,3 @@ process_init_constructor (tree type, tre
       if (warn_missing_braces)
-	warning ("aggregate has a partly bracketed initializer");
+	warning (0, "aggregate has a partly bracketed initializer");
       tail = *elts;
@@ -1026,3 +1026,3 @@ process_init_constructor (tree type, tre
 	          && (!init || BRACE_ENCLOSED_INITIALIZER_P (init)))
-		warning ("missing initializer for member `%D'", field);
+		warning (0, "missing initializer for member `%D'", field);
 	    }
@@ -1042,3 +1042,3 @@ process_init_constructor (tree type, tre
 	          && (!init || BRACE_ENCLOSED_INITIALIZER_P (init)))
-		warning ("missing initializer for member `%D'", field);
+		warning (0, "missing initializer for member `%D'", field);
 
Index: fortran/trans-decl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/fortran/trans-decl.c,v
retrieving revision 1.24
diff -p -U1 -r1.24  fortran/trans-decl.c
--- fortran/trans-decl.c	15 Jul 2004 18:50:13 -0000	1.24
+++ fortran/trans-decl.c	23 Jul 2004 22:39:42 -0000
@@ -1679,3 +1679,3 @@ gfc_trans_deferred_vars (gfc_symbol * pr
 	{
-	  warning ("Function does not return a value");
+	  warning (0, "Function does not return a value");
 	  return fnbody;
@@ -1876,3 +1876,3 @@ generate_local_decl (gfc_symbol * sym)
           if (warn_unused_parameter)
-            warning ("unused parameter `%s'", sym->name);
+            warning (0, "unused parameter `%s'", sym->name);
         }
@@ -1882,3 +1882,3 @@ generate_local_decl (gfc_symbol * sym)
 	       && !(sym->attr.in_common || sym->attr.use_assoc))
-	warning ("unused variable `%s'", sym->name); 
+	warning (0, "unused variable `%s'", sym->name); 
     }
@@ -2042,3 +2042,3 @@ gfc_generate_function_code (gfc_namespac
       if (result == NULL_TREE)
-	warning ("Function return value not set");
+	warning (0, "Function return value not set");
       else
Index: java/class.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/class.c,v
retrieving revision 1.200
diff -p -U1 -r1.200  java/class.c
--- java/class.c	20 Jul 2004 12:25:40 -0000	1.200
+++ java/class.c	23 Jul 2004 22:39:42 -0000
@@ -799,5 +799,5 @@ set_constant_value (tree field, tree con
   if (field == NULL_TREE)
-    warning ("misplaced ConstantValue attribute (not in any field)");
+    warning (0, "misplaced ConstantValue attribute (not in any field)");
   else if (DECL_INITIAL (field) != NULL_TREE)
-    warning ("duplicate ConstantValue attribute for field '%s'",
+    warning (0, "duplicate ConstantValue attribute for field '%s'",
 	     IDENTIFIER_POINTER (DECL_NAME (field)));
@@ -1376,3 +1376,3 @@ get_dispatch_table (tree type, tree this
 	  if (! abstract_p)
-	    warning ("%Jabstract method in non-abstract class", method);
+	    warning (0, "%Jabstract method in non-abstract class", method);
 
Index: java/decl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/decl.c,v
retrieving revision 1.189
diff -p -U1 -r1.189  java/decl.c
--- java/decl.c	21 Jul 2004 16:03:42 -0000	1.189
+++ java/decl.c	23 Jul 2004 22:39:42 -0000
@@ -1235,3 +1235,3 @@ pushdecl (tree x)
 	      if (warnstring)
-		warning (warnstring, IDENTIFIER_POINTER (name));
+		warning (0, warnstring, IDENTIFIER_POINTER (name));
 	    }
@@ -1538,3 +1538,3 @@ poplevel (int keep, int reverse, int fun
 	  else if (warn_unused[UNUSED_LABEL] && !TREE_USED (label))
-	    warning ("%Jlabel '%D' defined but not used", label, label);
+	    warning (0, "%Jlabel '%D' defined but not used", label, label);
 	  IDENTIFIER_LABEL_VALUE (DECL_NAME (label)) = 0;
@@ -1660,3 +1660,3 @@ force_poplevels (int start_pc)
       if (pedantic && current_binding_level->start_pc > start_pc)
-	warning ("%JIn %D: overlapped variable and exception ranges at %d",
+	warning (0, "%JIn %D: overlapped variable and exception ranges at %d",
                  current_function_decl, current_function_decl,
@@ -1724,3 +1724,3 @@ give_name_to_locals (JCF *jcf)
 	  if (TREE_CODE (decl) != PARM_DECL || TREE_TYPE (decl) != type)
-	    warning ("bad type in parameter debug info");
+	    warning (0, "bad type in parameter debug info");
 	}
@@ -1733,3 +1733,3 @@ give_name_to_locals (JCF *jcf)
 	    {
-	      warning ("%Jbad PC range for debug info for local '%D'",
+	      warning (0, "%Jbad PC range for debug info for local '%D'",
                        decl, decl);
Index: java/expr.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/expr.c,v
retrieving revision 1.200
diff -p -U1 -r1.200  java/expr.c
--- java/expr.c	21 Jul 2004 16:03:42 -0000	1.200
+++ java/expr.c	23 Jul 2004 22:39:42 -0000
@@ -1716,3 +1716,3 @@ expand_java_ret (tree return_address ATT
 {
-  warning ("ret instruction not implemented");
+  warning (0, "ret instruction not implemented");
 #if 0
@@ -2432,3 +2432,3 @@ expand_java_field_op (int is_static, int
 	      if (!DECL_CLINIT_P (current_function_decl))
-		warning ("%Jassignment to final static field `%D' not in "
+		warning (0, "%Jassignment to final static field `%D' not in "
                          "class initializer",
@@ -2441,3 +2441,3 @@ expand_java_field_op (int is_static, int
 		  && !ID_FINIT_P (cfndecl_name))
-                warning ("%Jassignment to final field '%D' not in constructor",
+                warning (0, "%Jassignment to final field '%D' not in constructor",
 			 field_decl, field_decl);
@@ -2631,3 +2631,3 @@ expand_byte_code (JCF *jcf, tree method)
       if (pc >= length)
-	warning ("invalid PC in line number table");
+	warning (0, "invalid PC in line number table");
       else
@@ -2677,3 +2677,3 @@ expand_byte_code (JCF *jcf, tree method)
 	      if (extra_warnings)
-		warning ("unreachable bytecode from %d to before %d",
+		warning (0, "unreachable bytecode from %d to before %d",
 			 dead_code_index, PC);
@@ -2714,3 +2714,3 @@ expand_byte_code (JCF *jcf, tree method)
       if (extra_warnings)
-	warning ("unreachable bytecode from %d to the end of the method", 
+	warning (0, "unreachable bytecode from %d to the end of the method", 
 		 dead_code_index);
Index: java/jcf-io.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/jcf-io.c,v
retrieving revision 1.49
diff -p -U1 -r1.49  java/jcf-io.c
--- java/jcf-io.c	31 Mar 2004 13:36:06 -0000	1.49
+++ java/jcf-io.c	23 Jul 2004 22:39:42 -0000
@@ -534,3 +534,3 @@ find_class (const char *classname, int c
       if (flag_newer)
-	warning ("source file for class `%s' is newer than its matching class file.  Source file `%s' used instead", classname, java_buffer);
+	warning (0, "source file for class `%s' is newer than its matching class file.  Source file `%s' used instead", classname, java_buffer);
       class = -1;
Index: java/jcf-parse.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/jcf-parse.c,v
retrieving revision 1.164
diff -p -U1 -r1.164  java/jcf-parse.c
--- java/jcf-parse.c	15 Jul 2004 17:33:01 -0000	1.164
+++ java/jcf-parse.c	23 Jul 2004 22:39:43 -0000
@@ -1003,3 +1003,3 @@ java_parse_file (int set_yydebug ATTRIBU
 	      warn_loc.line = 0;
-	      warning ("%Hsource file seen twice on command line and "
+	      warning (0, "%Hsource file seen twice on command line and "
 		       "will be compiled only once", &warn_loc);
@@ -1018,3 +1018,3 @@ java_parse_file (int set_yydebug ATTRIBU
   if (filename_count == 0)
-    warning ("no input file specified");
+    warning (0, "no input file specified");
 
Index: java/parse.y
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/parse.y,v
retrieving revision 1.494
diff -p -U1 -r1.494  java/parse.y
--- java/parse.y	20 Jul 2004 12:25:44 -0000	1.494
+++ java/parse.y	23 Jul 2004 22:39:44 -0000
@@ -3040,3 +3040,3 @@ yyerror (const char *msg)
   if (do_warning)
-    warning ("%s.\n%s", msg, remainder);
+    warning (0, "%s.\n%s", msg, remainder);
   else
Index: objc/objc-act.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/objc/objc-act.c,v
retrieving revision 1.233
diff -p -U1 -r1.233  objc/objc-act.c
--- objc/objc-act.c	19 Jul 2004 08:38:39 -0000	1.233
+++ objc/objc-act.c	23 Jul 2004 22:39:44 -0000
@@ -682,3 +682,3 @@ objc_comptypes (tree lhs, tree rhs, int 
 			warning
-			  ("object does not conform to the `%s' protocol",
+			  (0, "object does not conform to the `%s' protocol",
 			   IDENTIFIER_POINTER (PROTOCOL_NAME (p)));
@@ -768,3 +768,3 @@ objc_comptypes (tree lhs, tree rhs, int 
 		  if (!rproto)
-		    warning ("class `%s' does not implement the `%s' protocol",
+		    warning (0, "class `%s' does not implement the `%s' protocol",
 			     IDENTIFIER_POINTER (OBJC_TYPE_NAME (TREE_TYPE (rhs))),
@@ -841,3 +841,3 @@ objc_comptypes (tree lhs, tree rhs, int 
 		      if (!lproto)
-			warning ("class `%s' does not implement the `%s' protocol",
+			warning (0, "class `%s' does not implement the `%s' protocol",
 				 IDENTIFIER_POINTER (OBJC_TYPE_NAME
@@ -995,3 +995,3 @@ get_protocol_reference (tree protocols)
       if (TYPE_MAIN_VARIANT (type) != objc_id_type)
-	warning ("unexpected type for `id' (%s)",
+	warning (0, "unexpected type for `id' (%s)",
 		 gen_declaration (type, errbuf));
@@ -2154,3 +2154,3 @@ build_selector_translation_table (void)
               input_line = DECL_SOURCE_LINE (TREE_PURPOSE (chain));
-            warning ("creating selector for non existant method %s",
+            warning (0, "creating selector for non existant method %s",
                      IDENTIFIER_POINTER (TREE_VALUE (chain)));
@@ -2480,5 +2480,5 @@ objc_declare_alias (tree alias_ident, tr
   if (!(underlying_class = is_class_name (class_ident)))
-    warning ("cannot find class `%s'", IDENTIFIER_POINTER (class_ident));
+    warning (0, "cannot find class `%s'", IDENTIFIER_POINTER (class_ident));
   else if (is_class_name (alias_ident))
-    warning ("class `%s' already exists", IDENTIFIER_POINTER (alias_ident));
+    warning (0, "class `%s' already exists", IDENTIFIER_POINTER (alias_ident));
   else
@@ -2757,3 +2757,3 @@ objc_init_exceptions (void)
   if (!flag_objc_exceptions)
-    warning ("use %<-fobjc-exceptions%> to enable Objective-C "
+    warning (0, "use %<-fobjc-exceptions%> to enable Objective-C "
 	     "exception syntax");
@@ -3099,5 +3099,5 @@ objc_begin_catch_clause (tree parm)
 	    {
-	      warning ("exception of type %<%T%> will be caught",
+	      warning (0, "exception of type %<%T%> will be caught",
 		       TREE_TYPE (type));
-	      warning ("%H   by earlier handler for %<%T%>",
+	      warning (0, "%H   by earlier handler for %<%T%>",
 		       EXPR_LOCUS (stmt), TREE_TYPE (t ? t : objc_id_type));
@@ -5494,3 +5494,3 @@ check_duplicates (hash hsh, int methods,
 
-	  warning ("multiple %s named `%c%s' found",
+	  warning (0, "multiple %s named `%c%s' found",
 		   methods ? "methods" : "selectors",
@@ -5799,3 +5799,3 @@ finish_message_expr (tree receiver, tree
 	{
-	  warning ("invalid receiver type `%s'",
+	  warning (0, "invalid receiver type `%s'",
 		   gen_declaration (orig_rtype, errbuf));
@@ -5810,3 +5810,3 @@ finish_message_expr (tree receiver, tree
       if (rtype)
-	warning ("`%s' may not respond to `%c%s'",
+	warning (0, "`%s' may not respond to `%c%s'",
 		 IDENTIFIER_POINTER (OBJC_TYPE_NAME (rtype)),
@@ -5815,3 +5815,3 @@ finish_message_expr (tree receiver, tree
       if (rprotos)
-	warning ("`%c%s' not implemented by protocol(s)",
+	warning (0, "`%c%s' not implemented by protocol(s)",
 		 (class_tree ? '+' : '-'),
@@ -5820,5 +5820,5 @@ finish_message_expr (tree receiver, tree
 	{
-	  warning ("(Messages without a matching method signature");
-	  warning ("will be assumed to return `id' and accept");
-	  warning ("`...' as arguments.)");
+	  warning (0, "(Messages without a matching method signature");
+	  warning (0, "will be assumed to return `id' and accept");
+	  warning (0, "`...' as arguments.)");
 	  warn_missing_methods = true;
@@ -6069,3 +6069,3 @@ build_selector_expr (tree selnamelist)
 	{
-	  warning ("undeclared selector `%s'", IDENTIFIER_POINTER (selname));
+	  warning (0, "undeclared selector `%s'", IDENTIFIER_POINTER (selname));
 	}
@@ -6111,3 +6111,3 @@ build_ivar_reference (tree id)
 	 paradigm.  */
-      warning ("instance variable `%s' accessed in class method",
+      warning (0, "instance variable `%s' accessed in class method",
 	       IDENTIFIER_POINTER (id));
@@ -6358,3 +6358,3 @@ add_category (tree class, tree category)
     {
-      warning ("duplicate interface declaration for category `%s(%s)'",
+      warning (0, "duplicate interface declaration for category `%s(%s)'",
 	       IDENTIFIER_POINTER (CLASS_NAME (class)),
@@ -6427,6 +6427,6 @@ add_instance_variable (tree class, int p
       if (TYPE_NEEDS_CONSTRUCTING (field_type))
-        warning ("type `%s' has a user-defined constructor", type_name);
+        warning (0, "type `%s' has a user-defined constructor", type_name);
       if (TYPE_HAS_NONTRIVIAL_DESTRUCTOR (field_type))
-        warning ("type `%s' has a user-defined destructor", type_name);
-      warning ("C++ constructors and destructors will not be invoked for Objective-C fields");
+        warning (0, "type `%s' has a user-defined destructor", type_name);
+      warning (0, "C++ constructors and destructors will not be invoked for Objective-C fields");
     }
@@ -6530,3 +6530,3 @@ objc_is_public (tree expr, tree identifi
 	      {
-		warning ("instance variable `%s' is %s; "
+		warning (0, "instance variable `%s' is %s; "
 			 "this will be a hard error in the future",
@@ -6547,3 +6547,3 @@ objc_is_public (tree expr, tree identifi
 	  TREE_TYPE (expr) = uprivate_record;
-	  warning ("static access to object of type `id'");
+	  warning (0, "static access to object of type `id'");
 	}
@@ -6569,3 +6569,3 @@ check_methods (tree chain, tree list, in
 		  == CLASS_IMPLEMENTATION_TYPE)
-		warning ("incomplete implementation of class `%s'",
+		warning (0, "incomplete implementation of class `%s'",
 			 IDENTIFIER_POINTER (CLASS_NAME (objc_implementation_context)));
@@ -6573,3 +6573,3 @@ check_methods (tree chain, tree list, in
 		       == CATEGORY_IMPLEMENTATION_TYPE)
-		warning ("incomplete implementation of category `%s'",
+		warning (0, "incomplete implementation of category `%s'",
 			 IDENTIFIER_POINTER (CLASS_SUPER_NAME (objc_implementation_context)));
@@ -6578,3 +6578,3 @@ check_methods (tree chain, tree list, in
 
-	  warning ("method definition for `%c%s' not found",
+	  warning (0, "method definition for `%c%s' not found",
 		   mtype, IDENTIFIER_POINTER (METHOD_SEL_NAME (chain)));
@@ -6657,3 +6657,3 @@ check_methods_accessible (tree chain, tr
 		  == CLASS_IMPLEMENTATION_TYPE)
-		warning ("incomplete implementation of class `%s'",
+		warning (0, "incomplete implementation of class `%s'",
 			 IDENTIFIER_POINTER
@@ -6662,3 +6662,3 @@ check_methods_accessible (tree chain, tr
 		       == CATEGORY_IMPLEMENTATION_TYPE)
-		warning ("incomplete implementation of category `%s'",
+		warning (0, "incomplete implementation of category `%s'",
 			 IDENTIFIER_POINTER
@@ -6667,3 +6667,3 @@ check_methods_accessible (tree chain, tr
 	    }
-	  warning ("method definition for `%c%s' not found",
+	  warning (0, "method definition for `%c%s' not found",
 		   mtype, IDENTIFIER_POINTER (METHOD_SEL_NAME (chain)));
@@ -6708,3 +6708,3 @@ check_protocol (tree p, const char *type
       if (!f1 || !f2)
-	warning ("%s `%s' does not fully implement the `%s' protocol",
+	warning (0, "%s `%s' does not fully implement the `%s' protocol",
 		 type, name, IDENTIFIER_POINTER (PROTOCOL_NAME (p)));
@@ -6766,3 +6766,3 @@ start_class (enum tree_code code, tree c
     {
-      warning ("`@end' missing in implementation context");
+      warning (0, "`@end' missing in implementation context");
       finish_class (objc_implementation_context);
@@ -6813,3 +6813,3 @@ start_class (enum tree_code code, tree c
         {
-	  warning ("cannot find interface declaration for `%s'",
+	  warning (0, "cannot find interface declaration for `%s'",
 		   IDENTIFIER_POINTER (class_name));
@@ -6845,3 +6845,3 @@ start_class (enum tree_code code, tree c
 #else
-	warning ("duplicate interface declaration for class `%s'",
+	warning (0, "duplicate interface declaration for class `%s'",
 #endif	
@@ -7113,3 +7113,3 @@ start_protocol (enum tree_code code, tre
     {
-      warning ("duplicate declaration for protocol `%s'",
+      warning (0, "duplicate declaration for protocol `%s'",
 	       IDENTIFIER_POINTER (name));
@@ -7604,3 +7604,3 @@ warn_with_method (const char *message, i
   /* Add a readable method name to the warning.  */
-  warning ("%J%s `%c%s'", method,
+  warning (0, "%J%s `%c%s'", method,
            message, mtype, gen_method_decl (method, errbuf));
@@ -8798,3 +8798,3 @@ finish_objc (void)
     {
-      warning ("`@end' missing in implementation context");
+      warning (0, "`@end' missing in implementation context");
       finish_class (objc_implementation_context);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]