diff options
120 files changed, 903 insertions, 815 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fc5453cc88e..a049544a1e0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,38 @@ +2005-04-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-parser.c, + c-pragma.c, c-typeck.c, calls.c, cgraph.c, coverage.c, emit-rtl.c, + fold-const.c, fortran/trans-decl.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, tree.c, varasm.c: Adjust warning() callers. + + * config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c, + config/avr/avr.c, config/bfin/bfin.c, config/c4x/c4x-c.c, + config/c4x/c4x.c, config/cris/cris.c, config/darwin-c.c, + config/darwin.c, config/darwin.h, 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/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-hpux11.h, + config/pa/pa.c, config/rs6000/aix43.h, config/rs6000/aix51.h, + config/rs6000/aix52.h, config/rs6000/darwin.h, + config/rs6000/rs6000-c.c, config/rs6000/rs6000.c, + config/s390/s390.c, config/sh/sh.c, config/sh/sh.h, + config/sh/symbian.c, config/sol2-c.c, config/sol2.c, + config/stormy16/stormy16.c, config/v850/v850-c.c, + config/v850/v850.c, config/xtensa/xtensa.c: Adjust warning() + callers. + 2005-04-23 Richard Henderson <rth@redhat.com> PR rtl-opt/21102 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 06bf37bbea8..e1833d640d9 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,7 @@ +2005-04-23 DJ Delorie <dj@redhat.com> + + * misc.c: Adjust warning() callers. + 2005-04-16 Laurent GUERBY <laurent@guerby.net> PR ada/18847 diff --git a/gcc/ada/misc.c b/gcc/ada/misc.c index 39feb1cc9c2..b8a3299ef49 100644 --- a/gcc/ada/misc.c +++ b/gcc/ada/misc.c @@ -301,7 +301,7 @@ gnat_handle_option (size_t scode, const char *arg, int value ATTRIBUTE_UNUSED) break; case OPT_gant: - warning ("%<-gnat%> misspelled as %<-gant%>"); + warning (0, "%<-gnat%> misspelled as %<-gant%>"); /* ... fall through ... */ diff --git a/gcc/attribs.c b/gcc/attribs.c index fd11a96700f..78047281967 100644 --- a/gcc/attribs.c +++ b/gcc/attribs.c @@ -172,7 +172,7 @@ decl_attributes (tree *node, tree attributes, int flags) if (spec == NULL) { - warning ("%qs attribute directive ignored", + warning (0, "%qs attribute directive ignored", IDENTIFIER_POINTER (name)); continue; } @@ -197,7 +197,7 @@ decl_attributes (tree *node, tree attributes, int flags) } else { - warning ("%qs attribute does not apply to types", + warning (0, "%qs attribute does not apply to types", IDENTIFIER_POINTER (name)); continue; } @@ -243,7 +243,7 @@ decl_attributes (tree *node, tree attributes, int flags) if (TREE_CODE (*anode) != FUNCTION_TYPE && TREE_CODE (*anode) != METHOD_TYPE) { - warning ("%qs attribute only applies to function types", + warning (0, "%qs attribute only applies to function types", IDENTIFIER_POINTER (name)); continue; } diff --git a/gcc/builtins.c b/gcc/builtins.c index af7721e3ad1..740961e15f1 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -351,7 +351,7 @@ c_strlen (tree src, int only_value) runtime. */ if (offset < 0 || offset > max) { - warning ("offset outside bounds of constant string"); + warning (0, "offset outside bounds of constant string"); return 0; } @@ -945,7 +945,7 @@ expand_builtin_prefetch (tree arglist) /* Argument 1 must be either zero or one. */ if (INTVAL (op1) != 0 && INTVAL (op1) != 1) { - warning ("invalid second argument to %<__builtin_prefetch%>;" + warning (0, "invalid second argument to %<__builtin_prefetch%>;" " using zero"); op1 = const0_rtx; } @@ -960,7 +960,7 @@ expand_builtin_prefetch (tree arglist) /* Argument 2 must be 0, 1, 2, or 3. */ if (INTVAL (op2) < 0 || INTVAL (op2) > 3) { - warning ("invalid third argument to %<__builtin_prefetch%>; using zero"); + warning (0, "invalid third argument to %<__builtin_prefetch%>; using zero"); op2 = const0_rtx; } @@ -4220,12 +4220,12 @@ gimplify_va_arg_expr (tree *expr_p, tree *pre_p, tree *post_p) /* Unfortunately, this is merely undefined, rather than a constraint violation, so we cannot make this an error. If this call is never executed, the program is still strictly conforming. */ - warning ("%qT is promoted to %qT when passed through %<...%>", + warning (0, "%qT is promoted to %qT when passed through %<...%>", type, promoted_type); if (! gave_help) { gave_help = true; - warning ("(so you should pass %qT not %qT to %<va_arg%>)", + warning (0, "(so you should pass %qT not %qT to %<va_arg%>)", promoted_type, type); } @@ -4365,9 +4365,9 @@ expand_builtin_frame_address (tree fndecl, tree arglist) if (tem == NULL) { if (DECL_FUNCTION_CODE (fndecl) == BUILT_IN_FRAME_ADDRESS) - warning ("unsupported argument to %<__builtin_frame_address%>"); + warning (0, "unsupported argument to %<__builtin_frame_address%>"); else - warning ("unsupported argument to %<__builtin_return_address%>"); + warning (0, "unsupported argument to %<__builtin_return_address%>"); return const0_rtx; } @@ -9486,7 +9486,7 @@ fold_builtin_next_arg (tree arglist) { /* Evidently an out of date version of <stdarg.h>; can't validate 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"); return true; } /* We use __builtin_va_start (ap, 0, 0) or __builtin_next_arg (0, 0) @@ -9521,7 +9521,7 @@ fold_builtin_next_arg (tree arglist) argument. We just warn and set the arg to be the last argument so that we will get wrong-code because of it. */ - warning ("second parameter of %<va_start%> not last named argument"); + warning (0, "second parameter of %<va_start%> not last named argument"); } /* We want to verify the second parameter just once before the tree optimizers are run and then avoid keeping it in the tree, diff --git a/gcc/c-common.c b/gcc/c-common.c index ab23903f6ea..8aa0aea4c97 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -913,7 +913,7 @@ overflow_warning (tree value) { TREE_OVERFLOW (value) = 0; if (skip_evaluation == 0) - warning ("integer overflow in expression"); + warning (0, "integer overflow in expression"); } else if ((TREE_CODE (value) == REAL_CST || (TREE_CODE (value) == COMPLEX_CST @@ -922,13 +922,13 @@ overflow_warning (tree value) { TREE_OVERFLOW (value) = 0; if (skip_evaluation == 0) - warning ("floating point overflow in expression"); + warning (0, "floating point overflow in expression"); } else if (TREE_CODE (value) == VECTOR_CST && TREE_OVERFLOW (value)) { TREE_OVERFLOW (value) = 0; if (skip_evaluation == 0) - warning ("vector overflow in expression"); + warning (0, "vector overflow in expression"); } } @@ -950,9 +950,9 @@ unsigned_conversion_warning (tree result, tree operand) { if (!int_fits_type_p (operand, c_common_signed_type (type))) /* 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"); } } @@ -1010,7 +1010,7 @@ convert_and_check (tree type, tree expr) || !constant_fits_type_p (expr, c_common_unsigned_type (type))) && skip_evaluation == 0) - warning ("overflow in implicit constant conversion"); + warning (0, "overflow in implicit constant conversion"); } else unsigned_conversion_warning (t, expr); @@ -1146,7 +1146,7 @@ warn_for_collisions_1 (tree written, tree writer, struct tlist *list, && DECL_NAME (list->expr)) { warned_ids = new_tlist (warned_ids, written, NULL_TREE); - warning ("operation on %qE may be undefined", list->expr); + warning (0, "operation on %qE may be undefined", list->expr); } list = list->next; } @@ -1472,7 +1472,7 @@ check_case_bounds (tree type, tree orig_type, if (tree_int_cst_compare (case_low, min_value) < 0 && tree_int_cst_compare (case_high, min_value) < 0) { - 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; } @@ -1480,7 +1480,7 @@ check_case_bounds (tree type, tree orig_type, if (tree_int_cst_compare (case_low, max_value) > 0 && tree_int_cst_compare (case_high, max_value) > 0) { - warning ("case label value exceeds maximum value for type"); + warning (0, "case label value exceeds maximum value for type"); return false; } @@ -1488,7 +1488,7 @@ check_case_bounds (tree type, tree orig_type, if (tree_int_cst_compare (case_high, min_value) >= 0 && tree_int_cst_compare (case_low, min_value) < 0) { - warning ("lower value in case label range" + warning (0, "lower value in case label range" " less than minimum value for type"); case_low = min_value; } @@ -1497,7 +1497,7 @@ check_case_bounds (tree type, tree orig_type, if (tree_int_cst_compare (case_low, max_value) <= 0 && tree_int_cst_compare (case_high, max_value) > 0) { - warning ("upper value in case label range" + warning (0, "upper value in case label range" " exceeds maximum value for type"); case_high = max_value; } @@ -2120,9 +2120,9 @@ shorten_compare (tree *op0_ptr, tree *op1_ptr, tree *restype_ptr, if (TREE_CODE (primop0) != INTEGER_CST) { 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"); } if (val != 0) @@ -2192,7 +2192,7 @@ shorten_compare (tree *op0_ptr, tree *op1_ptr, tree *restype_ptr, && !(TREE_CODE (primop0) == INTEGER_CST && !TREE_OVERFLOW (convert (c_common_signed_type (type), primop0)))) - warning ("comparison of unsigned expression >= 0 is always true"); + warning (0, "comparison of unsigned expression >= 0 is always true"); value = truthvalue_true_node; break; @@ -2201,7 +2201,7 @@ shorten_compare (tree *op0_ptr, tree *op1_ptr, tree *restype_ptr, && !(TREE_CODE (primop0) == INTEGER_CST && !TREE_OVERFLOW (convert (c_common_signed_type (type), primop0)))) - warning ("comparison of unsigned expression < 0 is always false"); + warning (0, "comparison of unsigned expression < 0 is always false"); value = truthvalue_false_node; break; @@ -2381,7 +2381,7 @@ c_common_truthvalue_conversion (tree expr) { /* Common Ada/Pascal programmer's mistake. We always warn about this since it is so bad. */ - warning ("the address of %qD, will always evaluate as %<true%>", + warning (0, "the address of %qD, will always evaluate as %<true%>", TREE_OPERAND (expr, 0)); return truthvalue_true_node; } @@ -2477,7 +2477,7 @@ c_common_truthvalue_conversion (tree expr) case MODIFY_EXPR: 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; default: @@ -3548,7 +3548,7 @@ c_add_case_label (splay_tree cases, tree cond, tree orig_type, high_value = NULL_TREE; if (low_value && high_value && !tree_int_cst_lt (low_value, high_value)) - warning ("empty range specified"); + warning (0, "empty range specified"); /* See if the case is in range of the type of the original testing expression. If both low_value and high_value are out of range, @@ -3667,10 +3667,10 @@ match_case_to_enum_1 (tree key, tree type, tree label) TREE_INT_CST_HIGH (key), TREE_INT_CST_LOW (key)); if (TYPE_NAME (type) == 0) - warning ("%Jcase value %qs not in enumerated type", + warning (0, "%Jcase value %qs not in enumerated type", CASE_LABEL (label), buf); else - warning ("%Jcase value %qs not in enumerated type %qT", + warning (0, "%Jcase value %qs not in enumerated type %qT", CASE_LABEL (label), buf, type); } @@ -3727,7 +3727,7 @@ c_do_switch_warnings (splay_tree cases, location_t switch_location, default_node = splay_tree_lookup (cases, (splay_tree_key) NULL); if (warn_switch_default && !default_node) - warning ("%Hswitch missing default case", &switch_location); + warning (0, "%Hswitch missing default case", &switch_location); /* If the switch expression was an enumerated type, check that exactly all enumeration literals are covered by the cases. @@ -3761,7 +3761,7 @@ c_do_switch_warnings (splay_tree cases, location_t switch_location, { /* Warn if there are enumerators that don't correspond to case expressions. */ - warning ("%Henumeration value %qE not handled in switch", + warning (0, "%Henumeration value %qE not handled in switch", &switch_location, TREE_PURPOSE (chain)); } } @@ -3957,7 +3957,7 @@ handle_packed_attribute (tree *node, tree name, tree ARG_UNUSED (args), that changes what the typedef is typing. */ else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -3976,7 +3976,7 @@ handle_nocommon_attribute (tree *node, tree name, DECL_COMMON (*node) = 0; else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -3994,7 +3994,7 @@ handle_common_attribute (tree *node, tree name, tree ARG_UNUSED (args), DECL_COMMON (*node) = 1; else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -4021,7 +4021,7 @@ handle_noreturn_attribute (tree *node, tree name, tree ARG_UNUSED (args), TYPE_READONLY (TREE_TYPE (type)), 1)); else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -4040,7 +4040,7 @@ handle_noinline_attribute (tree *node, tree name, DECL_UNINLINABLE (*node) = 1; else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -4063,7 +4063,7 @@ handle_always_inline_attribute (tree *node, tree name, } else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -4087,7 +4087,7 @@ handle_used_attribute (tree *pnode, tree name, tree ARG_UNUSED (args), } else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -4113,7 +4113,7 @@ handle_unused_attribute (tree *node, tree name, tree ARG_UNUSED (args), TREE_USED (decl) = 1; else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } } @@ -4147,7 +4147,7 @@ handle_const_attribute (tree *node, tree name, tree ARG_UNUSED (args), TREE_THIS_VOLATILE (TREE_TYPE (type)))); else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -4191,7 +4191,7 @@ handle_transparent_union_attribute (tree *node, tree name, DECL_TRANSPARENT_UNION (decl) = 1; else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -4219,7 +4219,7 @@ handle_constructor_attribute (tree *node, tree name, } else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -4247,7 +4247,7 @@ handle_destructor_attribute (tree *node, tree name, } else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -4266,7 +4266,7 @@ handle_mode_attribute (tree *node, tree name, tree args, *no_add_attrs = true; if (TREE_CODE (TREE_VALUE (args)) != IDENTIFIER_NODE) - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); else { int j; @@ -4324,9 +4324,9 @@ handle_mode_attribute (tree *node, tree name, tree args, case MODE_VECTOR_INT: case MODE_VECTOR_FLOAT: - 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"); valid_mode = vector_mode_valid_p (mode); break; @@ -4591,7 +4591,7 @@ handle_alias_attribute (tree *node, tree name, tree args, } else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -4615,13 +4615,13 @@ handle_visibility_attribute (tree *node, tree name, tree args, { if (TREE_CODE (*node) != RECORD_TYPE && TREE_CODE (*node) != UNION_TYPE) { - warning ("%qE attribute ignored on non-class types", name); + warning (0, "%qE attribute ignored on non-class types", name); return NULL_TREE; } } else if (decl_function_context (decl) != 0 || !TREE_PUBLIC (decl)) { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); return NULL_TREE; } @@ -4639,7 +4639,7 @@ handle_visibility_attribute (tree *node, tree name, tree args, return NULL_TREE; if (TREE_CODE (decl) == IDENTIFIER_NODE) { - warning ("%qE attribute ignored on types", + warning (0, "%qE attribute ignored on types", name); return NULL_TREE; } @@ -4713,7 +4713,7 @@ handle_tls_model_attribute (tree *node, tree name, tree args, if (!DECL_THREAD_LOCAL (decl)) { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } else @@ -4780,7 +4780,7 @@ handle_malloc_attribute (tree *node, tree name, tree ARG_UNUSED (args), DECL_IS_MALLOC (*node) = 1; else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -4798,7 +4798,7 @@ handle_returns_twice_attribute (tree *node, tree name, tree ARG_UNUSED (args), DECL_IS_RETURNS_TWICE (*node) = 1; else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -4844,7 +4844,7 @@ handle_pure_attribute (tree *node, tree name, tree ARG_UNUSED (args), /* ??? TODO: Support types. */ else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -4912,9 +4912,9 @@ handle_deprecated_attribute (tree *node, tree name, what = DECL_NAME (TYPE_NAME (type)); } if (what) - warning ("%qE attribute ignored for %qE", name, what); + warning (0, "%qE attribute ignored for %qE", name, what); else - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); } return NULL_TREE; @@ -4938,7 +4938,7 @@ handle_vector_size_attribute (tree *node, tree name, tree args, if (!host_integerp (size, 1)) { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); return NULL_TREE; } @@ -5100,7 +5100,7 @@ check_function_sentinel (tree attrs, tree params) if (attr) { if (!params) - warning ("missing sentinel in function call"); + warning (0, "missing sentinel in function call"); else { tree sentinel, end; @@ -5122,7 +5122,7 @@ check_function_sentinel (tree attrs, tree params) } if (pos > 0) { - warning ("not enough arguments to fit a sentinel"); + warning (0, "not enough arguments to fit a sentinel"); return; } @@ -5136,7 +5136,7 @@ check_function_sentinel (tree attrs, tree params) /* Validate the sentinel. */ if (!POINTER_TYPE_P (TREE_TYPE (TREE_VALUE (sentinel))) || !integer_zerop (TREE_VALUE (sentinel))) - warning ("missing sentinel in function call"); + warning (0, "missing sentinel in function call"); } } } @@ -5178,7 +5178,7 @@ check_nonnull_arg (void * ARG_UNUSED (ctx), tree param, return; if (integer_zerop (param)) - warning ("null argument where non-null required (argument %lu)", + warning (0, "null argument where non-null required (argument %lu)", (unsigned long) param_num); } @@ -5209,7 +5209,7 @@ handle_nothrow_attribute (tree *node, tree name, tree ARG_UNUSED (args), /* ??? TODO: Support types. */ else { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -5232,7 +5232,7 @@ handle_cleanup_attribute (tree *node, tree name, tree args, we'd be missing too much, since we do have attribute constructor. */ if (TREE_CODE (decl) != VAR_DECL || TREE_STATIC (decl)) { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; return NULL_TREE; } @@ -5271,7 +5271,7 @@ handle_warn_unused_result_attribute (tree *node, tree name, /* Ignore the attribute for functions not returning any value. */ if (VOID_TYPE_P (TREE_TYPE (*node))) { - warning ("%qE attribute ignored", name); + warning (0, "%qE attribute ignored", name); *no_add_attrs = true; } @@ -5288,7 +5288,7 @@ handle_sentinel_attribute (tree *node, tree name, tree args, if (!params) { - warning ("%qE attribute requires prototypes with named arguments", name); + warning (0, "%qE attribute requires prototypes with named arguments", name); *no_add_attrs = true; } else @@ -5298,7 +5298,7 @@ handle_sentinel_attribute (tree *node, tree name, tree args, if (VOID_TYPE_P (TREE_VALUE (params))) { - warning ("%qE attribute only applies to variadic functions", name); + warning (0, "%qE attribute only applies to variadic functions", name); *no_add_attrs = true; } } @@ -5309,14 +5309,14 @@ handle_sentinel_attribute (tree *node, tree name, tree args, if (TREE_CODE (position) != INTEGER_CST) { - warning ("requested position is not an integer constant"); + warning (0, "requested position is not an integer constant"); *no_add_attrs = true; } else { if (tree_int_cst_lt (position, integer_zero_node)) { - warning ("requested position is less than zero"); + warning (0, "requested position is less than zero"); *no_add_attrs = true; } } @@ -5618,11 +5618,11 @@ c_warn_unused_result (tree *top_p) if (lookup_attribute ("warn_unused_result", TYPE_ATTRIBUTES (ftype))) { if (fdecl) - warning ("%Hignoring return value of %qD, " + warning (0, "%Hignoring return value of %qD, " "declared with attribute warn_unused_result", EXPR_LOCUS (t), fdecl); else - warning ("%Hignoring return value of function " + warning (0, "%Hignoring return value of function " "declared with attribute warn_unused_result", EXPR_LOCUS (t)); } diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 70b2d8364b5..b1309b38d81 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -527,7 +527,7 @@ c_finish_incomplete_decl (tree decl) && !DECL_EXTERNAL (decl) && TYPE_DOMAIN (type) == 0) { - warning ("%Jarray %qD assumed to have one element", decl, decl); + warning (0, "%Jarray %qD assumed to have one element", decl, decl); complete_array_type (&TREE_TYPE (decl), NULL_TREE, true); @@ -732,9 +732,9 @@ pop_scope (void) else if (!TREE_USED (p) && warn_unused_label) { if (DECL_INITIAL (p)) - warning ("%Jlabel %qD defined but not used", p, p); + warning (0, "%Jlabel %qD defined but not used", p, p); else - warning ("%Jlabel %qD declared but not defined", p, p); + warning (0, "%Jlabel %qD declared but not defined", p, p); } /* Labels go in BLOCK_VARS. */ TREE_CHAIN (p) = BLOCK_VARS (block); @@ -783,7 +783,7 @@ pop_scope (void) && !DECL_ARTIFICIAL (p) && scope != file_scope && scope != external_scope) - warning ("%Junused variable %qD", p, p); + warning (0, "%Junused variable %qD", p, p); if (b->inner_comp) { @@ -1091,7 +1091,7 @@ validate_proto_after_old_defn (tree newdecl, tree newtype, tree oldtype) /* If we get here, no errors were found, but do issue a warning for this poor-style construct. */ - warning ("%Jprototype for %qD follows non-prototype definition", + warning (0, "%Jprototype for %qD follows non-prototype definition", newdecl, newdecl); return true; #undef END_OF_ARGLIST @@ -1152,10 +1152,10 @@ diagnose_mismatched_decls (tree newdecl, tree olddecl, locate_old_decl (olddecl, error); } else if (TREE_PUBLIC (newdecl)) - warning ("%Jbuilt-in function %qD declared as non-function", + warning (0, "%Jbuilt-in function %qD declared as non-function", newdecl, newdecl); else if (warn_shadow) - warning ("%Jdeclaration of %qD shadows a built-in function", + warning (0, "%Jdeclaration of %qD shadows a built-in function", newdecl, newdecl); return false; } @@ -1185,7 +1185,7 @@ diagnose_mismatched_decls (tree newdecl, tree olddecl, /* If types don't match for a built-in, throw away the built-in. No point in calling locate_old_decl here, it won't print anything. */ - warning ("%Jconflicting types for built-in function %qD", + warning (0, "%Jconflicting types for built-in function %qD", newdecl, newdecl); return false; } @@ -1271,7 +1271,7 @@ diagnose_mismatched_decls (tree newdecl, tree olddecl, && !TYPE_ARG_TYPES (TREE_TYPE (newdecl))))) { if (warn_shadow) - warning ("%Jdeclaration of %qD shadows a built-in function", + warning (0, "%Jdeclaration of %qD shadows a built-in function", newdecl, newdecl); /* Discard the old built-in function. */ return false; @@ -1368,7 +1368,7 @@ diagnose_mismatched_decls (tree newdecl, tree olddecl, } else if (warn_traditional) { - warning ("%Jnon-static declaration of %qD follows " + warning (0, "%Jnon-static declaration of %qD follows " "static declaration", newdecl, newdecl); warned = true; } @@ -1421,7 +1421,7 @@ diagnose_mismatched_decls (tree newdecl, tree olddecl, } else if (warn_traditional) { - warning ("%Jnon-static declaration of %qD follows " + warning (0, "%Jnon-static declaration of %qD follows " "static declaration", newdecl, newdecl); warned = true; } @@ -1470,7 +1470,7 @@ diagnose_mismatched_decls (tree newdecl, tree olddecl, if (DECL_VISIBILITY_SPECIFIED (newdecl) && DECL_VISIBILITY_SPECIFIED (olddecl) && DECL_VISIBILITY (newdecl) != DECL_VISIBILITY (olddecl)) { - warning ("%Jredeclaration of %qD with different visibility " + warning (0, "%Jredeclaration of %qD with different visibility " "(old visibility preserved)", newdecl, newdecl); warned = true; } @@ -1481,14 +1481,14 @@ diagnose_mismatched_decls (tree newdecl, tree olddecl, if (DECL_DECLARED_INLINE_P (newdecl) && lookup_attribute ("noinline", DECL_ATTRIBUTES (olddecl))) { - warning ("%Jinline declaration of %qD follows " + warning (0, "%Jinline declaration of %qD follows " "declaration with attribute noinline", newdecl, newdecl); warned = true; } else if (DECL_DECLARED_INLINE_P (olddecl) && lookup_attribute ("noinline", DECL_ATTRIBUTES (newdecl))) { - warning ("%Jdeclaration of %qD with attribute noinline follows " + warning (0, "%Jdeclaration of %qD with attribute noinline follows " "inline declaration ", newdecl, newdecl); warned = true; } @@ -1503,13 +1503,13 @@ diagnose_mismatched_decls (tree newdecl, tree olddecl, { if (TREE_USED (olddecl)) { - warning ("%J%qD declared inline after being called", + warning (0, "%J%qD declared inline after being called", olddecl, olddecl); warned = true; } else if (DECL_INITIAL (olddecl)) { - warning ("%J%qD declared inline after its definition", + warning (0, "%J%qD declared inline after its definition", olddecl, olddecl); warned = true; } @@ -1553,13 +1553,13 @@ diagnose_mismatched_decls (tree newdecl, tree olddecl, && !(TREE_CODE (newdecl) == PARM_DECL && TREE_ASM_WRITTEN (olddecl) && !TREE_ASM_WRITTEN (newdecl))) { - warning ("%Jredundant redeclaration of %qD", newdecl, newdecl); + warning (0, "%Jredundant redeclaration of %qD", newdecl, newdecl); warned = true; } /* Report location of previous decl/defn in a consistent manner. */ if (warned || pedwarned) - locate_old_decl (olddecl, pedwarned ? pedwarn : warning); + locate_old_decl (olddecl, pedwarned ? pedwarn : warning0); return retval; } @@ -1865,28 +1865,28 @@ warn_if_shadowing (tree new_decl) if (old_decl == error_mark_node) { - warning ("%Jdeclaration of %qD shadows previous non-variable", + warning (0, "%Jdeclaration of %qD shadows previous non-variable", new_decl, new_decl); break; } else if (TREE_CODE (old_decl) == PARM_DECL) - warning ("%Jdeclaration of %qD shadows a parameter", + warning (0, "%Jdeclaration of %qD shadows a parameter", new_decl, new_decl); else if (DECL_FILE_SCOPE_P (old_decl)) - warning ("%Jdeclaration of %qD shadows a global declaration", + warning (0, "%Jdeclaration of %qD shadows a global declaration", new_decl, new_decl); else if (TREE_CODE (old_decl) == FUNCTION_DECL && DECL_BUILT_IN (old_decl)) { - warning ("%Jdeclaration of %qD shadows a built-in function", + warning (0, "%Jdeclaration of %qD shadows a built-in function", new_decl, new_decl); break; } else - warning ("%Jdeclaration of %qD shadows a previous local", + warning (0, "%Jdeclaration of %qD shadows a previous local", new_decl, new_decl); - warning ("%Jshadowed declaration is here", old_decl); + warning (0, "%Jshadowed declaration is here", old_decl); break; } @@ -2046,7 +2046,7 @@ pushdecl (tree x) if (warn_nested_externs && scope != file_scope && !DECL_IN_SYSTEM_HEADER (x)) - warning ("nested extern declaration of %qD", x); + warning (0, "nested extern declaration of %qD", x); while (b && !B_IN_EXTERNAL_SCOPE (b)) { @@ -2201,7 +2201,7 @@ implicit_decl_warning (tree id, tree olddecl) switch (mesg_implicit_function_declaration) { case 0: return; - case 1: diag = warning; break; + case 1: diag = warning0; break; case 2: diag = error; break; default: gcc_unreachable (); } @@ -2267,7 +2267,7 @@ implicitly_declare (tree functionid) (TREE_TYPE (decl))); if (!comptypes (newtype, TREE_TYPE (decl))) { - warning ("incompatible implicit declaration of built-in" + warning (0, "incompatible implicit declaration of built-in" " function %qD", decl); newtype = TREE_TYPE (decl); } @@ -2482,7 +2482,7 @@ define_label (location_t location, tree name) } 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 %qE conflicts", &location, name); nlist_se = XOBNEW (&parser_obstack, struct c_label_list); @@ -2844,13 +2844,13 @@ shadow_tag_warned (const struct c_declspecs *declspecs, int warned) if (!warned && !in_system_header && declspecs->storage_class != csc_none) { - warning ("useless storage class specifier in empty declaration"); + warning (0, "useless storage class specifier in empty declaration"); warned = 2; } if (!warned && !in_system_header && declspecs->thread_p) { - warning ("useless %<__thread%> in empty declaration"); + warning (0, "useless %<__thread%> in empty declaration"); warned = 2; } @@ -2858,7 +2858,7 @@ shadow_tag_warned (const struct c_declspecs *declspecs, int warned) || declspecs->volatile_p || declspecs->restrict_p)) { - warning ("useless type qualifier in empty declaration"); + warning (0, "useless type qualifier in empty declaration"); warned = 2; } @@ -2937,7 +2937,7 @@ build_array_declarator (tree expr, struct c_declspecs *quals, bool static_p, pedwarn ("ISO C90 does not support %<[*]%> array declarators"); } if (vla_unspec_p) - warning ("GCC does not yet properly implement %<[*]%> array declarators"); + warning (0, "GCC does not yet properly implement %<[*]%> array declarators"); return declarator; } @@ -3015,7 +3015,7 @@ start_decl (struct c_declarator *declarator, struct c_declspecs *declspecs, if (warn_main > 0 && TREE_CODE (decl) != FUNCTION_DECL && MAIN_NAME_P (DECL_NAME (decl))) - warning ("%J%qD is usually a function", decl, decl); + warning (0, "%J%qD is usually a function", decl, decl); if (initialized) /* Is it valid for this decl to have an initializer at all? @@ -3136,7 +3136,7 @@ start_decl (struct c_declarator *declarator, struct c_declspecs *declspecs, && DECL_DECLARED_INLINE_P (decl) && DECL_UNINLINABLE (decl) && lookup_attribute ("noinline", DECL_ATTRIBUTES (decl))) - warning ("%Jinline function %qD given attribute noinline", decl, decl); + warning (0, "%Jinline function %qD given attribute noinline", decl, decl); /* Add this decl to the current scope. TEM may equal DECL or it may be a previous decl of the same name. */ @@ -3307,7 +3307,7 @@ finish_decl (tree decl, tree init, tree asmspec_tree) && TREE_CODE (decl) == VAR_DECL && !C_DECL_REGISTER (decl) && !TREE_STATIC (decl)) - warning ("%Jignoring asm-specifier for non-static local " + warning (0, "%Jignoring asm-specifier for non-static local " "variable %qD", decl, decl); else if (C_DECL_REGISTER (decl)) change_decl_assembler_name (decl, get_identifier (asmspec)); @@ -3652,7 +3652,7 @@ check_bitfield_type_and_width (tree *type, tree *width, const char *orig_name) if (!lt || w < min_precision (lt->enum_min, TYPE_UNSIGNED (*type)) || w < min_precision (lt->enum_max, TYPE_UNSIGNED (*type))) - warning ("%qs is narrower than values of its type", name); + warning (0, "%qs is narrower than values of its type", name); } } @@ -3870,7 +3870,7 @@ grokdeclarator (const struct c_declarator *declarator, { /* 'extern' with initialization is invalid if not at file scope. */ if (current_scope == file_scope) - warning ("%qs initialized and declared %<extern%>", name); + warning (0, "%qs initialized and declared %<extern%>", name); else error ("%qs has both %<extern%> and initializer", name); } @@ -4183,7 +4183,7 @@ grokdeclarator (const struct c_declarator *declarator, if (VOID_TYPE_P (type) && really_funcdef) pedwarn ("function definition has qualified void return type"); else if (warn_return_type) - warning ("type qualifiers ignored on function return type"); + warning (0, "type qualifiers ignored on function return type"); type = c_build_qualified_type (type, type_quals); } @@ -4344,7 +4344,7 @@ grokdeclarator (const struct c_declarator *declarator, /* We don't yet implement attributes in this context. */ if (array_ptr_attrs != NULL_TREE) - warning ("attributes in parameter array declarator ignored"); + warning (0, "attributes in parameter array declarator ignored"); size_varies = 0; } @@ -4448,7 +4448,7 @@ grokdeclarator (const struct c_declarator *declarator, that the function does not return. */ if ((type_quals & TYPE_QUAL_VOLATILE) && !VOID_TYPE_P (TREE_TYPE (TREE_TYPE (decl)))) - warning ("%<noreturn%> function returns non-void value"); + warning (0, "%<noreturn%> function returns non-void value"); /* Every function declaration is an external reference (DECL_EXTERNAL) except for those which are not at file @@ -4626,7 +4626,7 @@ grokparms (struct c_arg_info *arg_info, bool funcdef_flag) if (warn_strict_prototypes && arg_types == 0 && !funcdef_flag && !in_system_header) - warning ("function declaration isn%'t a prototype"); + warning (0, "function declaration isn%'t a prototype"); if (arg_types == error_mark_node) return 0; /* don't set TYPE_ARG_TYPES in this case */ @@ -4679,10 +4679,10 @@ grokparms (struct c_arg_info *arg_info, bool funcdef_flag) else if (VOID_TYPE_P (type)) { if (DECL_NAME (parm)) - warning ("%Jparameter %u (%qD) has void type", + warning (0, "%Jparameter %u (%qD) has void type", parm, parmno, parm); else - warning ("%Jparameter %u has void type", + warning (0, "%Jparameter %u has void type", parm, parmno); } } @@ -4817,16 +4817,16 @@ get_parm_info (bool ellipsis) { if (b->id) /* 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); else /* 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); if (!explained_incomplete_types) { - 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"); explained_incomplete_types = true; } @@ -5332,7 +5332,7 @@ finish_struct (tree t, tree fieldlist, tree attributes) && TYPE_MODE (t) != DECL_MODE (TYPE_FIELDS (t))) { TYPE_TRANSPARENT_UNION (t) = 0; - warning ("union cannot be made transparent"); + warning (0, "union cannot be made transparent"); } /* If this structure or union completes the type of any previous @@ -5473,7 +5473,7 @@ finish_enum (tree enumtype, tree values, tree attributes) tem = c_common_type_for_size (precision, unsign); if (tem == NULL) { - warning ("enumeration values exceed range of largest integer"); + warning (0, "enumeration values exceed range of largest integer"); tem = long_long_integer_type_node; } } @@ -5693,7 +5693,7 @@ start_function (struct c_declspecs *declspecs, struct c_declarator *declarator, if (DECL_DECLARED_INLINE_P (decl1) && DECL_UNINLINABLE (decl1) && lookup_attribute ("noinline", DECL_ATTRIBUTES (decl1))) - warning ("%Jinline function %qD given attribute noinline", decl1, decl1); + warning (0, "%Jinline function %qD given attribute noinline", decl1, decl1); announce_function (decl1); @@ -5731,14 +5731,14 @@ start_function (struct c_declspecs *declspecs, struct c_declarator *declarator, && old_decl != error_mark_node && TYPE_ARG_TYPES (TREE_TYPE (decl1)) == 0 && 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. */ else if (warn_missing_prototypes && old_decl != error_mark_node && TREE_PUBLIC (decl1) && !MAIN_NAME_P (DECL_NAME (decl1)) && C_DECL_ISNT_PROTOTYPE (old_decl)) - warning ("%Jno previous prototype for %qD", decl1, decl1); + warning (0, "%Jno previous prototype for %qD", decl1, decl1); /* Optionally warn of any def with no previous prototype if the function has already been used. */ else if (warn_missing_prototypes @@ -5746,14 +5746,14 @@ start_function (struct c_declspecs *declspecs, struct c_declarator *declarator, && old_decl != error_mark_node && TREE_USED (old_decl) && TYPE_ARG_TYPES (TREE_TYPE (old_decl)) == 0) - warning ("%J%qD was used with no prototype before its definition", + warning (0, "%J%qD was used with no prototype before its definition", decl1, decl1); /* Optionally warn of any global def with no previous declaration. */ else if (warn_missing_declarations && TREE_PUBLIC (decl1) && old_decl == 0 && !MAIN_NAME_P (DECL_NAME (decl1))) - warning ("%Jno previous declaration for %qD", decl1, decl1); + warning (0, "%Jno previous declaration for %qD", decl1, decl1); /* Optionally warn of any def with no previous declaration if the function has already been used. */ else if (warn_missing_declarations @@ -5761,7 +5761,7 @@ start_function (struct c_declspecs *declspecs, struct c_declarator *declarator, && old_decl != error_mark_node && TREE_USED (old_decl) && C_DECL_IMPLICIT (old_decl)) - warning ("%J%qD was used with no declaration before its definition", + warning (0, "%J%qD was used with no declaration before its definition", decl1, decl1); /* This is a definition, not a reference. @@ -5899,7 +5899,7 @@ store_parm_decls_newstyle (tree fndecl, const struct c_arg_info *arg_info) its parameter list). */ else if (warn_traditional && !in_system_header && !current_function_scope && arg_info->types != error_mark_node) - warning ("%Jtraditional C rejects ISO C style function definitions", + warning (0, "%Jtraditional C rejects ISO C style function definitions", fndecl); /* Now make all the parameter declarations visible in the function body. @@ -5951,7 +5951,7 @@ store_parm_decls_oldstyle (tree fndecl, const struct c_arg_info *arg_info) #endif if (warn_old_style_definition && !in_system_header) - warning ("%Jold-style function definition", fndecl); + warning (0, "%Jold-style function definition", fndecl); /* Match each formal parameter name with its declaration. Save each decl in the appropriate TREE_PURPOSE slot of the parmids chain. */ @@ -6000,7 +6000,7 @@ store_parm_decls_oldstyle (tree fndecl, const struct c_arg_info *arg_info) if (flag_isoc99) pedwarn ("%Jtype of %qD defaults to %<int%>", decl, decl); else if (extra_warnings) - warning ("%Jtype of %qD defaults to %<int%>", decl, decl); + warning (0, "%Jtype of %qD defaults to %<int%>", decl, decl); } TREE_PURPOSE (parm) = decl; @@ -6332,14 +6332,14 @@ finish_function (void) /* Normally, with -Wreturn-type, flow will complain. Unless we're an inline function, as we might never be compiled separately. */ && DECL_INLINE (fndecl)) - warning ("no return statement in function returning non-void"); + warning (0, "no return statement in function returning non-void"); /* With just -Wextra, complain only if function returns both with and without a value. */ if (extra_warnings && current_function_returns_value && 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"); /* Store the end of the function, so that we get good line number info for the epilogue. */ @@ -7087,7 +7087,7 @@ declspecs_add_scspec (struct c_declspecs *specs, tree scspec) && C_IS_RESERVED_WORD (scspec)); i = C_RID_CODE (scspec); if (extra_warnings && specs->non_sc_seen_p) - warning ("%qE is not at beginning of declaration", scspec); + warning (0, "%qE is not at beginning of declaration", scspec); switch (i) { case RID_INLINE: diff --git a/gcc/c-format.c b/gcc/c-format.c index 1fdc858f6e7..7db8add15d3 100644 --- a/gcc/c-format.c +++ b/gcc/c-format.c @@ -194,7 +194,7 @@ decode_format_attr (tree args, function_format_info *info, int validated_p) if (info->format_type == format_type_error) { gcc_assert (!validated_p); - warning ("%qE is an unrecognized format function type", + warning (0, "%qE is an unrecognized format function type", format_type_id); return false; } @@ -833,7 +833,7 @@ check_function_format (tree attrs, tree params) break; } 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); } } @@ -924,7 +924,7 @@ maybe_read_dollar_number (const char **format, { if (dollar_needed) { - warning ("missing $ operand number in format"); + warning (0, "missing $ operand number in format"); return -1; } else @@ -945,7 +945,7 @@ maybe_read_dollar_number (const char **format, { if (dollar_needed) { - warning ("missing $ operand number in format"); + warning (0, "missing $ operand number in format"); return -1; } else @@ -954,14 +954,14 @@ maybe_read_dollar_number (const char **format, *format = fcp + 1; if (pedantic && !dollar_format_warned) { - warning ("%s does not support %%n$ operand number formats", + warning (0, "%s does not support %%n$ operand number formats", C_STD_NAME (STD_EXT)); dollar_format_warned = 1; } if (overflow_flag || argnum == 0 || (dollar_first_arg_num && argnum > dollar_arguments_count)) { - warning ("operand number out of range in format"); + warning (0, "operand number out of range in format"); return -1; } if (argnum > dollar_max_arg_used) @@ -984,7 +984,7 @@ maybe_read_dollar_number (const char **format, && dollar_arguments_used[argnum - 1] == 1) { 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); } else @@ -1016,7 +1016,7 @@ avoid_dollar_number (const char *format) format++; if (*format == '$') { - warning ("$ operand number used after format without operand number"); + warning (0, "$ operand number used after format without operand number"); return true; } return false; @@ -1046,7 +1046,7 @@ finish_dollar_format_checking (format_check_results *res, int pointer_gap_ok) || dollar_arguments_pointer_p[i])) found_pointer_gap = true; 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); } } @@ -1141,7 +1141,7 @@ check_format_info (function_format_info *info, tree params) /* For strftime-like formats, warn for not checking the format string; but there are no arguments to check. */ 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"); } else if (info->first_arg_num != 0) { @@ -1155,9 +1155,9 @@ check_format_info (function_format_info *info, tree params) ++arg_num; } 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"); } } @@ -1170,20 +1170,20 @@ check_format_info (function_format_info *info, tree params) case of extra format arguments. */ if (res.number_extra_args > 0 && res.number_non_literal == 0 && 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); 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"); } /* Callback from check_function_arguments_recurse to check a @@ -1393,7 +1393,7 @@ check_format_info_main (format_check_results *res, if (*format_chars == 0) { 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 && has_operand_number <= 0) { @@ -1408,7 +1408,7 @@ check_format_info_main (format_check_results *res, continue; if (*format_chars == 0) { - warning ("spurious trailing %<%%%> in format"); + warning (0, "spurious trailing %<%%%> in format"); continue; } if (*format_chars == '%') @@ -1452,7 +1452,7 @@ check_format_info_main (format_check_results *res, *format_chars, NULL); if (strchr (flag_chars, *format_chars) != 0) { - warning ("repeated %s in format", _(s->name)); + warning (0, "repeated %s in format", _(s->name)); } else { @@ -1465,7 +1465,7 @@ check_format_info_main (format_check_results *res, ++format_chars; if (*format_chars == 0) { - warning ("missing fill character at end of strfmon format"); + warning (0, "missing fill character at end of strfmon format"); return; } } @@ -1509,7 +1509,7 @@ check_format_info_main (format_check_results *res, { if (params == 0) { - warning ("too few arguments for format"); + warning (0, "too few arguments for format"); return; } cur_param = TREE_VALUE (params); @@ -1550,7 +1550,7 @@ check_format_info_main (format_check_results *res, } if (found_width && !non_zero_width_char && (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) { i = strlen (flag_chars); @@ -1568,7 +1568,7 @@ check_format_info_main (format_check_results *res, flag_chars[i++] = fki->left_precision_char; flag_chars[i] = 0; 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)) ++format_chars; } @@ -1611,7 +1611,7 @@ check_format_info_main (format_check_results *res, { if (params == 0) { - warning ("too few arguments for format"); + warning (0, "too few arguments for format"); return; } cur_param = TREE_VALUE (params); @@ -1641,7 +1641,7 @@ check_format_info_main (format_check_results *res, { if (!(fki->flags & (int) FMT_FLAG_EMPTY_PREC_OK) && !ISDIGIT (*format_chars)) - warning ("empty precision in %s format", fki->name); + warning (0, "empty precision in %s format", fki->name); while (ISDIGIT (*format_chars)) ++format_chars; } @@ -1680,7 +1680,7 @@ check_format_info_main (format_check_results *res, { /* Warn if the length modifier is non-standard. */ 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, fki->name); } @@ -1696,7 +1696,7 @@ check_format_info_main (format_check_results *res, { const format_flag_spec *s = get_flag_spec (flag_specs, *format_chars, NULL); - warning ("repeated %s in format", _(s->name)); + warning (0, "repeated %s in format", _(s->name)); } else { @@ -1730,7 +1730,7 @@ check_format_info_main (format_check_results *res, || (!(fki->flags & (int) FMT_FLAG_FANCY_PERCENT_OK) && format_char == '%')) { - warning ("conversion lacks type at end of format"); + warning (0, "conversion lacks type at end of format"); continue; } format_chars++; @@ -1741,17 +1741,17 @@ check_format_info_main (format_check_results *res, if (fci->format_chars == 0) { 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); continue; } if (pedantic) { 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); } @@ -1767,7 +1767,7 @@ check_format_info_main (format_check_results *res, continue; if (strchr (fci->flag_chars, flag_chars[i]) == 0) { - warning ("%s used with %<%%%c%> %s format", + warning (0, "%s used with %<%%%c%> %s format", _(s->name), format_char, fki->name); d++; continue; @@ -1776,7 +1776,7 @@ check_format_info_main (format_check_results *res, { const format_flag_spec *t; 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)); t = get_flag_spec (flag_specs, flag_chars[i], fci->flags2); if (t != NULL && ADJ_STD (t->std) > ADJ_STD (s->std)) @@ -1785,7 +1785,7 @@ check_format_info_main (format_check_results *res, ? t->long_name : s->long_name); 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), format_char, fki->name); } @@ -1818,21 +1818,21 @@ check_format_info_main (format_check_results *res, if (bad_flag_pairs[i].ignored) { 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, fki->name); else - warning ("%s ignored with %s in %s format", + warning (0, "%s ignored with %s in %s format", _(s->name), _(t->name), fki->name); } else { 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, fki->name); 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); } } @@ -1851,10 +1851,10 @@ check_format_info_main (format_check_results *res, else if (strchr (fci->flags2, '2') != 0) y2k_level = 2; 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); } if (strchr (fci->flags2, '[') != 0) @@ -1870,7 +1870,7 @@ check_format_info_main (format_check_results *res, ++format_chars; if (*format_chars != ']') /* The end of the format string was reached. */ - warning ("no closing %<]%> for %<%%[%> format"); + warning (0, "no closing %<]%> for %<%%[%> format"); } wanted_type = 0; @@ -1883,14 +1883,14 @@ check_format_info_main (format_check_results *res, wanted_type_std = fci->types[length_chars_val].std; if (wanted_type == 0) { - 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); /* Heuristic: skip one argument when an invalid length/type combination is encountered. */ arg_num++; if (params == 0) { - warning ("too few arguments for format"); + warning (0, "too few arguments for format"); return; } params = TREE_CHAIN (params); @@ -1904,7 +1904,7 @@ check_format_info_main (format_check_results *res, && ADJ_STD (wanted_type_std) > ADJ_STD (fci->std)) { 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, format_char, fki->name); } @@ -1921,9 +1921,9 @@ check_format_info_main (format_check_results *res, if (main_arg_num != 0) { 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"); } } else @@ -1940,7 +1940,7 @@ check_format_info_main (format_check_results *res, ++arg_num; if (has_operand_number > 0) { - warning ("missing $ operand number in format"); + warning (0, "missing $ operand number in format"); return; } else @@ -1952,7 +1952,7 @@ check_format_info_main (format_check_results *res, { if (params == 0) { - warning ("too few arguments for format"); + warning (0, "too few arguments for format"); return; } @@ -2065,7 +2065,7 @@ check_format_types (format_wanted_type *types, const char *format_start, && i == 0 && cur_param != 0 && integer_zerop (cur_param)) - warning ("writing through null pointer (argument %d)", + warning (0, "writing through null pointer (argument %d)", arg_num); /* Check for reading through a NULL pointer. */ @@ -2073,7 +2073,7 @@ check_format_types (format_wanted_type *types, const char *format_start, && i == 0 && cur_param != 0 && integer_zerop (cur_param)) - warning ("reading through null pointer (argument %d)", + warning (0, "reading through null pointer (argument %d)", arg_num); if (cur_param != 0 && TREE_CODE (cur_param) == ADDR_EXPR) @@ -2093,7 +2093,7 @@ check_format_types (format_wanted_type *types, const char *format_start, && (CONSTANT_CLASS_P (cur_param) || (DECL_P (cur_param) && TREE_READONLY (cur_param)))))) - warning ("writing into constant object (argument %d)", + warning (0, "writing into constant object (argument %d)", arg_num); /* If there are extra type qualifiers beyond the first @@ -2104,7 +2104,7 @@ check_format_types (format_wanted_type *types, const char *format_start, && (TYPE_READONLY (cur_type) || TYPE_VOLATILE (cur_type) || TYPE_RESTRICT (cur_type))) - warning ("extra type qualifiers in format argument " + warning (0, "extra type qualifiers in format argument " "(argument %d)", arg_num); @@ -2215,20 +2215,20 @@ format_type_warning (const char *descr, const char *format_start, if (wanted_type_name) { 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, arg_num, arg_type); } else { 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); } } diff --git a/gcc/c-gimplify.c b/gcc/c-gimplify.c index bea288ea0e8..70db9f249a8 100644 --- a/gcc/c-gimplify.c +++ b/gcc/c-gimplify.c @@ -204,7 +204,7 @@ gimplify_expr_stmt (tree *stmt_p) if (!IS_EMPTY_STMT (stmt) && !VOID_TYPE_P (TREE_TYPE (stmt)) && !TREE_NO_WARNING (stmt)) - warning ("statement with no effect"); + warning (0, "statement with no effect"); } else if (warn_unused_value) warn_if_unused_value (stmt, input_location); diff --git a/gcc/c-lex.c b/gcc/c-lex.c index 5e695365f32..990d2bee455 100644 --- a/gcc/c-lex.c +++ b/gcc/c-lex.c @@ -251,7 +251,7 @@ fe_file_change (const struct line_map *new_map) if (c_header_level && --c_header_level == 0) { if (new_map->sysp == 2) - warning ("badly nested C headers from preprocessor"); + warning (0, "badly nested C headers from preprocessor"); --pending_lang_change; } #endif @@ -299,7 +299,7 @@ cb_def_pragma (cpp_reader *pfile, source_location loc) name = cpp_token_as_text (pfile, s); } - warning ("%Hignoring #pragma %s %s", &fe_loc, space, name); + warning (0, "%Hignoring #pragma %s %s", &fe_loc, space, name); } } @@ -597,10 +597,10 @@ interpret_integer (const cpp_token *token, unsigned int flags) if (itk_u < itk_unsigned_long) itk_u = itk_unsigned_long; 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"); } } } @@ -764,7 +764,7 @@ lex_string (const cpp_token *tok, tree *valp, bool objc_string) strs = (cpp_string *) obstack_finish (&str_ob); if (concats && !objc_string && warn_traditional && !in_system_header) - warning ("traditional C rejects string constant concatenation"); + warning (0, "traditional C rejects string constant concatenation"); if ((c_lex_string_translate ? cpp_interpret_string : cpp_interpret_string_notranslate) diff --git a/gcc/c-objc-common.c b/gcc/c-objc-common.c index 4b09c3e40d8..178f10fc2c6 100644 --- a/gcc/c-objc-common.c +++ b/gcc/c-objc-common.c @@ -77,7 +77,7 @@ c_cannot_inline_tree_fn (tree *fnp) && lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn)) == NULL) { if (do_warning) - warning ("%Jfunction %qF can never be inlined because it " + warning (0, "%Jfunction %qF can never be inlined because it " "is suppressed using -fno-inline", fn, fn); goto cannot_inline; } @@ -87,7 +87,7 @@ c_cannot_inline_tree_fn (tree *fnp) if (!DECL_DECLARED_INLINE_P (fn) && !targetm.binds_local_p (fn)) { if (do_warning) - warning ("%Jfunction %qF can never be inlined because it might not " + warning (0, "%Jfunction %qF can never be inlined because it might not " "be bound within this unit of translation", fn, fn); goto cannot_inline; } @@ -95,7 +95,7 @@ c_cannot_inline_tree_fn (tree *fnp) if (!function_attribute_inlinable_p (fn)) { if (do_warning) - warning ("%Jfunction %qF can never be inlined because it uses " + warning (0, "%Jfunction %qF can never be inlined because it uses " "attributes conflicting with inlining", fn, fn); goto cannot_inline; } diff --git a/gcc/c-opts.c b/gcc/c-opts.c index 42c8236fc03..506543a108c 100644 --- a/gcc/c-opts.c +++ b/gcc/c-opts.c @@ -550,7 +550,7 @@ c_common_handle_option (size_t scode, const char *arg, int value) case OPT_fvtable_thunks: case OPT_fxref: case OPT_fvtable_gc: - warning ("switch %qs is no longer supported", option->opt_text); + warning (0, "switch %qs is no longer supported", option->opt_text); break; case OPT_faccess_control: @@ -663,7 +663,7 @@ c_common_handle_option (size_t scode, const char *arg, int value) break; 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; break; @@ -979,17 +979,17 @@ c_common_post_options (const char **pfilename) /* Special format checking options don't work without -Wformat; warn if they are used. */ if (warn_format_y2k && !warn_format) - warning ("-Wformat-y2k ignored without -Wformat"); + 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"); /* C99 requires special handling of complex multiplication and division; -ffast-math and -fcx-limited-range are handled in process_options. */ @@ -1096,7 +1096,7 @@ c_common_parse_file (int set_yydebug) yydebug = set_yydebug; #else 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 i = 0; @@ -1400,7 +1400,7 @@ void cb_dir_change (cpp_reader * ARG_UNUSED (pfile), const char *dir) { if (!set_src_pwd (dir)) - warning ("too late for # directive to set debug directory"); + warning (0, "too late for # directive to set debug directory"); } /* Set the C 89 standard (with 1994 amendments if C94, without GNU diff --git a/gcc/c-parser.c b/gcc/c-parser.c index 0a336c624d4..7774b72975f 100644 --- a/gcc/c-parser.c +++ b/gcc/c-parser.c @@ -3873,7 +3873,7 @@ c_parser_asm_statement (c_parser *parser) else if (c_parser_next_token_is_keyword (parser, RID_CONST) || c_parser_next_token_is_keyword (parser, RID_RESTRICT)) { - warning ("%E qualifier ignored on asm", + warning (0, "%E qualifier ignored on asm", c_parser_peek_token (parser)->value); quals = NULL_TREE; c_parser_consume_token (parser); @@ -4528,7 +4528,7 @@ c_parser_unary_expression (c_parser *parser) case CPP_PLUS: c_parser_consume_token (parser); if (!c_dialect_objc () && warn_traditional && !in_system_header) - warning ("traditional C rejects the unary plus operator"); + warning (0, "traditional C rejects the unary plus operator"); ret.value = build_unary_op (CONVERT_EXPR, c_parser_cast_expression (parser, NULL).value, 0); diff --git a/gcc/c-pragma.c b/gcc/c-pragma.c index cc1dd280359..c01818938bd 100644 --- a/gcc/c-pragma.c +++ b/gcc/c-pragma.c @@ -36,8 +36,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "tm_p.h" #include "target.h" -#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 { warning (0, msgid); return; } while (0) +#define GCC_BAD2(msgid, arg) do { warning (0, msgid, arg); return; } while (0) typedef struct align_stack GTY(()) { @@ -108,7 +108,7 @@ pop_alignment (tree id) break; } if (entry == NULL) - warning ("\ + warning (0, "\ #pragma pack(pop, %s) encountered without matching #pragma pack(push, %s)" , IDENTIFIER_POINTER (id), IDENTIFIER_POINTER (id)); } @@ -201,7 +201,7 @@ handle_pragma_pack (cpp_reader * ARG_UNUSED (dummy)) GCC_BAD ("malformed %<#pragma pack%> - ignored"); if (c_lex (&x) != CPP_EOF) - warning ("junk at end of %<#pragma pack%>"); + warning (0, "junk at end of %<#pragma pack%>"); if (flag_pack_struct) GCC_BAD ("#pragma pack has no effect with -fpack-struct - ignored"); @@ -257,7 +257,7 @@ apply_pragma_weak (tree decl, tree value) if (SUPPORTS_WEAK && DECL_EXTERNAL (decl) && TREE_USED (decl) && !DECL_WEAK (decl) /* Don't complain about a redundant #pragma. */ && TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl))) - warning ("%Japplying #pragma weak %qD after first use results " + warning (0, "%Japplying #pragma weak %qD after first use results " "in unspecified behavior", decl, decl); declare_weak (decl); @@ -340,7 +340,7 @@ handle_pragma_weak (cpp_reader * ARG_UNUSED (dummy)) t = c_lex (&x); } if (t != CPP_EOF) - warning ("junk at end of #pragma weak"); + warning (0, "junk at end of #pragma weak"); decl = identifier_global_value (name); if (decl && DECL_P (decl)) @@ -413,12 +413,12 @@ handle_pragma_redefine_extname (cpp_reader * ARG_UNUSED (dummy)) GCC_BAD ("malformed #pragma redefine_extname, ignored"); t = c_lex (&x); if (t != CPP_EOF) - warning ("junk at end of #pragma redefine_extname"); + warning (0, "junk at end of #pragma redefine_extname"); if (!flag_mudflap && !targetm.handle_pragma_redefine_extname) { 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; } @@ -435,7 +435,7 @@ handle_pragma_redefine_extname (cpp_reader * ARG_UNUSED (dummy)) name = targetm.strip_name_encoding (name); 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"); } else @@ -458,7 +458,7 @@ add_to_renaming_pragma_list (tree oldname, tree newname) if (previous) { 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"); return; } @@ -480,13 +480,13 @@ handle_pragma_extern_prefix (cpp_reader * ARG_UNUSED (dummy)) GCC_BAD ("malformed #pragma extern_prefix, ignored"); t = c_lex (&x); if (t != CPP_EOF) - warning ("junk at end of #pragma extern_prefix"); + warning (0, "junk at end of #pragma extern_prefix"); if (targetm.handle_pragma_extern_prefix) /* Note that the length includes the null terminator. */ pragma_extern_prefix = (TREE_STRING_LENGTH (prefix) > 1 ? prefix : NULL); 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"); } /* Hook from the front ends to apply the results of one of the preceding @@ -512,7 +512,7 @@ maybe_apply_renaming_pragma (tree decl, tree asmname) oldname = targetm.strip_name_encoding (oldname); 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"); /* Take any pending redefine_extname off the list. */ @@ -521,7 +521,7 @@ maybe_apply_renaming_pragma (tree decl, tree asmname) { /* Only warn if there is a conflict. */ 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"); *p = TREE_CHAIN (t); @@ -543,7 +543,7 @@ maybe_apply_renaming_pragma (tree decl, tree asmname) { if (strcmp (TREE_STRING_POINTER (asmname), IDENTIFIER_POINTER (newname)) != 0) - warning ("#pragma redefine_extname ignored due to " + warning (0, "#pragma redefine_extname ignored due to " "conflict with __asm__ declaration"); return asmname; } @@ -654,7 +654,7 @@ handle_pragma_visibility (cpp_reader *dummy ATTRIBUTE_UNUSED) } } if (c_lex (&x) != CPP_EOF) - warning ("junk at end of %<#pragma GCC visibility%>"); + warning (0, "junk at end of %<#pragma GCC visibility%>"); } #endif diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index 60ce6b61ccf..cde90a763d3 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -1068,7 +1068,7 @@ function_types_compatible_p (tree f1, tree f2) return 0; /* If one of these types comes from a non-prototype fn definition, compare that with the other type's arglist. - If they don't match, ask for a warning (but no error). */ + If they don't match, ask for a warning (0, but no error). */ if (TYPE_ACTUAL_ARG_TYPES (f1) && 1 != type_lists_compatible_p (args2, TYPE_ACTUAL_ARG_TYPES (f1))) val = 2; @@ -1646,7 +1646,7 @@ build_indirect_ref (tree ptr, const char *errorstring) return error_mark_node; } if (VOID_TYPE_P (t) && skip_evaluation == 0) - warning ("dereferencing %<void *%> pointer"); + warning (0, "dereferencing %<void *%> pointer"); /* We *must* set TREE_READONLY when dereferencing a pointer to const, so that we get the proper error message if the result is used @@ -1721,7 +1721,7 @@ build_array_ref (tree array, tree index) char[array]. */ if (warn_char_subscripts && !swapped && TYPE_MAIN_VARIANT (TREE_TYPE (index)) == char_type_node) - warning ("array subscript has type %<char%>"); + warning (0, "array subscript has type %<char%>"); /* Apply default promotions *after* noticing character types. */ index = default_conversion (index); @@ -2040,7 +2040,7 @@ build_function_call (tree function, tree params) /* This situation leads to run-time undefined behavior. We can't, therefore, simply error unless we can prove that all possible 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"); /* We can, however, treat "undefined" any way we please. Call abort to encourage the user to fix the program. */ @@ -2185,32 +2185,32 @@ convert_arguments (tree typelist, tree values, tree function, tree fundecl) if (INTEGRAL_TYPE_P (type) && TREE_CODE (TREE_TYPE (val)) == REAL_TYPE) - warning ("passing argument %d of %qE as integer " + warning (0, "passing argument %d of %qE as integer " "rather than floating due to prototype", argnum, rname); if (INTEGRAL_TYPE_P (type) && TREE_CODE (TREE_TYPE (val)) == COMPLEX_TYPE) - warning ("passing argument %d of %qE as integer " + warning (0, "passing argument %d of %qE as integer " "rather than complex due to prototype", argnum, rname); else if (TREE_CODE (type) == COMPLEX_TYPE && TREE_CODE (TREE_TYPE (val)) == REAL_TYPE) - warning ("passing argument %d of %qE as complex " + warning (0, "passing argument %d of %qE as complex " "rather than floating due to prototype", argnum, rname); else if (TREE_CODE (type) == REAL_TYPE && INTEGRAL_TYPE_P (TREE_TYPE (val))) - warning ("passing argument %d of %qE as floating " + warning (0, "passing argument %d of %qE as floating " "rather than integer due to prototype", argnum, rname); else if (TREE_CODE (type) == COMPLEX_TYPE && INTEGRAL_TYPE_P (TREE_TYPE (val))) - warning ("passing argument %d of %qE as complex " + warning (0, "passing argument %d of %qE as complex " "rather than integer due to prototype", argnum, rname); else if (TREE_CODE (type) == REAL_TYPE && TREE_CODE (TREE_TYPE (val)) == COMPLEX_TYPE) - warning ("passing argument %d of %qE as floating " + warning (0, "passing argument %d of %qE as floating " "rather than complex due to prototype", argnum, rname); /* ??? At some point, messages should be written about @@ -2222,7 +2222,7 @@ convert_arguments (tree typelist, tree values, tree function, tree fundecl) /* Warn if any argument is passed as `float', since without a prototype it would be `double'. */ if (formal_prec == TYPE_PRECISION (float_type_node)) - warning ("passing argument %d of %qE as %<float%> " + warning (0, "passing argument %d of %qE as %<float%> " "rather than %<double%> due to prototype", argnum, rname); } @@ -2242,7 +2242,7 @@ convert_arguments (tree typelist, tree values, tree function, tree fundecl) and the actual arg is that enum type. */ ; else if (formal_prec != TYPE_PRECISION (type1)) - warning ("passing argument %d of %qE with different " + warning (0, "passing argument %d of %qE with different " "width due to prototype", argnum, rname); else if (TYPE_UNSIGNED (type) == TYPE_UNSIGNED (type1)) ; @@ -2264,10 +2264,10 @@ convert_arguments (tree typelist, tree values, tree function, tree fundecl) && TYPE_UNSIGNED (TREE_TYPE (val))) ; else if (TYPE_UNSIGNED (type)) - warning ("passing argument %d of %qE as unsigned " + warning (0, "passing argument %d of %qE as unsigned " "due to prototype", argnum, rname); else - warning ("passing argument %d of %qE as signed " + warning (0, "passing argument %d of %qE as signed " "due to prototype", argnum, rname); } } @@ -2340,14 +2340,14 @@ parser_build_binary_op (enum tree_code code, struct c_expr arg1, { if (code1 == PLUS_EXPR || code1 == MINUS_EXPR || code2 == PLUS_EXPR || code2 == MINUS_EXPR) - warning ("suggest parentheses around + or - inside shift"); + warning (0, "suggest parentheses around + or - inside shift"); } if (code == TRUTH_ORIF_EXPR) { if (code1 == TRUTH_ANDIF_EXPR || code2 == TRUTH_ANDIF_EXPR) - warning ("suggest parentheses around && within ||"); + warning (0, "suggest parentheses around && within ||"); } if (code == BIT_IOR_EXPR) @@ -2356,11 +2356,11 @@ parser_build_binary_op (enum tree_code code, struct c_expr arg1, || code1 == PLUS_EXPR || code1 == MINUS_EXPR || code2 == BIT_AND_EXPR || code2 == BIT_XOR_EXPR || 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) == tcc_comparison || TREE_CODE_CLASS (code2) == tcc_comparison) - warning ("suggest parentheses around comparison in operand of |"); + warning (0, "suggest parentheses around comparison in operand of |"); } if (code == BIT_XOR_EXPR) @@ -2369,28 +2369,28 @@ parser_build_binary_op (enum tree_code code, struct c_expr arg1, || code1 == PLUS_EXPR || code1 == MINUS_EXPR || code2 == BIT_AND_EXPR || 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) == tcc_comparison || TREE_CODE_CLASS (code2) == tcc_comparison) - warning ("suggest parentheses around comparison in operand of ^"); + warning (0, "suggest parentheses around comparison in operand of ^"); } if (code == BIT_AND_EXPR) { if (code1 == PLUS_EXPR || code1 == MINUS_EXPR || 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) == tcc_comparison || TREE_CODE_CLASS (code2) == tcc_comparison) - warning ("suggest parentheses around comparison in operand of &"); + warning (0, "suggest parentheses around comparison in operand of &"); } /* Similarly, check for cases like 1<=i<=10 that are probably errors. */ if (TREE_CODE_CLASS (code) == tcc_comparison && (TREE_CODE_CLASS (code1) == tcc_comparison || TREE_CODE_CLASS (code2) == tcc_comparison)) - 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"); } @@ -3003,7 +3003,7 @@ build_conditional_expr (tree ifexp, tree op1, tree op2) || (unsigned_op1 && tree_expr_nonnegative_p (op2))) /* OK */; else - warning ("signed and unsigned type in conditional expression"); + warning (0, "signed and unsigned type in conditional expression"); } } } @@ -3111,7 +3111,7 @@ build_compound_expr (tree expr1, tree expr2) if (warn_unused_value && !(TREE_CODE (expr1) == CONVERT_EXPR && 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"); } /* With -Wunused, we should also warn if the left-hand operand does have @@ -3238,12 +3238,12 @@ build_c_cast (tree type, tree expr) && TREE_CODE (in_otype) == POINTER_TYPE); if (added) - warning ("cast adds new qualifiers to function type"); + warning (0, "cast adds new qualifiers to function type"); if (discarded) /* There are qualifiers present in IN_OTYPE that are not present in IN_TYPE. */ - warning ("cast discards qualifiers from pointer target type"); + warning (0, "cast discards qualifiers from pointer target type"); } /* Warn about possible alignment problems. */ @@ -3258,19 +3258,19 @@ build_c_cast (tree type, tree expr) || TREE_CODE (TREE_TYPE (otype)) == RECORD_TYPE) && TYPE_MODE (TREE_TYPE (otype)) == VOIDmode) && 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"); if (warn_pointer_to_int_cast && TREE_CODE (type) == INTEGER_TYPE && TREE_CODE (otype) == POINTER_TYPE && TYPE_PRECISION (type) != TYPE_PRECISION (otype) && !TREE_CONSTANT (value)) - warning ("cast from pointer to integer of different size"); + warning (0, "cast from pointer to integer of different size"); if (warn_bad_function_cast && TREE_CODE (value) == CALL_EXPR && TREE_CODE (type) != TREE_CODE (otype)) - warning ("cast from function call of type %qT to non-matching " + warning (0, "cast from function call of type %qT to non-matching " "type %qT", otype, type); if (warn_int_to_pointer_cast @@ -3279,7 +3279,7 @@ build_c_cast (tree type, tree expr) && TYPE_PRECISION (type) != TYPE_PRECISION (otype) /* Don't warn about converting any constant. */ && !TREE_CONSTANT (value)) - warning ("cast to pointer from integer of different size"); + warning (0, "cast to pointer from integer of different size"); if (TREE_CODE (type) == POINTER_TYPE && TREE_CODE (otype) == POINTER_TYPE @@ -3291,17 +3291,17 @@ build_c_cast (tree type, tree expr) /* Casting the address of a decl to non void pointer. Warn if the cast breaks type based aliasing. */ 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 { HOST_WIDE_INT set1 = get_alias_set (TREE_TYPE (TREE_OPERAND (expr, 0))); HOST_WIDE_INT set2 = get_alias_set (TREE_TYPE (type)); 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"); } } @@ -3507,7 +3507,7 @@ convert_for_assignment (tree type, tree rhs, enum impl_conv errtype, pedwarn (AR, parmnum, rname); \ break; \ case ic_argpass_nonproto: \ - warning (AR, parmnum, rname); \ + warning (0, AR, parmnum, rname); \ break; \ case ic_assign: \ pedwarn (AS); \ @@ -3950,7 +3950,7 @@ store_init_value (tree decl, tree init) if (warn_traditional && !in_system_header && AGGREGATE_TYPE_P (TREE_TYPE (decl)) && !TREE_STATIC (decl)) - warning ("traditional C rejects automatic aggregate initialization"); + warning (0, "traditional C rejects automatic aggregate initialization"); DECL_INITIAL (decl) = value; @@ -4144,10 +4144,10 @@ warning_init (const char *msgid) { char *ofwhat; - warning ("%s", _(msgid)); + warning (0, "%s", _(msgid)); ofwhat = print_spelling ((char *) alloca (spelling_length () + 1)); if (*ofwhat) - warning ("(near initialization for %qs)", ofwhat); + warning (0, "(near initialization for %qs)", ofwhat); } /* If TYPE is an array type and EXPR is a parenthesized string @@ -6186,7 +6186,7 @@ process_init_element (struct c_expr value) if (warn_traditional && !in_system_header && !constructor_designated && !(value.value && (integer_zerop (value.value) || real_zerop (value.value)))) - warning ("traditional C rejects initialization of unions"); + warning (0, "traditional C rejects initialization of unions"); /* Accept a string constant to initialize a subarray. */ if (value.value != 0 @@ -6549,7 +6549,7 @@ c_finish_return (tree retval) tree valtype = TREE_TYPE (TREE_TYPE (current_function_decl)); if (TREE_THIS_VOLATILE (current_function_decl)) - warning ("function declared %<noreturn%> has a %<return%> statement"); + warning (0, "function declared %<noreturn%> has a %<return%> statement"); if (!retval) { @@ -6620,7 +6620,7 @@ c_finish_return (tree retval) && !DECL_EXTERNAL (inner) && !TREE_STATIC (inner) && DECL_CONTEXT (inner) == current_function_decl) - warning ("function returns address of local variable"); + warning (0, "function returns address of local variable"); break; default: @@ -6702,7 +6702,7 @@ c_start_case (tree exp) if (warn_traditional && !in_system_header && (type == long_integer_type_node || type == long_unsigned_type_node)) - warning ("%<long%> switch expression not converted to " + warning (0, "%<long%> switch expression not converted to " "%<int%> in ISO C"); exp = default_conversion (exp); @@ -6837,7 +6837,7 @@ c_finish_if_stmt (location_t if_locus, tree cond, tree then_block, found: 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); } @@ -6847,7 +6847,7 @@ c_finish_if_stmt (location_t if_locus, tree cond, tree then_block, if (TREE_CODE (then_block) == NOP_EXPR && !TREE_TYPE (then_block)) { if (!else_block) - warning ("%Hempty body in an if-statement", + warning (0, "%Hempty body in an if-statement", EXPR_LOCUS (then_block)); then_block = alloc_stmt_list (); } @@ -6855,7 +6855,7 @@ c_finish_if_stmt (location_t if_locus, tree cond, tree then_block, && TREE_CODE (else_block) == NOP_EXPR && !TREE_TYPE (else_block)) { - warning ("%Hempty body in an else-statement", + warning (0, "%Hempty body in an else-statement", EXPR_LOCUS (else_block)); else_block = alloc_stmt_list (); } @@ -6986,7 +6986,7 @@ emit_side_effect_warnings (tree expr) else if (!TREE_SIDE_EFFECTS (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); } else if (warn_unused_value) @@ -7454,7 +7454,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, /* Floating point division by zero is a legitimate way to obtain infinities and NaNs. */ if (warn_div_by_zero && skip_evaluation == 0 && integer_zerop (op1)) - warning ("division by zero"); + warning (0, "division by zero"); if ((code0 == INTEGER_TYPE || code0 == REAL_TYPE || code0 == COMPLEX_TYPE || code0 == VECTOR_TYPE) @@ -7493,7 +7493,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, case TRUNC_MOD_EXPR: case FLOOR_MOD_EXPR: if (warn_div_by_zero && skip_evaluation == 0 && integer_zerop (op1)) - warning ("division by zero"); + warning (0, "division by zero"); if (code0 == INTEGER_TYPE && code1 == INTEGER_TYPE) { @@ -7538,14 +7538,14 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, if (TREE_CODE (op1) == INTEGER_CST && skip_evaluation == 0) { if (tree_int_cst_sgn (op1) < 0) - warning ("right shift count is negative"); + warning (0, "right shift count is negative"); else { if (!integer_zerop (op1)) short_shift = 1; if (compare_tree_int (op1, TYPE_PRECISION (type0)) >= 0) - warning ("right shift count >= width of type"); + warning (0, "right shift count >= width of type"); } } @@ -7566,10 +7566,10 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, if (TREE_CODE (op1) == INTEGER_CST && skip_evaluation == 0) { 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"); } /* Use the type of the value to be shifted. */ @@ -7586,7 +7586,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, case EQ_EXPR: case NE_EXPR: 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, but don't convert the args to int! */ build_type = integer_type_node; @@ -7903,7 +7903,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, c_common_signed_type (result_type))) /* OK */; else - warning ("comparison between signed and unsigned"); + warning (0, "comparison between signed and unsigned"); } /* Warn if two unsigned values are being compared in a size @@ -7949,7 +7949,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, { mask = (~(HOST_WIDE_INT) 0) << bits; if ((mask & constant) != mask) - warning ("comparison of promoted ~unsigned with constant"); + warning (0, "comparison of promoted ~unsigned with constant"); } } else if (unsignedp0 && unsignedp1 @@ -7957,7 +7957,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, < TYPE_PRECISION (result_type)) && (TYPE_PRECISION (TREE_TYPE (primop1)) < TYPE_PRECISION (result_type))) - warning ("comparison of promoted ~unsigned with unsigned"); + warning (0, "comparison of promoted ~unsigned with unsigned"); } } } diff --git a/gcc/calls.c b/gcc/calls.c index 3eb16c023d1..df9c734fc78 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -1935,7 +1935,7 @@ expand_call (tree exp, rtx target, int ignore) /* Warn if this value is an aggregate type, regardless of which calling convention we are using for it. */ if (warn_aggregate_return && AGGREGATE_TYPE_P (TREE_TYPE (exp))) - warning ("function call has aggregate value"); + warning (0, "function call has aggregate value"); /* If the result of a pure or const function call is ignored (or void), and none of its arguments are volatile, we can avoid expanding the diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 5ed13bce317..adef0bd09ce 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -712,7 +712,7 @@ change_decl_assembler_name (tree decl, tree name) if (TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) && DECL_RTL_SET_P (decl)) - warning ("%D renamed after being referenced in assembly", decl); + warning (0, "%D renamed after being referenced in assembly", decl); SET_DECL_ASSEMBLER_NAME (decl, name); } diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 69d67f9f99b..631855cc751 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -310,7 +310,7 @@ override_options (void) /* Unicos/Mk doesn't have shared libraries. */ if (TARGET_ABI_UNICOSMK && flag_pic) { - warning ("-f%s ignored for Unicos/Mk (not supported)", + warning (0, "-f%s ignored for Unicos/Mk (not supported)", (flag_pic > 1) ? "PIC" : "pic"); flag_pic = 0; } @@ -334,7 +334,7 @@ override_options (void) if (TARGET_IEEE) { if (TARGET_ABI_UNICOSMK) - warning ("-mieee not supported on Unicos/Mk"); + warning (0, "-mieee not supported on Unicos/Mk"); else { alpha_tp = ALPHA_TP_INSN; @@ -345,7 +345,7 @@ override_options (void) if (TARGET_IEEE_WITH_INEXACT) { if (TARGET_ABI_UNICOSMK) - warning ("-mieee-with-inexact not supported on Unicos/Mk"); + warning (0, "-mieee-with-inexact not supported on Unicos/Mk"); else { alpha_tp = ALPHA_TP_INSN; @@ -424,14 +424,14 @@ override_options (void) if (TARGET_ABI_UNICOSMK && alpha_fptm != ALPHA_FPTM_N) { - warning ("trap mode not supported on Unicos/Mk"); + warning (0, "trap mode not supported on Unicos/Mk"); alpha_fptm = ALPHA_FPTM_N; } if ((alpha_fptm == ALPHA_FPTM_SU || alpha_fptm == ALPHA_FPTM_SUI) && alpha_tp != ALPHA_TP_INSN && alpha_cpu != PROCESSOR_EV6) { - warning ("fp software completion requires -mtrap-precision=i"); + warning (0, "fp software completion requires -mtrap-precision=i"); alpha_tp = ALPHA_TP_INSN; } @@ -447,16 +447,16 @@ override_options (void) { if (alpha_fprm == ALPHA_FPRM_MINF || alpha_fprm == ALPHA_FPRM_DYN) { - warning ("rounding mode not supported for VAX floats"); + warning (0, "rounding mode not supported for VAX floats"); alpha_fprm = ALPHA_FPRM_NORM; } if (alpha_fptm == ALPHA_FPTM_SUI) { - warning ("trap mode not supported for VAX floats"); + warning (0, "trap mode not supported for VAX floats"); alpha_fptm = ALPHA_FPTM_SU; } 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; } @@ -484,7 +484,7 @@ override_options (void) lat = alpha_mlat_string[1] - '0'; if (lat <= 0 || lat > 3 || cache_latency[alpha_tune][lat-1] == -1) { - warning ("L%d cache latency unknown for %s", + warning (0, "L%d cache latency unknown for %s", lat, alpha_cpu_name[alpha_tune]); lat = 3; } @@ -499,7 +499,7 @@ override_options (void) } else { - warning ("bad value %qs for -mmemory-latency", alpha_mlat_string); + warning (0, "bad value %qs for -mmemory-latency", alpha_mlat_string); lat = 3; } diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c index 1fc92915b72..91c27c155f0 100644 --- a/gcc/config/arc/arc.c +++ b/gcc/config/arc/arc.c @@ -410,14 +410,14 @@ arc_handle_interrupt_attribute (tree *node ATTRIBUTE_UNUSED, if (TREE_CODE (value) != STRING_CST) { - warning ("argument of %qs attribute is not a string constant", + warning (0, "argument of %qs attribute is not a string constant", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } else if (strcmp (TREE_STRING_POINTER (value), "ilink1") && strcmp (TREE_STRING_POINTER (value), "ilink2")) { - warning ("argument of %qs attribute is not \"ilink1\" or \"ilink2\"", + warning (0, "argument of %qs attribute is not \"ilink1\" or \"ilink2\"", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index ab53a178379..7349b1e2dc2 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -806,7 +806,7 @@ arm_override_options (void) a warning though, and we prefer the CPU over the architecture. */ 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); insn_flags = sel->flags; @@ -925,19 +925,19 @@ arm_override_options (void) other command line choices. */ if (TARGET_INTERWORK && !(insn_flags & FL_THUMB)) { - warning ("target CPU does not support interworking" ); + warning (0, "target CPU does not support interworking" ); target_flags &= ~ARM_FLAG_INTERWORK; } if (TARGET_THUMB && !(insn_flags & FL_THUMB)) { - warning ("target CPU does not support THUMB instructions"); + warning (0, "target CPU does not support THUMB instructions"); target_flags &= ~ARM_FLAG_THUMB; } if (TARGET_APCS_FRAME && TARGET_THUMB) { - /* warning ("ignoring -mapcs-frame because -mthumb was used"); */ + /* warning (0, "ignoring -mapcs-frame because -mthumb was used"); */ target_flags &= ~ARM_FLAG_APCS_FRAME; } @@ -945,17 +945,17 @@ arm_override_options (void) from here where no function is being compiled currently. */ if ((target_flags & (THUMB_FLAG_LEAF_BACKTRACE | THUMB_FLAG_BACKTRACE)) && 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"); if (TARGET_APCS_STACK && !TARGET_APCS_FRAME) { - 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; } @@ -966,7 +966,7 @@ arm_override_options (void) error ("-fpic and -mapcs-reent are incompatible"); if (TARGET_APCS_REENT) - warning ("APCS reentrant code not supported. Ignored"); + warning (0, "APCS reentrant code not supported. Ignored"); /* If this target is normally configured to use APCS frames, warn if they are turned off and debugging is turned on. */ @@ -974,7 +974,7 @@ arm_override_options (void) && write_symbols != NO_DEBUG && !TARGET_APCS_FRAME && (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"); /* If stack checking is disabled, we can use r10 as the PIC register, which keeps r9 available. */ @@ -982,7 +982,7 @@ arm_override_options (void) arm_pic_register = TARGET_APCS_STACK ? 9 : 10; 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"); /* Initialize boolean versions of the flags, for use in the arm.md file. */ arm_arch3m = (insn_flags & FL_ARCH3M) != 0; @@ -1141,7 +1141,7 @@ arm_override_options (void) || (ARM_DOUBLEWORD_ALIGN && size == 64)) arm_structure_size_boundary = size; 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"); } @@ -1150,7 +1150,7 @@ arm_override_options (void) int pic_register = decode_reg_name (arm_pic_register_string); if (!flag_pic) - warning ("-mpic-register= is useless without -fpic"); + warning (0, "-mpic-register= is useless without -fpic"); /* Prevent the user from choosing an obviously stupid PIC register. */ else if (pic_register < 0 || call_used_regs[pic_register] @@ -2674,7 +2674,7 @@ arm_handle_fndecl_attribute (tree *node, tree name, tree args ATTRIBUTE_UNUSED, { if (TREE_CODE (*node) != FUNCTION_DECL) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -2692,7 +2692,7 @@ arm_handle_isr_attribute (tree *node, tree name, tree args, int flags, { if (TREE_CODE (*node) != FUNCTION_DECL) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -2706,7 +2706,7 @@ arm_handle_isr_attribute (tree *node, tree name, tree args, int flags, { if (arm_isr_value (args) == ARM_FT_UNKNOWN) { - warning ("%qs attribute ignored", IDENTIFIER_POINTER (name)); + warning (0, "%qs attribute ignored", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } } @@ -2733,7 +2733,7 @@ arm_handle_isr_attribute (tree *node, tree name, tree args, int flags, } else { - warning ("%qs attribute ignored", IDENTIFIER_POINTER (name)); + warning (0, "%qs attribute ignored", IDENTIFIER_POINTER (name)); } } } @@ -11400,7 +11400,7 @@ arm_debugger_arg_offset (int value, rtx addr) if (value == 0) { 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 */ } diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index 0f8f803fd30..bc51d9181c2 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -552,7 +552,7 @@ out_adj_frame_ptr (FILE *file, int adj) if (TARGET_TINY_STACK) { 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); /* The high byte (r29) doesn't change - prefer "subi" (1 cycle) over "sbiw" (2 cycles, same size). */ @@ -4670,14 +4670,14 @@ avr_handle_progmem_attribute (tree *node, tree name, { if (DECL_INITIAL (*node) == NULL_TREE && !DECL_EXTERNAL (*node)) { - warning ("only initialized variables can be placed into " + warning (0, "only initialized variables can be placed into " "program memory area"); *no_add_attrs = true; } } else { - warning ("%qs attribute ignored", IDENTIFIER_POINTER (name)); + warning (0, "%qs attribute ignored", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } } @@ -4696,7 +4696,7 @@ avr_handle_fndecl_attribute (tree *node, tree name, { if (TREE_CODE (*node) != FUNCTION_DECL) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -4713,7 +4713,7 @@ avr_handle_fndecl_attribute (tree *node, tree name, { if (strncmp (func_name, "__vector", strlen ("__vector")) != 0) { - warning ("`%s' appears to be a misspelled interrupt handler", + warning (0, "`%s' appears to be a misspelled interrupt handler", func_name); } } @@ -4721,7 +4721,7 @@ avr_handle_fndecl_attribute (tree *node, tree name, { if (strncmp (func_name, "__vector", strlen ("__vector")) != 0) { - warning ("`%s' appears to be a misspelled signal handler", + warning (0, "`%s' appears to be a misspelled signal handler", func_name); } } @@ -4790,7 +4790,7 @@ avr_section_type_flags (tree decl, const char *name, int reloc) && DECL_INITIAL (decl) == NULL_TREE) flags |= SECTION_BSS; /* @nobits */ else - warning ("only uninitialized variables can be placed in the " + warning (0, "only uninitialized variables can be placed in the " ".noinit section"); } diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c index 559ebb7744d..966250a8867 100644 --- a/gcc/config/bfin/bfin.c +++ b/gcc/config/bfin/bfin.c @@ -2554,7 +2554,7 @@ handle_int_attribute (tree *node, tree name, if (TREE_CODE (x) != FUNCTION_TYPE) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } diff --git a/gcc/config/c4x/c4x-c.c b/gcc/config/c4x/c4x-c.c index 780a12b380f..fa30b439f39 100644 --- a/gcc/config/c4x/c4x-c.c +++ b/gcc/config/c4x/c4x-c.c @@ -57,7 +57,7 @@ static int c4x_parse_pragma (const char *, tree *, tree *); the STRING_CST node of the string. If SECT is null, then this pragma doesn't take a section string. Returns 0 for a good pragma, -1 for a malformed pragma. */ -#define BAD(msgid, arg) do { warning (msgid, arg); return -1; } while (0) +#define BAD(msgid, arg) do { warning (0, msgid, arg); return -1; } while (0) static int c4x_parse_pragma (name, func, sect) @@ -86,7 +86,7 @@ c4x_parse_pragma (name, func, sect) BAD ("missing ')' for '#pragma %s' - ignored", name); if (c_lex (&x) != CPP_EOF) - warning ("junk at end of '#pragma %s'", name); + warning (0, "junk at end of '#pragma %s'", name); *func = f; return 0; diff --git a/gcc/config/c4x/c4x.c b/gcc/config/c4x/c4x.c index b7f54d97860..3847591bd1e 100644 --- a/gcc/config/c4x/c4x.c +++ b/gcc/config/c4x/c4x.c @@ -4485,7 +4485,7 @@ c4x_handle_fntype_attribute (tree *node, tree name, { if (TREE_CODE (*node) != FUNCTION_TYPE) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c index 9c9fb16bab3..19d250c8549 100644 --- a/gcc/config/cris/cris.c +++ b/gcc/config/cris/cris.c @@ -2218,7 +2218,7 @@ cris_override_options (void) if (write_symbols == DWARF2_DEBUG && ! TARGET_ELF) { - 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; } @@ -2730,7 +2730,7 @@ cris_expand_prologue (void) } if (cris_max_stackframe && framesize > cris_max_stackframe) - warning ("stackframe too big: %d bytes", framesize); + warning (0, "stackframe too big: %d bytes", framesize); } /* The expander for the epilogue pattern. */ diff --git a/gcc/config/darwin-c.c b/gcc/config/darwin-c.c index 58366f75745..1aa10d520a0 100644 --- a/gcc/config/darwin-c.c +++ b/gcc/config/darwin-c.c @@ -35,7 +35,7 @@ Boston, MA 02111-1307, USA. */ /* Pragmas. */ -#define BAD(msgid) do { warning (msgid); return; } while (0) +#define BAD(msgid) do { warning (0, msgid); return; } while (0) static bool using_frameworks = false; @@ -111,7 +111,7 @@ darwin_pragma_options (cpp_reader *pfile ATTRIBUTE_UNUSED) BAD ("malformed '#pragma options', ignoring"); if (c_lex (&x) != CPP_EOF) - warning ("junk at end of '#pragma options'"); + warning (0, "junk at end of '#pragma options'"); arg = IDENTIFIER_POINTER (t); if (!strcmp (arg, "mac68k")) @@ -121,7 +121,7 @@ darwin_pragma_options (cpp_reader *pfile ATTRIBUTE_UNUSED) else if (!strcmp (arg, "reset")) pop_field_alignment (); else - warning ("malformed '#pragma options align={mac68k|power|reset}', ignoring"); + warning (0, "malformed '#pragma options align={mac68k|power|reset}', ignoring"); } /* #pragma unused ([var {, var}*]) */ @@ -154,7 +154,7 @@ darwin_pragma_unused (cpp_reader *pfile ATTRIBUTE_UNUSED) BAD ("missing ')' after '#pragma unused', ignoring"); if (c_lex (&x) != CPP_EOF) - warning ("junk at end of '#pragma unused'"); + warning (0, "junk at end of '#pragma unused'"); } static struct { @@ -380,7 +380,7 @@ find_subframework_file (const char *fname, const char *pname) if (fast_dir != &subframe_dir) { if (fast_dir) - warning ("subframework include %s conflicts with framework include", + warning (0, "subframework include %s conflicts with framework include", fname); else add_framework (fname, fname_len, &subframe_dir); diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c index 8c26bf5d496..ef77cfef5a2 100644 --- a/gcc/config/darwin.c +++ b/gcc/config/darwin.c @@ -1231,7 +1231,7 @@ darwin_handle_weak_import_attribute (tree *node, tree name, { if (TREE_CODE (*node) != FUNCTION_DECL && TREE_CODE (*node) != VAR_DECL) { - warning ("%qs attribute ignored", IDENTIFIER_POINTER (name)); + warning (0, "%qs attribute ignored", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } else @@ -1345,7 +1345,7 @@ darwin_assemble_visibility (tree decl, int vis) fputs ("\n", asm_out_file); } else - warning ("internal and protected visibility attributes not supported " + warning (0, "internal and protected visibility attributes not supported " "in this configuration; ignored"); } diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h index ea7e5200131..3ccfea6a5f5 100644 --- a/gcc/config/darwin.h +++ b/gcc/config/darwin.h @@ -374,7 +374,7 @@ Boston, MA 02111-1307, USA. */ do { \ if (ALIAS) \ { \ - warning ("alias definitions not supported in Mach-O; ignored"); \ + warning (0, "alias definitions not supported in Mach-O; ignored"); \ break; \ } \ \ diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c index 81e104faf91..4f12f6a476f 100644 --- a/gcc/config/h8300/h8300.c +++ b/gcc/config/h8300/h8300.c @@ -5264,7 +5264,7 @@ h8300_handle_fndecl_attribute (tree *node, tree name, { if (TREE_CODE (*node) != FUNCTION_DECL) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -5288,7 +5288,7 @@ h8300_handle_eightbit_data_attribute (tree *node, tree name, } else { - warning ("%qs attribute ignored", IDENTIFIER_POINTER (name)); + warning (0, "%qs attribute ignored", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -5311,7 +5311,7 @@ h8300_handle_tiny_data_attribute (tree *node, tree name, } else { - warning ("%qs attribute ignored", IDENTIFIER_POINTER (name)); + warning (0, "%qs attribute ignored", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h index 03e7aa90ce6..94678231b82 100644 --- a/gcc/config/i386/cygming.h +++ b/gcc/config/i386/cygming.h @@ -162,7 +162,7 @@ switch_to_section (enum in_section section, tree decl) \ do { \ if (flag_pic) \ { \ - 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"); \ flag_pic = 0; \ } \ diff --git a/gcc/config/i386/djgpp.h b/gcc/config/i386/djgpp.h index abb6e5dbbab..aedebb5f3aa 100644 --- a/gcc/config/i386/djgpp.h +++ b/gcc/config/i386/djgpp.h @@ -178,7 +178,7 @@ do \ { \ if (TARGET_BNU210) \ { \ - warning ("-mbnu210 is ignored (option is obsolete)"); \ + warning (0, "-mbnu210 is ignored (option is obsolete)"); \ } \ } \ while (0) diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index b8ac322d56e..5046cf5e33b 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -1477,7 +1477,7 @@ override_options (void) Remove this code in GCC 3.2 or later. */ if (ix86_align_loops_string) { - warning ("-malign-loops is obsolete, use -falign-loops"); + warning (0, "-malign-loops is obsolete, use -falign-loops"); if (align_loops == 0) { i = atoi (ix86_align_loops_string); @@ -1490,7 +1490,7 @@ override_options (void) if (ix86_align_jumps_string) { - warning ("-malign-jumps is obsolete, use -falign-jumps"); + warning (0, "-malign-jumps is obsolete, use -falign-jumps"); if (align_jumps == 0) { i = atoi (ix86_align_jumps_string); @@ -1503,7 +1503,7 @@ override_options (void) if (ix86_align_funcs_string) { - warning ("-malign-functions is obsolete, use -falign-functions"); + warning (0, "-malign-functions is obsolete, use -falign-functions"); if (align_functions == 0) { i = atoi (ix86_align_funcs_string); @@ -1641,7 +1641,7 @@ override_options (void) { if (!TARGET_SSE) { - warning ("SSE instruction set disabled, using 387 arithmetics"); + warning (0, "SSE instruction set disabled, using 387 arithmetics"); ix86_fpmath = FPMATH_387; } else @@ -1652,12 +1652,12 @@ override_options (void) { if (!TARGET_SSE) { - warning ("SSE instruction set disabled, using 387 arithmetics"); + warning (0, "SSE instruction set disabled, using 387 arithmetics"); ix86_fpmath = FPMATH_387; } else if (!TARGET_80387) { - warning ("387 instruction set disabled, using SSE arithmetics"); + warning (0, "387 instruction set disabled, using SSE arithmetics"); ix86_fpmath = FPMATH_SSE; } else @@ -1815,7 +1815,7 @@ ix86_handle_cdecl_attribute (tree *node, tree name, && TREE_CODE (*node) != FIELD_DECL && TREE_CODE (*node) != TYPE_DECL) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -1843,7 +1843,7 @@ ix86_handle_cdecl_attribute (tree *node, tree name, if (TARGET_64BIT) { - warning ("%qs attribute ignored", IDENTIFIER_POINTER (name)); + warning (0, "%qs attribute ignored", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -1861,7 +1861,7 @@ ix86_handle_regparm_attribute (tree *node, tree name, tree args, && TREE_CODE (*node) != FIELD_DECL && TREE_CODE (*node) != TYPE_DECL) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -1872,13 +1872,13 @@ ix86_handle_regparm_attribute (tree *node, tree name, tree args, cst = TREE_VALUE (args); if (TREE_CODE (cst) != INTEGER_CST) { - warning ("%qs attribute requires an integer constant argument", + warning (0, "%qs attribute requires an integer constant argument", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } else if (compare_tree_int (cst, REGPARM_MAX) > 0) { - warning ("argument to %qs attribute larger than %d", + warning (0, "argument to %qs attribute larger than %d", IDENTIFIER_POINTER (name), REGPARM_MAX); *no_add_attrs = true; } @@ -2990,7 +2990,7 @@ function_arg (CUMULATIVE_ARGS *cum, enum machine_mode orig_mode, if (!TARGET_SSE && !warnedsse && cum->warn_sse) { warnedsse = true; - warning ("SSE vector argument without SSE enabled " + warning (0, "SSE vector argument without SSE enabled " "changes the ABI"); } if (cum->sse_nregs) @@ -3007,7 +3007,7 @@ function_arg (CUMULATIVE_ARGS *cum, enum machine_mode orig_mode, if (!TARGET_MMX && !warnedmmx && cum->warn_mmx) { warnedmmx = true; - warning ("MMX vector argument without MMX enabled " + warning (0, "MMX vector argument without MMX enabled " "changes the ABI"); } if (cum->mmx_nregs) @@ -3260,7 +3260,7 @@ ix86_struct_value_rtx (tree type, int incoming ATTRIBUTE_UNUSED) || (VECTOR_MODE_P (mode) && GET_MODE_SIZE (mode) == 16)) { warned = true; - warning ("SSE vector return without SSE enabled changes the ABI"); + warning (0, "SSE vector return without SSE enabled changes the ABI"); } } @@ -15988,7 +15988,7 @@ ix86_handle_struct_attribute (tree *node, tree name, if (!(type && (TREE_CODE (*type) == RECORD_TYPE || TREE_CODE (*type) == UNION_TYPE))) { - warning ("%qs attribute ignored", IDENTIFIER_POINTER (name)); + warning (0, "%qs attribute ignored", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -15997,7 +15997,7 @@ ix86_handle_struct_attribute (tree *node, tree name, || ((is_attribute_p ("gcc_struct", name) && lookup_attribute ("ms_struct", TYPE_ATTRIBUTES (*type))))) { - warning ("%qs incompatible attribute ignored", + warning (0, "%qs incompatible attribute ignored", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c index 0d752383458..26304806c77 100644 --- a/gcc/config/i386/winnt.c +++ b/gcc/config/i386/winnt.c @@ -71,7 +71,7 @@ ix86_handle_shared_attribute (tree *node, tree name, { if (TREE_CODE (*node) != VAR_DECL) { - warning ("%qs attribute only applies to variables", + warning (0, "%qs attribute only applies to variables", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -199,7 +199,7 @@ i386_pe_dllimport_p (tree decl) { /* Don't warn about artificial methods. */ 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); return 0; } @@ -210,7 +210,7 @@ i386_pe_dllimport_p (tree decl) else if (TREE_CODE (decl) == FUNCTION_DECL && DECL_INLINE (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); return 0; } @@ -279,7 +279,7 @@ i386_pe_mark_dllexport (tree decl) oldname = XSTR (rtlname, 0); if (i386_pe_dllimport_name_p (oldname)) { - warning ("%Jinconsistent dll linkage for '%D', dllexport assumed.", + warning (0, "%Jinconsistent dll linkage for '%D', dllexport assumed.", decl, decl); /* Remove DLL_IMPORT_PREFIX. */ oldname += strlen (DLL_IMPORT_PREFIX); @@ -463,10 +463,10 @@ i386_pe_encode_section_info (tree decl, rtx rtl, int first) We leave these alone for now. */ 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); } } diff --git a/gcc/config/ia64/ia64-c.c b/gcc/config/ia64/ia64-c.c index eaa85838744..2412f5c5b4e 100644 --- a/gcc/config/ia64/ia64-c.c +++ b/gcc/config/ia64/ia64-c.c @@ -49,7 +49,7 @@ ia64_hpux_handle_builtin_pragma (cpp_reader *pfile ATTRIBUTE_UNUSED) type = c_lex (&x); } if (type != CPP_EOF) - warning ("malformed #pragma builtin"); + warning (0, "malformed #pragma builtin"); } /* List of standard math functions which do not set matherr by default diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 24359222ea3..9201bb8a549 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -482,7 +482,7 @@ ia64_handle_model_attribute (tree *node, tree name, tree args, } else { - warning ("invalid argument of %qs attribute", + warning (0, "invalid argument of %qs attribute", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -514,7 +514,7 @@ ia64_handle_model_attribute (tree *node, tree name, tree args, break; default: - warning ("%qs attribute ignored", IDENTIFIER_POINTER (name)); + warning (0, "%qs attribute ignored", IDENTIFIER_POINTER (name)); *no_add_attrs = true; break; } @@ -4548,7 +4548,7 @@ fix_range (const char *const_str) dash = strchr (str, '-'); if (!dash) { - warning ("value of -mfixed-range must have form REG1-REG2"); + warning (0, "value of -mfixed-range must have form REG1-REG2"); return; } *dash = '\0'; @@ -4560,14 +4560,14 @@ fix_range (const char *const_str) first = decode_reg_name (str); if (first < 0) { - warning ("unknown register name: %s", str); + warning (0, "unknown register name: %s", str); return; } last = decode_reg_name (dash + 1); if (last < 0) { - warning ("unknown register name: %s", dash + 1); + warning (0, "unknown register name: %s", dash + 1); return; } @@ -4575,7 +4575,7 @@ fix_range (const char *const_str) if (first > last) { - warning ("%s-%s is an empty range", str, dash + 1); + warning (0, "%s-%s is an empty range", str, dash + 1); return; } @@ -4656,7 +4656,7 @@ ia64_override_options (void) if (TARGET_INLINE_SQRT == INL_MIN_LAT) { - warning ("not yet implemented: latency-optimized inline square root"); + warning (0, "not yet implemented: latency-optimized inline square root"); TARGET_INLINE_SQRT = INL_MAX_THR; } diff --git a/gcc/config/ip2k/ip2k.c b/gcc/config/ip2k/ip2k.c index 06345c5d2f3..314a2c760f8 100644 --- a/gcc/config/ip2k/ip2k.c +++ b/gcc/config/ip2k/ip2k.c @@ -3154,14 +3154,14 @@ ip2k_handle_progmem_attribute (tree *node, tree name, { if (DECL_INITIAL (*node) == NULL_TREE && !DECL_EXTERNAL (*node)) { - warning ("only initialized variables can be placed into " + warning (0, "only initialized variables can be placed into " "program memory area"); *no_add_attrs = true; } } else { - warning ("%qs attribute ignored", IDENTIFIER_POINTER (name)); + warning (0, "%qs attribute ignored", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } } @@ -3179,7 +3179,7 @@ ip2k_handle_fndecl_attribute (tree *node, tree name, { if (TREE_CODE (*node) != FUNCTION_DECL) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c index ee3f0039cf4..858251b3ef6 100644 --- a/gcc/config/m32r/m32r.c +++ b/gcc/config/m32r/m32r.c @@ -387,7 +387,7 @@ m32r_handle_model_attribute (tree *node ATTRIBUTE_UNUSED, tree name, && arg != large_ident1 && arg != large_ident2) { - warning ("invalid argument of %qs attribute", + warning (0, "invalid argument of %qs attribute", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c index bd3d606f25b..06c7e3ec9ae 100644 --- a/gcc/config/m68hc11/m68hc11.c +++ b/gcc/config/m68hc11/m68hc11.c @@ -284,7 +284,7 @@ m68hc11_override_options (void) /* Compilation with -fpic generates a wrong code. */ if (flag_pic) { - warning ("-f%s ignored for 68HC11/68HC12 (not supported)", + warning (0, "-f%s ignored for 68HC11/68HC12 (not supported)", (flag_pic > 1) ? "PIC" : "pic"); flag_pic = 0; } @@ -1123,7 +1123,7 @@ m68hc11_handle_page0_attribute (tree *node, tree name, } else { - warning ("%qs attribute ignored", IDENTIFIER_POINTER (name)); + warning (0, "%qs attribute ignored", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -1159,7 +1159,7 @@ m68hc11_handle_fntype_attribute (tree *node, tree name, && TREE_CODE (*node) != FIELD_DECL && TREE_CODE (*node) != TYPE_DECL) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -1244,13 +1244,13 @@ m68hc11_encode_section_info (tree decl, rtx rtl, int first ATTRIBUTE_UNUSED) trap_handler = lookup_attribute ("trap", func_attr) != NULL_TREE; if (trap_handler && is_far) { - warning ("%<trap%> and %<far%> attributes are not compatible, ignoring %<far%>"); + warning (0, "%<trap%> and %<far%> attributes are not compatible, ignoring %<far%>"); trap_handler = 0; } if (trap_handler) { if (trap_handler_symbol != 0) - warning ("%<trap%> attribute is already used"); + warning (0, "%<trap%> attribute is already used"); else trap_handler_symbol = XEXP (rtl, 0); } diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index c119642dca5..60b605c75aa 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -373,7 +373,7 @@ m68k_handle_fndecl_attribute (tree *node, tree name, { if (TREE_CODE (*node) != FUNCTION_DECL) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -632,7 +632,7 @@ m68k_output_function_prologue (FILE *stream, HOST_WIDE_INT size ATTRIBUTE_UNUSED asm_fprintf (stream, "\tcmp" ASM_DOT "l %s,%Rsp\n\ttrapcs\n", M68K_REGNAME(REGNO (stack_limit_rtx))); else if (GET_CODE (stack_limit_rtx) != SYMBOL_REF) - warning ("stack limit expression is not supported"); + warning (0, "stack limit expression is not supported"); } if (current_frame.reg_no <= 2) diff --git a/gcc/config/mcore/mcore.c b/gcc/config/mcore/mcore.c index 0b8b415c33d..826e78713a6 100644 --- a/gcc/config/mcore/mcore.c +++ b/gcc/config/mcore/mcore.c @@ -3059,7 +3059,7 @@ mcore_handle_naked_attribute (tree * node, tree name, tree args ATTRIBUTE_UNUSED } else { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 9e1a308ffbe..12a6b2debed 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -4350,7 +4350,7 @@ override_options (void) /* Deprecate -mint64. Remove after 4.0 branches. */ if (TARGET_INT64) - warning ("-mint64 is a deprecated option"); + warning (0, "-mint64 is a deprecated option"); if (TARGET_INT64 && !TARGET_LONG64) error ("unsupported combination: %s", "-mint64 -mlong32"); @@ -4404,7 +4404,7 @@ override_options (void) target_flags &= ~MASK_BRANCHLIKELY; } 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"); /* The effect of -mabicalls isn't defined for the EABI. */ if (mips_abi == ABI_EABI && TARGET_ABICALLS) @@ -4421,7 +4421,7 @@ override_options (void) { flag_pic = 1; 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"); } /* mips_split_addresses is a half-way house between explicit @@ -9215,7 +9215,7 @@ mips_parse_cpu (const char *cpu_string) for (s = cpu_string; *s != 0; s++) if (ISUPPER (*s)) { - warning ("the cpu name must be lower case"); + warning (0, "the cpu name must be lower case"); break; } diff --git a/gcc/config/mmix/mmix.c b/gcc/config/mmix/mmix.c index 0dd26ed2620..99e3b1793c1 100644 --- a/gcc/config/mmix/mmix.c +++ b/gcc/config/mmix/mmix.c @@ -226,7 +226,7 @@ mmix_override_options (void) labels. */ if (flag_pic) { - 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; } } diff --git a/gcc/config/ns32k/ns32k.c b/gcc/config/ns32k/ns32k.c index 8cf3fa7d1cb..661d59601b5 100644 --- a/gcc/config/ns32k/ns32k.c +++ b/gcc/config/ns32k/ns32k.c @@ -1105,7 +1105,7 @@ ns32k_handle_fntype_attribute (tree *node, tree name, && TREE_CODE (*node) != FIELD_DECL && TREE_CODE (*node) != TYPE_DECL) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } diff --git a/gcc/config/pa/pa-hpux11.h b/gcc/config/pa/pa-hpux11.h index 994e432048c..ac0798307fc 100644 --- a/gcc/config/pa/pa-hpux11.h +++ b/gcc/config/pa/pa-hpux11.h @@ -79,7 +79,7 @@ Boston, MA 02111-1307, USA. */ builtin_define ("_INCLUDE_XOPEN_SOURCE_500"); \ } \ else if (flag_isoc94 || flag_isoc99 || c_dialect_cxx ()) \ - warning ("-munix=98 option required for C89 " \ + warning (0, "-munix=98 option required for C89 " \ "Amendment 1 features.\n"); \ } \ if (TARGET_SIO) \ diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 3ffb7fb5245..37670f874c5 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -317,7 +317,7 @@ fix_range (const char *const_str) dash = strchr (str, '-'); if (!dash) { - warning ("value of -mfixed-range must have form REG1-REG2"); + warning (0, "value of -mfixed-range must have form REG1-REG2"); return; } *dash = '\0'; @@ -329,14 +329,14 @@ fix_range (const char *const_str) first = decode_reg_name (str); if (first < 0) { - warning ("unknown register name: %s", str); + warning (0, "unknown register name: %s", str); return; } last = decode_reg_name (dash + 1); if (last < 0) { - warning ("unknown register name: %s", dash + 1); + warning (0, "unknown register name: %s", dash + 1); return; } @@ -344,7 +344,7 @@ fix_range (const char *const_str) if (first > last) { - warning ("%s-%s is an empty range", str, dash + 1); + warning (0, "%s-%s is an empty range", str, dash + 1); return; } @@ -449,18 +449,18 @@ override_options (void) if (flag_pic && TARGET_PORTABLE_RUNTIME) { - 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"); } if (flag_pic && TARGET_FAST_INDIRECT_CALLS) { - 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"); } if (! TARGET_GAS && write_symbols != NO_DEBUG) { - 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; } @@ -7837,7 +7837,7 @@ pa_asm_output_aligned_common (FILE *stream, max_common_align = TARGET_64BIT ? 128 : (size >= 4096 ? 256 : 64); if (align > max_common_align) { - warning ("alignment (%u) for %s exceeds maximum alignment " + warning (0, "alignment (%u) for %s exceeds maximum alignment " "for global common data. Using %u", align / BITS_PER_UNIT, name, max_common_align / BITS_PER_UNIT); align = max_common_align; diff --git a/gcc/config/rs6000/aix43.h b/gcc/config/rs6000/aix43.h index f5b6e17227f..12ac88b715b 100644 --- a/gcc/config/rs6000/aix43.h +++ b/gcc/config/rs6000/aix43.h @@ -46,12 +46,12 @@ do { \ if (TARGET_64BIT && (target_flags & NON_POWERPC_MASKS)) \ { \ target_flags &= ~NON_POWERPC_MASKS; \ - warning ("-maix64 and POWER architecture are incompatible"); \ + warning (0, "-maix64 and POWER architecture are incompatible"); \ } \ if (TARGET_64BIT && ! TARGET_POWERPC64) \ { \ target_flags |= MASK_POWERPC64; \ - warning ("-maix64 requires PowerPC64 architecture remain enabled"); \ + warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \ } \ if (TARGET_POWERPC64 && ! TARGET_64BIT) \ { \ diff --git a/gcc/config/rs6000/aix51.h b/gcc/config/rs6000/aix51.h index 033431be7c3..6b1319691b6 100644 --- a/gcc/config/rs6000/aix51.h +++ b/gcc/config/rs6000/aix51.h @@ -45,12 +45,12 @@ do { \ if (TARGET_64BIT && (target_flags & NON_POWERPC_MASKS)) \ { \ target_flags &= ~NON_POWERPC_MASKS; \ - warning ("-maix64 and POWER architecture are incompatible"); \ + warning (0, "-maix64 and POWER architecture are incompatible"); \ } \ if (TARGET_64BIT && ! TARGET_POWERPC64) \ { \ target_flags |= MASK_POWERPC64; \ - warning ("-maix64 requires PowerPC64 architecture remain enabled"); \ + warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \ } \ if (TARGET_POWERPC64 && ! TARGET_64BIT) \ { \ diff --git a/gcc/config/rs6000/aix52.h b/gcc/config/rs6000/aix52.h index 29646f82bcd..3c1a2ad9077 100644 --- a/gcc/config/rs6000/aix52.h +++ b/gcc/config/rs6000/aix52.h @@ -45,12 +45,12 @@ do { \ if (TARGET_64BIT && (target_flags & NON_POWERPC_MASKS)) \ { \ target_flags &= ~NON_POWERPC_MASKS; \ - warning ("-maix64 and POWER architecture are incompatible"); \ + warning (0, "-maix64 and POWER architecture are incompatible"); \ } \ if (TARGET_64BIT && ! TARGET_POWERPC64) \ { \ target_flags |= MASK_POWERPC64; \ - warning ("-maix64 requires PowerPC64 architecture remain enabled"); \ + warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \ } \ if (TARGET_POWERPC64 && ! TARGET_64BIT) \ { \ diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h index 25f320a1c4a..46306746bba 100644 --- a/gcc/config/rs6000/darwin.h +++ b/gcc/config/rs6000/darwin.h @@ -86,20 +86,20 @@ do { \ if (MACHO_DYNAMIC_NO_PIC_P) \ { \ if (flag_pic) \ - warning ("-mdynamic-no-pic overrides -fpic or -fPIC"); \ + warning (0, "-mdynamic-no-pic overrides -fpic or -fPIC"); \ flag_pic = 0; \ } \ else if (flag_pic == 1) \ { \ /* Darwin doesn't support -fpic. */ \ - warning ("-fpic is not supported; -fPIC assumed"); \ + warning (0, "-fpic is not supported; -fPIC assumed"); \ flag_pic = 2; \ } \ } \ if (TARGET_64BIT && ! TARGET_POWERPC64) \ { \ target_flags |= MASK_POWERPC64; \ - warning ("-m64 requires PowerPC64 architecture, enabling"); \ + warning (0, "-m64 requires PowerPC64 architecture, enabling"); \ } \ } while(0) diff --git a/gcc/config/rs6000/rs6000-c.c b/gcc/config/rs6000/rs6000-c.c index 5d36d5d28b3..0ce8348a7ea 100644 --- a/gcc/config/rs6000/rs6000-c.c +++ b/gcc/config/rs6000/rs6000-c.c @@ -42,8 +42,8 @@ attribute by default. */ #define SYNTAX_ERROR(msgid) do { \ - warning (msgid); \ - warning ("ignoring malformed #pragma longcall"); \ + warning (0, msgid); \ + warning (0, "ignoring malformed #pragma longcall"); \ return; \ } while (0) @@ -66,7 +66,7 @@ rs6000_pragma_longcall (cpp_reader *pfile ATTRIBUTE_UNUSED) SYNTAX_ERROR ("number must be 0 or 1"); if (c_lex (&x) != CPP_EOF) - warning ("junk at end of #pragma longcall"); + warning (0, "junk at end of #pragma longcall"); rs6000_default_long_calls = (n == integer_one_node); } diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 90ffed037f6..c980d7dd17e 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -1251,14 +1251,14 @@ rs6000_override_options (const char *default_cpu) { target_flags &= ~MASK_MULTIPLE; 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"); } if (TARGET_STRING) { target_flags &= ~MASK_STRING; 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"); } } @@ -1647,12 +1647,12 @@ rs6000_parse_abi_options (void) else if (! strcmp (rs6000_abi_string, "d64")) { rs6000_darwin64_abi = 1; - warning ("Using darwin64 ABI"); + warning (0, "Using darwin64 ABI"); } else if (! strcmp (rs6000_abi_string, "d32")) { rs6000_darwin64_abi = 0; - warning ("Using old darwin ABI"); + warning (0, "Using old darwin ABI"); } else if (! strcmp (rs6000_abi_string, "no-spe")) @@ -1691,7 +1691,7 @@ rs6000_parse_alignment_option (void) useful for performance studies from time to time though, so don't disable it entirely. */ if (DEFAULT_ABI == ABI_DARWIN && TARGET_64BIT) - warning ("-malign-power is not supported for 64-bit Darwin;" + warning (0, "-malign-power is not supported for 64-bit Darwin;" " it is incompatible with the installed C and C++ libraries"); rs6000_alignment_flags = MASK_ALIGN_POWER; } @@ -3857,7 +3857,7 @@ rs6000_return_in_memory (tree type, tree fntype ATTRIBUTE_UNUSED) static bool warned_for_return_big_vectors = false; if (!warned_for_return_big_vectors) { - warning ("GCC vector returned by reference: " + warning (0, "GCC vector returned by reference: " "non-standard ABI extension with no compatibility guarantee"); warned_for_return_big_vectors = true; } @@ -5028,7 +5028,7 @@ rs6000_pass_by_reference (CUMULATIVE_ARGS *cum ATTRIBUTE_UNUSED, fprintf (stderr, "function_arg_pass_by_reference: synthetic vector\n"); if (!warned_for_pass_big_vectors) { - warning ("GCC vector passed by reference: " + warning (0, "GCC vector passed by reference: " "non-standard ABI extension with no compatibility guarantee"); warned_for_pass_big_vectors = true; } @@ -12408,7 +12408,7 @@ rs6000_emit_allocate_stack (HOST_WIDE_INT size, int copy_r12) if (INTVAL (todec) != -size) { - warning ("stack frame too large"); + warning (0, "stack frame too large"); emit_insn (gen_trap ()); return; } @@ -12445,7 +12445,7 @@ rs6000_emit_allocate_stack (HOST_WIDE_INT size, int copy_r12) const0_rtx)); } else - warning ("stack limit expression is not supported"); + warning (0, "stack limit expression is not supported"); } if (copy_r12 || ! TARGET_UPDATE) @@ -14927,7 +14927,7 @@ output_function_profiler (FILE *file, int labelno) save_lr = 4; if (!TARGET_32BIT) { - warning ("no profiling of 64-bit code for this ABI"); + warning (0, "no profiling of 64-bit code for this ABI"); return; } ASM_GENERATE_INTERNAL_LABEL (buf, "LP", labelno); @@ -16019,7 +16019,7 @@ rs6000_handle_altivec_attribute (tree *node, if (TARGET_64BIT) error ("use of %<long%> in AltiVec types is invalid for 64-bit code"); else if (rs6000_warn_altivec_long) - warning ("use of %<long%> in AltiVec types is deprecated; use %<int%>"); + warning (0, "use of %<long%> in AltiVec types is deprecated; use %<int%>"); } else if (type == long_long_unsigned_type_node || type == long_long_integer_type_node) @@ -16114,7 +16114,7 @@ rs6000_handle_longcall_attribute (tree *node, tree name, && TREE_CODE (*node) != FIELD_DECL && TREE_CODE (*node) != TYPE_DECL) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index dfa4ec46b36..7f8e361336b 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -6648,11 +6648,11 @@ s390_emit_prologue (void) if (s390_warn_framesize > 0 && cfun_frame_layout.frame_size >= s390_warn_framesize) - warning ("frame size of %qs is " HOST_WIDE_INT_PRINT_DEC " bytes", + warning (0, "frame size of %qs is " HOST_WIDE_INT_PRINT_DEC " bytes", current_function_name (), cfun_frame_layout.frame_size); if (s390_warn_dynamicstack_p && cfun->calls_alloca) - warning ("%qs uses dynamic stack allocation", current_function_name ()); + warning (0, "%qs uses dynamic stack allocation", current_function_name ()); /* Save incoming stack pointer into temp reg. */ if (TARGET_BACKCHAIN || next_fpr) diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 8991c8e6561..e5c1dedd139 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -7185,7 +7185,7 @@ sh_handle_interrupt_handler_attribute (tree *node, tree name, { if (TREE_CODE (*node) != FUNCTION_DECL) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -7206,21 +7206,21 @@ sh_handle_sp_switch_attribute (tree *node, tree name, tree args, { if (TREE_CODE (*node) != FUNCTION_DECL) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } else if (!pragma_interrupt) { /* The sp_switch attribute only has meaning for interrupt functions. */ - warning ("%qs attribute only applies to interrupt functions", + warning (0, "%qs attribute only applies to interrupt functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } else if (TREE_CODE (TREE_VALUE (args)) != STRING_CST) { /* The argument must be a constant string. */ - warning ("%qs attribute argument not a string constant", + warning (0, "%qs attribute argument not a string constant", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -7241,21 +7241,21 @@ sh_handle_trap_exit_attribute (tree *node, tree name, tree args, { if (TREE_CODE (*node) != FUNCTION_DECL) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } else if (!pragma_interrupt) { /* The trap_exit attribute only has meaning for interrupt functions. */ - warning ("%qs attribute only applies to interrupt functions", + warning (0, "%qs attribute only applies to interrupt functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } else if (TREE_CODE (TREE_VALUE (args)) != INTEGER_CST) { /* The argument must be a constant integer. */ - warning ("%qs attribute argument not an integer constant", + warning (0, "%qs attribute argument not an integer constant", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 8f9066fc6cc..e5ee36bd1a2 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -751,7 +751,7 @@ do { \ here we have a working libgcov, so just assume that we have. */\ if (profile_flag) \ { \ - warning ("Profiling is not supported on this target."); \ + warning (0, "Profiling is not supported on this target."); \ profile_flag = profile_arc_flag = 0; \ } \ } \ diff --git a/gcc/config/sh/symbian.c b/gcc/config/sh/symbian.c index cb04c8c8d76..a3a778dbf85 100644 --- a/gcc/config/sh/symbian.c +++ b/gcc/config/sh/symbian.c @@ -144,7 +144,7 @@ sh_symbian_dllimport_p (tree decl) { /* Don't warn about artificial methods. */ 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); return false; } @@ -155,7 +155,7 @@ sh_symbian_dllimport_p (tree decl) else if (TREE_CODE (decl) == FUNCTION_DECL && DECL_INLINE (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); return false; } @@ -329,7 +329,7 @@ sh_symbian_encode_section_info (tree decl, rtx rtl, int first) tree idp = get_identifier (oldname + strlen (DLL_IMPORT_PREFIX)); rtx newrtl = gen_rtx_SYMBOL_REF (Pmode, IDENTIFIER_POINTER (idp)); - 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), TREE_CODE (decl) == VAR_DECL ? "variable" : "function", decl, (DECL_INITIAL (decl) || !DECL_EXTERNAL (decl)) @@ -411,14 +411,14 @@ sh_symbian_handle_dll_attribute (tree *pnode, tree name, tree args, | (int) ATTR_FLAG_FUNCTION_NEXT | (int) ATTR_FLAG_ARRAY_NEXT)) { - warning ("%qs attribute ignored", attr); + warning (0, "%qs attribute ignored", attr); *no_add_attrs = true; return tree_cons (name, args, NULL_TREE); } if (TREE_CODE (node) != RECORD_TYPE && TREE_CODE (node) != UNION_TYPE) { - warning ("%qs attribute ignored", attr); + warning (0, "%qs attribute ignored", attr); *no_add_attrs = true; } diff --git a/gcc/config/sol2-c.c b/gcc/config/sol2-c.c index 784d20b2c7a..64297178151 100644 --- a/gcc/config/sol2-c.c +++ b/gcc/config/sol2-c.c @@ -91,7 +91,7 @@ solaris_pragma_align (cpp_reader *pfile ATTRIBUTE_UNUSED) if (c_lex (&x) != CPP_NUMBER || c_lex (&t) != CPP_OPEN_PAREN) { - warning ("malformed %<#pragma align%>, ignoring"); + warning (0, "malformed %<#pragma align%>, ignoring"); return; } @@ -100,14 +100,14 @@ solaris_pragma_align (cpp_reader *pfile ATTRIBUTE_UNUSED) || (low != 1 && low != 2 && low != 4 && low != 8 && low != 16 && low != 32 && low != 64 && low != 128)) { - warning ("invalid alignment for %<#pragma align%>, ignoring"); + warning (0, "invalid alignment for %<#pragma align%>, ignoring"); return; } ttype = c_lex (&t); if (ttype != CPP_NAME) { - warning ("malformed %<#pragma align%>, ignoring"); + warning (0, "malformed %<#pragma align%>, ignoring"); return; } @@ -115,7 +115,7 @@ solaris_pragma_align (cpp_reader *pfile ATTRIBUTE_UNUSED) { tree decl = identifier_global_value (t); if (decl && DECL_P (decl)) - warning ("%<#pragma align%> must appear before the declaration of " + warning (0, "%<#pragma align%> must appear before the declaration of " "%D, ignoring", decl); else solaris_pending_aligns = tree_cons (t, build_tree_list (NULL, x), @@ -127,19 +127,19 @@ solaris_pragma_align (cpp_reader *pfile ATTRIBUTE_UNUSED) ttype = c_lex (&t); if (ttype != CPP_NAME) { - warning ("malformed %<#pragma align%>"); + warning (0, "malformed %<#pragma align%>"); return; } } else if (ttype == CPP_CLOSE_PAREN) { if (c_lex (&t) != CPP_EOF) - warning ("junk at end of %<#pragma align%>"); + warning (0, "junk at end of %<#pragma align%>"); return; } else { - warning ("malformed %<#pragma align%>"); + warning (0, "malformed %<#pragma align%>"); return; } } @@ -155,14 +155,14 @@ solaris_pragma_init (cpp_reader *pfile ATTRIBUTE_UNUSED) if (c_lex (&t) != CPP_OPEN_PAREN) { - warning ("malformed %<#pragma init%>, ignoring"); + warning (0, "malformed %<#pragma init%>, ignoring"); return; } ttype = c_lex (&t); if (ttype != CPP_NAME) { - warning ("malformed %<#pragma init%>, ignoring"); + warning (0, "malformed %<#pragma init%>, ignoring"); return; } @@ -185,19 +185,19 @@ solaris_pragma_init (cpp_reader *pfile ATTRIBUTE_UNUSED) ttype = c_lex (&t); if (ttype != CPP_NAME) { - warning ("malformed %<#pragma init%>"); + warning (0, "malformed %<#pragma init%>"); return; } } else if (ttype == CPP_CLOSE_PAREN) { if (c_lex (&t) != CPP_EOF) - warning ("junk at end of %<#pragma init%>"); + warning (0, "junk at end of %<#pragma init%>"); return; } else { - warning ("malformed %<#pragma init%>"); + warning (0, "malformed %<#pragma init%>"); return; } } @@ -213,14 +213,14 @@ solaris_pragma_fini (cpp_reader *pfile ATTRIBUTE_UNUSED) if (c_lex (&t) != CPP_OPEN_PAREN) { - warning ("malformed %<#pragma fini%>, ignoring"); + warning (0, "malformed %<#pragma fini%>, ignoring"); return; } ttype = c_lex (&t); if (ttype != CPP_NAME) { - warning ("malformed %<#pragma fini%>, ignoring"); + warning (0, "malformed %<#pragma fini%>, ignoring"); return; } @@ -243,19 +243,19 @@ solaris_pragma_fini (cpp_reader *pfile ATTRIBUTE_UNUSED) ttype = c_lex (&t); if (ttype != CPP_NAME) { - warning ("malformed %<#pragma fini%>"); + warning (0, "malformed %<#pragma fini%>"); return; } } else if (ttype == CPP_CLOSE_PAREN) { if (c_lex (&t) != CPP_EOF) - warning ("junk at end of %<#pragma fini%>"); + warning (0, "junk at end of %<#pragma fini%>"); return; } else { - warning ("malformed %<#pragma fini%>"); + warning (0, "malformed %<#pragma fini%>"); return; } } diff --git a/gcc/config/sol2.c b/gcc/config/sol2.c index ae34584a961..914e77c3c59 100644 --- a/gcc/config/sol2.c +++ b/gcc/config/sol2.c @@ -51,7 +51,7 @@ solaris_insert_attributes (tree decl, tree *attributes) { if (lookup_attribute ("aligned", DECL_ATTRIBUTES (decl)) || lookup_attribute ("aligned", *attributes)) - warning ("%Jignoring %<#pragma align%> for explicitly " + warning (0, "%Jignoring %<#pragma align%> for explicitly " "aligned %<%D%>", decl, decl); else *attributes = tree_cons (get_identifier ("aligned"), value, diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c index f6c5b4327ef..38b36d54233 100644 --- a/gcc/config/stormy16/stormy16.c +++ b/gcc/config/stormy16/stormy16.c @@ -2293,7 +2293,7 @@ xstormy16_handle_interrupt_attribute (tree *node, tree name, { if (TREE_CODE (*node) != FUNCTION_TYPE) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } @@ -2314,14 +2314,14 @@ xstormy16_handle_below100_attribute (tree *node, && TREE_CODE (*node) != POINTER_TYPE && TREE_CODE (*node) != TYPE_DECL) { - warning ("%<__BELOW100__%> attribute only applies to variables"); + warning (0, "%<__BELOW100__%> attribute only applies to variables"); *no_add_attrs = true; } else if (args == NULL_TREE && TREE_CODE (*node) == VAR_DECL) { if (! (TREE_PUBLIC (*node) || TREE_STATIC (*node))) { - warning ("__BELOW100__ attribute not allowed with auto storage class."); + warning (0, "__BELOW100__ attribute not allowed with auto storage class."); *no_add_attrs = true; } } diff --git a/gcc/config/v850/v850-c.c b/gcc/config/v850/v850-c.c index 82c71deb8d9..3346fe3447c 100644 --- a/gcc/config/v850/v850-c.c +++ b/gcc/config/v850/v850-c.c @@ -64,9 +64,9 @@ static int 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 { data_area_stack_element * elem; @@ -91,7 +91,7 @@ mark_current_function_as_interrupt (void) if (current_function_decl == NULL_TREE) { - warning ("cannot set interrupt attribute: no current function"); + warning (0, "cannot set interrupt attribute: no current function"); return; } @@ -99,7 +99,7 @@ mark_current_function_as_interrupt (void) if (name == NULL_TREE || TREE_CODE (name) != IDENTIFIER_NODE) { - warning ("cannot set interrupt attribute: no such identifier"); + warning (0, "cannot set interrupt attribute: no such identifier"); return; } @@ -144,7 +144,7 @@ ghs_pragma_section (cpp_reader * pfile ATTRIBUTE_UNUSED) if (type == CPP_COMMA) repeat = 1; else if (type != CPP_EOF) - warning ("junk at end of #pragma ghs section"); + warning (0, "junk at end of #pragma ghs section"); if (streq (sect, "data")) kind = GHS_SECTION_KIND_DATA; else if (streq (sect, "text")) kind = GHS_SECTION_KIND_TEXT; @@ -161,7 +161,7 @@ ghs_pragma_section (cpp_reader * pfile ATTRIBUTE_UNUSED) else if (streq (sect, "zbss")) kind = GHS_SECTION_KIND_ZDATA; else { - warning ("unrecognized section name \"%s\"", sect); + warning (0, "unrecognized section name \"%s\"", sect); return; } @@ -176,7 +176,7 @@ ghs_pragma_section (cpp_reader * pfile ATTRIBUTE_UNUSED) return; bad: - warning ("malformed #pragma ghs section"); + warning (0, "malformed #pragma ghs section"); return; reset: @@ -195,7 +195,7 @@ ghs_pragma_interrupt (cpp_reader * pfile ATTRIBUTE_UNUSED) tree x; if (c_lex (&x) != CPP_EOF) - warning ("junk at end of #pragma ghs interrupt"); + warning (0, "junk at end of #pragma ghs interrupt"); mark_current_function_as_interrupt (); } @@ -206,7 +206,7 @@ ghs_pragma_starttda (cpp_reader * pfile ATTRIBUTE_UNUSED) tree x; if (c_lex (&x) != CPP_EOF) - warning ("junk at end of #pragma ghs starttda"); + warning (0, "junk at end of #pragma ghs starttda"); push_data_area (DATA_AREA_TDA); } @@ -217,7 +217,7 @@ ghs_pragma_startsda (cpp_reader * pfile ATTRIBUTE_UNUSED) tree x; if (c_lex (&x) != CPP_EOF) - warning ("junk at end of #pragma ghs startsda"); + warning (0, "junk at end of #pragma ghs startsda"); push_data_area (DATA_AREA_SDA); } @@ -228,7 +228,7 @@ ghs_pragma_startzda (cpp_reader * pfile ATTRIBUTE_UNUSED) tree x; if (c_lex (&x) != CPP_EOF) - warning ("junk at end of #pragma ghs startzda"); + warning (0, "junk at end of #pragma ghs startzda"); push_data_area (DATA_AREA_ZDA); } @@ -239,7 +239,7 @@ ghs_pragma_endtda (cpp_reader * pfile ATTRIBUTE_UNUSED) tree x; if (c_lex (&x) != CPP_EOF) - warning ("junk at end of #pragma ghs endtda"); + warning (0, "junk at end of #pragma ghs endtda"); pop_data_area (DATA_AREA_TDA); } @@ -250,7 +250,7 @@ ghs_pragma_endsda (cpp_reader * pfile ATTRIBUTE_UNUSED) tree x; if (c_lex (&x) != CPP_EOF) - warning ("junk at end of #pragma ghs endsda"); + warning (0, "junk at end of #pragma ghs endsda"); pop_data_area (DATA_AREA_SDA); } @@ -261,7 +261,7 @@ ghs_pragma_endzda (cpp_reader * pfile ATTRIBUTE_UNUSED) tree x; if (c_lex (&x) != CPP_EOF) - warning ("junk at end of #pragma ghs endzda"); + warning (0, "junk at end of #pragma ghs endzda"); pop_data_area (DATA_AREA_ZDA); } diff --git a/gcc/config/v850/v850.c b/gcc/config/v850/v850.c index 021588234c7..01c3722a569 100644 --- a/gcc/config/v850/v850.c +++ b/gcc/config/v850/v850.c @@ -2102,7 +2102,7 @@ v850_handle_interrupt_attribute (tree * node, { if (TREE_CODE (*node) != FUNCTION_DECL) { - warning ("%qs attribute only applies to functions", + warning (0, "%qs attribute only applies to functions", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c index 7d0ba485f65..4e8e518e0a8 100644 --- a/gcc/config/xtensa/xtensa.c +++ b/gcc/config/xtensa/xtensa.c @@ -2413,7 +2413,7 @@ xtensa_multibss_section_type_flags (tree decl, const char *name, int reloc) && DECL_INITIAL (decl) == NULL_TREE)) flags |= SECTION_BSS; /* @nobits */ else - warning ("only uninitialized variables can be placed in a " + warning (0, "only uninitialized variables can be placed in a " ".bss section"); } diff --git a/gcc/coverage.c b/gcc/coverage.c index fcab997456a..dc188792b63 100644 --- a/gcc/coverage.c +++ b/gcc/coverage.c @@ -180,7 +180,7 @@ read_counts_file (void) if (!gcov_magic (gcov_read_unsigned (), GCOV_DATA_MAGIC)) { - warning ("%qs is not a gcov data file", da_file_name); + warning (0, "%qs is not a gcov data file", da_file_name); gcov_close (); return; } @@ -191,7 +191,7 @@ read_counts_file (void) GCOV_UNSIGNED2STRING (v, tag); GCOV_UNSIGNED2STRING (e, GCOV_VERSION); - warning ("%qs is version %q.*s, expected version %q.*s", + warning (0, "%qs is version %q.*s, expected version %q.*s", da_file_name, 4, v, 4, e); gcov_close (); return; @@ -345,7 +345,7 @@ get_coverage_counts (unsigned counter, unsigned expected, entry = htab_find (counts_hash, &elt); if (!entry) { - warning ("no coverage for function %qs found.", IDENTIFIER_POINTER + warning (0, "no coverage for function %qs found.", IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (current_function_decl))); return 0; } @@ -581,7 +581,7 @@ coverage_end_function (void) if (bbg_file_opened > 1 && gcov_is_error ()) { - warning ("error writing %qs", bbg_file_name); + warning (0, "error writing %qs", bbg_file_name); bbg_file_opened = -1; } diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 14a787ba7e6..6f2baf65f1a 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,10 @@ +2005-04-23 DJ Delorie <dj@redhat.com> + + * call.c, class.c, cvt.c, decl.c, decl2.c, except.c, friend.c, + init.c, lex.c, mangle.c, method.c, name-lookup.c, parser.c, + repo.c, rtti.c, tree.c, typeck.c, typeck2.c: Adjust warning() + callers. + 2005-04-22 Per Bothner <per@bothner.com> * decl.c (make_rtl_for_nonlocal_decl): Don't try get_fileinfo if diff --git a/gcc/cp/call.c b/gcc/cp/call.c index 7dbb4d644f1..e40e61f0aae 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -3402,14 +3402,14 @@ build_conditional_expr (tree arg1, tree arg2, tree arg3) if (TREE_CODE (arg2_type) == ENUMERAL_TYPE && TREE_CODE (arg3_type) == ENUMERAL_TYPE) - warning ("enumeral mismatch in conditional expression: %qT vs %qT", + warning (0, "enumeral mismatch in conditional expression: %qT vs %qT", arg2_type, arg3_type); else if (extra_warnings && ((TREE_CODE (arg2_type) == ENUMERAL_TYPE && !same_type_p (arg3_type, type_promotes_to (arg2_type))) || (TREE_CODE (arg3_type) == ENUMERAL_TYPE && !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"); arg2 = perform_implicit_conversion (result_type, arg2); arg3 = perform_implicit_conversion (result_type, arg3); @@ -3776,7 +3776,7 @@ build_new_op (enum tree_code code, int flags, tree arg1, tree arg2, tree arg3, && (TYPE_MAIN_VARIANT (TREE_TYPE (arg1)) != TYPE_MAIN_VARIANT (TREE_TYPE (arg2)))) { - warning ("comparison between %q#T and %q#T", + warning (0, "comparison between %q#T and %q#T", TREE_TYPE (arg1), TREE_TYPE (arg2)); } break; @@ -4097,7 +4097,7 @@ build_temp (tree expr, tree type, int flags, build_tree_list (NULL_TREE, expr), type, flags); if (warningcount > savew) - *diagnostic_fn = warning; + *diagnostic_fn = warning0; else if (errorcount > savee) *diagnostic_fn = error; else @@ -4160,10 +4160,10 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum, if (ARITHMETIC_TYPE_P (t) && expr == null_node) { if (fn) - warning ("passing NULL to non-pointer argument %P of %qD", + warning (0, "passing NULL to non-pointer argument %P of %qD", argnum, fn); else - warning ("converting to non-pointer type %qT from NULL", t); + warning (0, "converting to non-pointer type %qT from NULL", t); } /* Warn about assigning a floating-point type to an integer type. */ @@ -4171,10 +4171,10 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum, && TREE_CODE (t) == INTEGER_TYPE) { if (fn) - warning ("passing %qT for argument %P to %qD", + warning (0, "passing %qT for argument %P to %qD", TREE_TYPE (expr), argnum, fn); else - warning ("converting to %qT from %qT", t, TREE_TYPE (expr)); + warning (0, "converting to %qT from %qT", t, TREE_TYPE (expr)); } /* And warn about assigning a negative value to an unsigned variable. */ @@ -4183,10 +4183,10 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum, if (TREE_CODE (expr) == INTEGER_CST && TREE_NEGATED_INT (expr)) { if (fn) - warning ("passing negative value %qE for argument %P to %qD", + warning (0, "passing negative value %qE for argument %P to %qD", expr, argnum, fn); else - warning ("converting negative value %qE to %qT", expr, t); + warning (0, "converting negative value %qE to %qT", expr, t); } overflow_warning (expr); @@ -4443,7 +4443,7 @@ convert_arg_to_ellipsis (tree arg) there is no need to emit a warning, since the expression won't be evaluated. We keep the builtin_trap just as a safety check. */ if (!skip_evaluation) - warning ("cannot pass objects of non-POD type %q#T through %<...%>; " + warning (0, "cannot pass objects of non-POD type %q#T through %<...%>; " "call will abort at runtime", TREE_TYPE (arg)); arg = call_builtin_trap (); arg = build2 (COMPOUND_EXPR, integer_type_node, arg, @@ -4469,7 +4469,7 @@ build_x_va_arg (tree expr, tree type) if (! pod_type_p (type)) { /* Undefined behavior [expr.call] 5.2.2/7. */ - warning ("cannot receive objects of non-POD type %q#T through %<...%>; " + warning (0, "cannot receive objects of non-POD type %q#T through %<...%>; " "call will abort at runtime", type); expr = convert (build_pointer_type (type), null_node); expr = build2 (COMPOUND_EXPR, TREE_TYPE (expr), @@ -5384,7 +5384,7 @@ build_new_method_call (tree instance, tree fns, tree args, || DECL_DESTRUCTOR_P (current_function_decl))) /* This is not an error, it is runtime undefined behavior. */ - warning ((DECL_CONSTRUCTOR_P (current_function_decl) ? + warning (0, (DECL_CONSTRUCTOR_P (current_function_decl) ? "abstract virtual %q#D called from constructor" : "abstract virtual %q#D called from destructor"), cand->fn); @@ -5997,9 +5997,9 @@ joust (struct z_candidate *cand1, struct z_candidate *cand2, bool warn) if (warn) { - warning ("passing %qT chooses %qT over %qT", + warning (0, "passing %qT chooses %qT over %qT", type, type1, type2); - warning (" in call to %qD", w->fn); + warning (0, " in call to %qD", w->fn); } else add_warning (w, l); @@ -6056,10 +6056,10 @@ joust (struct z_candidate *cand1, struct z_candidate *cand2, bool warn) tree source = source_type (w->convs[0]); if (! DECL_CONSTRUCTOR_P (w->fn)) source = TREE_TYPE (source); - warning ("choosing %qD over %qD", w->fn, l->fn); - warning (" for conversion from %qT to %qT", + warning (0, "choosing %qD over %qD", w->fn, l->fn); + warning (0, " for conversion from %qT to %qT", source, w->second_conv->type); - warning (" because conversion sequence for the argument is better"); + warning (0, " because conversion sequence for the argument is better"); } else add_warning (w, l); diff --git a/gcc/cp/class.c b/gcc/cp/class.c index 2f2bd231a5c..6423fbcf894 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -1234,7 +1234,7 @@ check_bases (tree t, here because the case of virtual functions but non-virtual dtor is handled in finish_struct_1. */ if (warn_ecpp && ! TYPE_POLYMORPHIC_P (basetype)) - warning ("base class %q#T has a non-virtual destructor", basetype); + warning (0, "base class %q#T has a non-virtual destructor", basetype); /* If the base class doesn't have copy constructors or assignment operators that take const references, then the @@ -1548,7 +1548,7 @@ maybe_warn_about_overly_private_class (tree t) } if (!has_nonprivate_method) { - warning ("all member functions in class %qT are private", t); + warning (0, "all member functions in class %qT are private", t); return; } } @@ -1559,7 +1559,7 @@ maybe_warn_about_overly_private_class (tree t) fn = CLASSTYPE_DESTRUCTORS (t); if (fn && TREE_PRIVATE (fn)) { - warning ("%q#T only defines a private destructor and has no friends", + warning (0, "%q#T only defines a private destructor and has no friends", t); return; } @@ -1599,7 +1599,7 @@ maybe_warn_about_overly_private_class (tree t) if (nonprivate_ctor == 0) { - warning ("%q#T only defines private constructors and has no friends", + warning (0, "%q#T only defines private constructors and has no friends", t); return; } @@ -3035,16 +3035,16 @@ check_field_decls (tree t, tree *access_decls, && TYPE_HAS_NONTRIVIAL_DESTRUCTOR (t) && !(TYPE_HAS_INIT_REF (t) && TYPE_HAS_ASSIGN_REF (t))) { - warning ("%q#T has pointer data members", t); + warning (0, "%q#T has pointer data members", t); if (! TYPE_HAS_INIT_REF (t)) { - 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); } @@ -3477,7 +3477,7 @@ layout_empty_base (tree binfo, tree eoc, splay_tree offsets) propagate_binfo_offsets (binfo, size_diffop (size_zero_node, BINFO_OFFSET (binfo))); else if (warn_abi) - warning ("offset of empty base %qT may not be ABI-compliant and may" + warning (0, "offset of empty base %qT may not be ABI-compliant and may" "change in a future version of GCC", BINFO_TYPE (binfo)); } @@ -3589,7 +3589,7 @@ build_base_field (record_layout_info rli, tree binfo, if (abi_version_at_least (2)) CLASSTYPE_NEARLY_EMPTY_P (t) = 0; else if (warn_abi) - warning ("class %qT will be considered nearly empty in a " + warning (0, "class %qT will be considered nearly empty in a " "future version of GCC", t); } } @@ -4334,7 +4334,7 @@ layout_virtual_bases (record_layout_info rli, splay_tree offsets) CLASSTYPE_ALIGN (basetype)), bitsize_unit_node), BINFO_OFFSET (vbase)))) - warning ("offset of virtual base %qT is not ABI-compliant and " + warning (0, "offset of virtual base %qT is not ABI-compliant and " "may change in a future version of GCC", basetype); @@ -4433,7 +4433,7 @@ warn_about_ambiguous_bases (tree t) basetype = BINFO_TYPE (base_binfo); if (!lookup_base (t, basetype, ba_unique | ba_quiet, NULL)) - warning ("direct base %qT inaccessible in %qT due to ambiguity", + warning (0, "direct base %qT inaccessible in %qT due to ambiguity", basetype, t); } @@ -4445,7 +4445,7 @@ warn_about_ambiguous_bases (tree t) basetype = BINFO_TYPE (binfo); if (!lookup_base (t, basetype, ba_unique | ba_quiet, NULL)) - warning ("virtual base %qT inaccessible in %qT due to ambiguity", + warning (0, "virtual base %qT inaccessible in %qT due to ambiguity", basetype, t); } } @@ -4622,7 +4622,7 @@ layout_class_type (tree t, tree *virtuals_p) else { if (warn_abi && TREE_CODE (t) == UNION_TYPE) - warning ("size assigned to %qT may not be " + warning (0, "size assigned to %qT may not be " "ABI-compliant and may change in a future " "version of GCC", t); @@ -4661,7 +4661,7 @@ layout_class_type (tree t, tree *virtuals_p) && DECL_MODE (field) != TYPE_MODE (type)) /* Versions of G++ before G++ 3.4 did not reset the DECL_MODE. */ - warning ("the offset of %qD may not be ABI-compliant and may " + warning (0, "the offset of %qD may not be ABI-compliant and may " "change in a future version of GCC", field); } else @@ -4754,7 +4754,7 @@ layout_class_type (tree t, tree *virtuals_p) TYPE_SIZE (base_t) = bitsize_zero_node; TYPE_SIZE_UNIT (base_t) = size_zero_node; if (warn_abi && !integer_zerop (rli_size_unit_so_far (rli))) - warning ("layout of classes derived from empty class %qT " + warning (0, "layout of classes derived from empty class %qT " "may change in a future version of GCC", t); } @@ -5045,7 +5045,7 @@ finish_struct_1 (tree t) && (!TREE_PRIVATE (dtor) || CLASSTYPE_FRIEND_CLASSES (t) || DECL_FRIENDLIST (TYPE_MAIN_DECL (t))))) - warning ("%q#T has virtual functions but non-virtual destructor", + warning (0, "%q#T has virtual functions but non-virtual destructor", t); } diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c index 32dc96d10c6..5150fcf5548 100644 --- a/gcc/cp/cvt.c +++ b/gcc/cp/cvt.c @@ -194,7 +194,7 @@ cp_convert_to_pointer (tree type, tree expr, bool force) if (bk == bk_via_virtual) { if (force) - warning ("pointer to member cast from %qT to %qT is via" + warning (0, "pointer to member cast from %qT to %qT is via" " virtual base", intype, type); else { @@ -512,7 +512,7 @@ convert_to_reference (tree reftype, tree expr, int convtype, if (TREE_CODE (intype) == POINTER_TYPE && (comptypes (TREE_TYPE (intype), type, COMPARE_BASE | COMPARE_DERIVED))) - warning ("casting %qT to %qT does not dereference pointer", + warning (0, "casting %qT to %qT does not dereference pointer", intype, reftype); rval = build_unary_op (ADDR_EXPR, expr, 0); @@ -854,10 +854,10 @@ convert_to_void (tree expr, const char *implicit) int is_complete = COMPLETE_TYPE_P (complete_type (type)); if (is_volatile && !is_complete) - warning ("object of incomplete type %qT will not be accessed in %s", + warning (0, "object of incomplete type %qT will not be accessed in %s", type, implicit ? implicit : "void context"); else if (is_reference && is_volatile) - warning ("object of type %qT will not be accessed in %s", + warning (0, "object of type %qT will not be accessed in %s", TREE_TYPE (TREE_OPERAND (expr, 0)), implicit ? implicit : "void context"); if (is_reference || !is_volatile || !is_complete) @@ -873,7 +873,7 @@ convert_to_void (tree expr, const char *implicit) int is_complete = COMPLETE_TYPE_P (complete_type (type)); if (TYPE_VOLATILE (type) && !is_complete) - warning ("object %qE of incomplete type %qT will not be accessed in %s", + warning (0, "object %qE of incomplete type %qT will not be accessed in %s", expr, type, implicit ? implicit : "void context"); break; } @@ -895,7 +895,7 @@ convert_to_void (tree expr, const char *implicit) } else if (implicit && probe == expr && is_overloaded_fn (probe)) /* Only warn when there is no &. */ - warning ("%s is a reference, not call, to function %qE", + warning (0, "%s is a reference, not call, to function %qE", implicit, expr); } @@ -906,7 +906,7 @@ convert_to_void (tree expr, const char *implicit) /* The middle end does not warn about expressions that have been explicitly cast to void, so we must do so here. */ if (!TREE_SIDE_EFFECTS (expr)) - warning ("%s has no effect", implicit); + warning (0, "%s has no effect", implicit); else { tree e; @@ -938,7 +938,7 @@ convert_to_void (tree expr, const char *implicit) || code == PREINCREMENT_EXPR || code == POSTDECREMENT_EXPR || code == POSTINCREMENT_EXPR))) - warning ("value computed is not used"); + warning (0, "value computed is not used"); } } expr = build1 (CONVERT_EXPR, void_type_node, expr); @@ -1046,7 +1046,7 @@ build_expr_type_conversion (int desires, tree expr, bool complain) if (expr == null_node && (desires & WANT_INT) && !(desires & WANT_NULL)) - warning ("converting NULL to non-pointer type"); + warning (0, "converting NULL to non-pointer type"); basetype = TREE_TYPE (expr); diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 5d52a2600f5..60b478ee3df 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -565,7 +565,7 @@ poplevel (int keep, int reverse, int functionbody) && ! TREE_USED (decl) && ! DECL_IN_SYSTEM_HEADER (decl) && DECL_NAME (decl) && ! DECL_ARTIFICIAL (decl)) - warning ("%Junused variable %qD", decl, decl); + warning (0, "%Junused variable %qD", decl, decl); /* Remove declarations for all the DECLs in this level. */ for (link = decls; link; link = TREE_CHAIN (link)) @@ -1055,17 +1055,17 @@ duplicate_decls (tree newdecl, tree olddecl) && DECL_UNINLINABLE (olddecl) && lookup_attribute ("noinline", DECL_ATTRIBUTES (olddecl))) { - warning ("%Jfunction %qD redeclared as inline", newdecl, newdecl); - warning ("%Jprevious declaration of %qD with attribute noinline", + warning (0, "%Jfunction %qD redeclared as inline", newdecl, newdecl); + warning (0, "%Jprevious declaration of %qD with attribute noinline", olddecl, olddecl); } else if (DECL_DECLARED_INLINE_P (olddecl) && DECL_UNINLINABLE (newdecl) && lookup_attribute ("noinline", DECL_ATTRIBUTES (newdecl))) { - warning ("%Jfunction %qD redeclared with attribute noinline", + warning (0, "%Jfunction %qD redeclared with attribute noinline", newdecl, newdecl); - warning ("%Jprevious declaration of %qD was inline", + warning (0, "%Jprevious declaration of %qD was inline", olddecl, olddecl); } } @@ -1086,7 +1086,7 @@ duplicate_decls (tree newdecl, tree olddecl) if (! TREE_PUBLIC (newdecl)) { if (warn_shadow) - warning ("shadowing %s function %q#D", + warning (0, "shadowing %s function %q#D", DECL_BUILT_IN (olddecl) ? "built-in" : "library", olddecl); /* Discard the old built-in function. */ @@ -1095,7 +1095,7 @@ duplicate_decls (tree newdecl, tree olddecl) /* If the built-in is not ansi, then programs can override it even globally without an error. */ else if (! DECL_BUILT_IN (olddecl)) - warning ("library function %q#D redeclared as non-function %q#D", + warning (0, "library function %q#D redeclared as non-function %q#D", olddecl, newdecl); else { @@ -1152,12 +1152,12 @@ duplicate_decls (tree newdecl, tree olddecl) if (TREE_PUBLIC (newdecl)) { - warning ("new declaration %q#D", newdecl); - warning ("ambiguates built-in declaration %q#D", + warning (0, "new declaration %q#D", newdecl); + warning (0, "ambiguates built-in declaration %q#D", olddecl); } else if (warn_shadow) - warning ("shadowing %s function %q#D", + warning (0, "shadowing %s function %q#D", DECL_BUILT_IN (olddecl) ? "built-in" : "library", olddecl); } @@ -1363,7 +1363,7 @@ duplicate_decls (tree newdecl, tree olddecl) { /* Prototype decl follows defn w/o prototype. */ cp_warning_at ("prototype for %q#D", newdecl); - warning ("%Jfollows non-prototype definition here", olddecl); + warning (0, "%Jfollows non-prototype definition here", olddecl); } else if (TREE_CODE (olddecl) == FUNCTION_DECL && DECL_LANGUAGE (newdecl) != DECL_LANGUAGE (olddecl)) @@ -1418,8 +1418,8 @@ duplicate_decls (tree newdecl, tree olddecl) && ! DECL_DECLARED_INLINE_P (olddecl) && TREE_ADDRESSABLE (olddecl) && warn_inline) { - warning ("%q#D was used before it was declared inline", newdecl); - warning ("%Jprevious non-inline declaration here", olddecl); + warning (0, "%q#D was used before it was declared inline", newdecl); + warning (0, "%Jprevious non-inline declaration here", olddecl); } } } @@ -1471,7 +1471,7 @@ duplicate_decls (tree newdecl, tree olddecl) /* Don't warn about friends, let add_friend take care of it. */ && ! (DECL_FRIEND_P (newdecl) || DECL_FRIEND_P (olddecl))) { - warning ("redundant redeclaration of %qD in same scope", newdecl); + warning (0, "redundant redeclaration of %qD in same scope", newdecl); cp_warning_at ("previous declaration of %qD", olddecl); } } @@ -1806,9 +1806,9 @@ duplicate_decls (tree newdecl, tree olddecl) && DECL_VISIBILITY_SPECIFIED (newdecl) && DECL_VISIBILITY (newdecl) != DECL_VISIBILITY (olddecl)) { - warning ("%J%qD: visibility attribute ignored because it", + warning (0, "%J%qD: visibility attribute ignored because it", newdecl, newdecl); - warning ("%Jconflicts with previous declaration here", olddecl); + warning (0, "%Jconflicts with previous declaration here", olddecl); } /* Choose the declaration which specified visibility. */ if (DECL_VISIBILITY_SPECIFIED (olddecl)) @@ -3645,7 +3645,7 @@ start_decl (const cp_declarator *declarator, { if (! toplevel_bindings_p () && DECL_EXTERNAL (decl)) - warning ("declaration of %q#D has %<extern%> and is initialized", + warning (0, "declaration of %q#D has %<extern%> and is initialized", decl); DECL_EXTERNAL (decl) = 0; if (toplevel_bindings_p ()) @@ -3667,7 +3667,7 @@ start_decl (const cp_declarator *declarator, && DECL_DECLARED_INLINE_P (decl) && DECL_UNINLINABLE (decl) && lookup_attribute ("noinline", DECL_ATTRIBUTES (decl))) - warning ("%Jinline function %qD given attribute noinline", decl, decl); + warning (0, "%Jinline function %qD given attribute noinline", decl, decl); if (context && COMPLETE_TYPE_P (complete_type (context))) { @@ -4052,7 +4052,7 @@ maybe_commonize_var (tree decl) cp_warning_at ("sorry: semantics of inline function static " "data %q#D are wrong (you'll wind up " "with multiple copies)", decl); - warning ("%J you can work around this by removing " + warning (0, "%J you can work around this by removing " "the initializer", decl); } @@ -4366,7 +4366,7 @@ reshape_init (tree type, tree *initp) if (brace_enclosed_p) error ("too many initializers for %qT", type); else if (warn_missing_braces && !string_init_p) - warning ("missing braces around initializer"); + warning (0, "missing braces around initializer"); } return new_init; @@ -4506,7 +4506,7 @@ check_initializer (tree decl, tree init, int flags, tree *cleanup) && DECL_INITIAL (decl) && TREE_CODE (DECL_INITIAL (decl)) == STRING_CST && PAREN_STRING_LITERAL_P (DECL_INITIAL (decl))) - warning ("array %qD initialized by parenthesized string literal %qE", + warning (0, "array %qD initialized by parenthesized string literal %qE", decl, DECL_INITIAL (decl)); init = NULL; } @@ -4783,7 +4783,7 @@ cp_finish_decl (tree decl, tree init, tree asmspec_tree, int flags) && IS_AGGR_TYPE (type) && DECL_NAME (decl)) { if (TREE_TYPE (DECL_NAME (decl)) && TREE_TYPE (decl) != type) - warning ("shadowing previous type declaration of %q#D", decl); + warning (0, "shadowing previous type declaration of %q#D", decl); set_identifier_type_value (DECL_NAME (decl), decl); } @@ -5885,7 +5885,7 @@ grokvardecl (tree type, no linkage can only be used to declare extern "C" entities. Since it's not always an error in the ISO C++ 90 Standard, we only issue a warning. */ - warning ("non-local variable %q#D uses anonymous type", + warning (0, "non-local variable %q#D uses anonymous type", decl); if (DECL_ORIGINAL_TYPE (TYPE_NAME (t))) cp_warning_at ("%q#D does not refer to the unqualified " @@ -5894,7 +5894,7 @@ grokvardecl (tree type, } } else - warning ("non-local variable %q#D uses local type %qT", decl, t); + warning (0, "non-local variable %q#D uses local type %qT", decl, t); } } else @@ -6728,7 +6728,7 @@ grokdeclarator (const cp_declarator *declarator, else if (pedantic || ! is_main) pedwarn ("ISO C++ forbids declaration of %qs with no type", name); else if (warn_return_type) - warning ("ISO C++ forbids declaration of %qs with no type", name); + warning (0, "ISO C++ forbids declaration of %qs with no type", name); type = integer_type_node; } @@ -7013,7 +7013,7 @@ grokdeclarator (const cp_declarator *declarator, /* It's common practice (and completely valid) to have a const be initialized and declared extern. */ if (!(type_quals & TYPE_QUAL_CONST)) - warning ("%qs initialized and declared %<extern%>", name); + warning (0, "%qs initialized and declared %<extern%>", name); } else error ("%qs has both %<extern%> and initializer", name); @@ -7953,7 +7953,7 @@ grokdeclarator (const cp_declarator *declarator, { /* Friends are treated specially. */ 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)) { if (template_class_depth (current_class_type) == 0) @@ -8777,7 +8777,7 @@ grok_op_properties (tree decl, int friendp, bool complain) what = "a base class"; if (what && warn_conversion) - warning ("conversion to %s%s will never use a type " + warning (0, "conversion to %s%s will never use a type " "conversion operator", ref ? "a reference to " : "", what); } @@ -8869,13 +8869,13 @@ grok_op_properties (tree decl, int friendp, bool complain) if (TREE_CODE (ret) != REFERENCE_TYPE || !same_type_p (TYPE_MAIN_VARIANT (TREE_TYPE (ret)), arg)) - warning ("prefix %qD should return %qT", decl, + warning (0, "prefix %qD should return %qT", decl, build_reference_type (arg)); } else { if (!same_type_p (TYPE_MAIN_VARIANT (ret), arg)) - warning ("postfix %qD should return %qT", decl, arg); + warning (0, "postfix %qD should return %qT", decl, arg); } } } @@ -8904,7 +8904,7 @@ grok_op_properties (tree decl, int friendp, bool complain) && (operator_code == TRUTH_ANDIF_EXPR || operator_code == TRUTH_ORIF_EXPR || operator_code == COMPOUND_EXPR)) - warning ("user-defined %qD always evaluates both arguments", + warning (0, "user-defined %qD always evaluates both arguments", decl); } @@ -8918,7 +8918,7 @@ grok_op_properties (tree decl, int friendp, bool complain) || operator_code == MULT_EXPR || operator_code == TRUNC_MOD_EXPR) && TREE_CODE (TREE_TYPE (TREE_TYPE (decl))) == REFERENCE_TYPE) - warning ("%qD should return by value", decl); + warning (0, "%qD should return by value", decl); /* [over.oper]/8 */ for (; argtypes && argtypes != void_list_node; @@ -9906,7 +9906,7 @@ start_preparsed_function (tree decl1, tree attrs, int flags) if (DECL_DECLARED_INLINE_P (decl1) && lookup_attribute ("noinline", attrs)) - warning ("%Jinline function %qD given attribute noinline", decl1, decl1); + warning (0, "%Jinline function %qD given attribute noinline", decl1, decl1); if (DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P (decl1)) /* This is a constructor, we must ensure that any default args @@ -9943,7 +9943,7 @@ start_preparsed_function (tree decl1, tree attrs, int flags) if (warn_ecpp && DECL_OVERLOADED_OPERATOR_P (decl1) == NOP_EXPR && TREE_CODE (TREE_TYPE (fntype)) == VOID_TYPE) - warning ("%<operator=%> should return a reference to %<*this%>"); + warning (0, "%<operator=%> should return a reference to %<*this%>"); /* Make the init_value nonzero so pushdecl knows this is not tentative. error_mark_node is replaced below (in poplevel) with the BLOCK. */ @@ -10676,7 +10676,7 @@ finish_function (int flags) /* Structor return values (if any) are set by the compiler. */ && !DECL_CONSTRUCTOR_P (fndecl) && !DECL_DESTRUCTOR_P (fndecl)) - warning ("no return statement in function returning non-void"); + warning (0, "no return statement in function returning non-void"); /* Store the end of the function, so that we get good line number info for the epilogue. */ diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 6cc68e249fe..530ba391f57 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -420,7 +420,7 @@ delete_sanity (tree exp, tree size, bool doing_vec, int use_global_delete) /* An array can't have been allocated by new, so complain. */ if (TREE_CODE (exp) == VAR_DECL && TREE_CODE (TREE_TYPE (exp)) == ARRAY_TYPE) - warning ("deleting array %q#D", exp); + warning (0, "deleting array %q#D", exp); t = build_expr_type_conversion (WANT_POINTER, exp, true); @@ -446,7 +446,7 @@ delete_sanity (tree exp, tree size, bool doing_vec, int use_global_delete) /* Deleting ptr to void is undefined behavior [expr.delete/3]. */ if (TREE_CODE (TREE_TYPE (type)) == VOID_TYPE) { - warning ("deleting %qT is undefined", type); + warning (0, "deleting %qT is undefined", type); doing_vec = 0; } @@ -1168,7 +1168,7 @@ finish_anon_union (tree anon_union_decl) main_decl = build_anon_union_vars (type, anon_union_decl); if (main_decl == NULL_TREE) { - warning ("anonymous union with no members"); + warning (0, "anonymous union with no members"); return; } diff --git a/gcc/cp/except.c b/gcc/cp/except.c index ef4fb2193b5..60db762924e 100644 --- a/gcc/cp/except.c +++ b/gcc/cp/except.c @@ -599,7 +599,7 @@ 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"); if (exp != NULL_TREE) { @@ -918,9 +918,9 @@ check_handlers_1 (tree master, tree_stmt_iterator i) tree handler = tsi_stmt (i); if (TREE_TYPE (handler) && can_convert_eh (type, TREE_TYPE (handler))) { - warning ("%Hexception of type %qT will be caught", + warning (0, "%Hexception of type %qT will be caught", EXPR_LOCUS (handler), TREE_TYPE (handler)); - warning ("%H by earlier handler for %qT", + warning (0, "%H by earlier handler for %qT", EXPR_LOCUS (master), type); break; } diff --git a/gcc/cp/friend.c b/gcc/cp/friend.c index 8203dbb3b6f..213f8d72920 100644 --- a/gcc/cp/friend.c +++ b/gcc/cp/friend.c @@ -149,7 +149,7 @@ add_friend (tree type, tree decl, bool complain) if (decl == TREE_VALUE (friends)) { if (complain) - warning ("%qD is already a friend of class %qT", + warning (0, "%qD is already a friend of class %qT", decl, type); return; } @@ -361,7 +361,7 @@ make_friend_class (tree type, tree friend_type, bool complain) if (friend_type == probe) { if (complain) - warning ("%qD is already a friend of %qT", probe, type); + warning (0, "%qD is already a friend of %qT", probe, type); break; } } @@ -370,7 +370,7 @@ make_friend_class (tree type, tree friend_type, bool complain) if (same_type_p (probe, friend_type)) { if (complain) - warning ("%qT is already a friend of %qT", probe, type); + warning (0, "%qT is already a friend of %qT", probe, type); break; } } @@ -550,11 +550,11 @@ do_friend (tree ctype, tree declarator, tree decl, if (warn) { static int explained; - warning ("friend declaration %q#D declares a non-template " + warning (0, "friend declaration %q#D declares a non-template " "function", decl); if (! explained) { - warning ("(if this is not what you intended, make sure " + 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"); diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 0abf1b25874..99891cb2922 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -323,7 +323,7 @@ perform_member_init (tree member, tree init) /* Effective C++ rule 12 requires that all data members be initialized. */ if (warn_ecpp && !explicit && TREE_CODE (type) != ARRAY_TYPE) - warning ("%J%qD should be initialized in the member initialization " + warning (0, "%J%qD should be initialized in the member initialization " "list", current_function_decl, member); if (init == void_type_node) @@ -370,7 +370,7 @@ perform_member_init (tree member, tree init) { init = build_default_init (type, /*nelts=*/NULL_TREE); if (TREE_CODE (type) == REFERENCE_TYPE) - warning ("%Jdefault-initialization of %q#D, " + warning (0, "%Jdefault-initialization of %q#D, " "which has reference type", current_function_decl, member); } @@ -525,13 +525,13 @@ sort_mem_initializers (tree t, tree mem_inits) cp_warning_at ("%qD will be initialized after", TREE_PURPOSE (next_subobject)); else - warning ("base %qT will be initialized after", + warning (0, "base %qT will be initialized after", TREE_PURPOSE (next_subobject)); if (TREE_CODE (subobject) == FIELD_DECL) cp_warning_at (" %q#D", subobject); else - warning (" base %qT", subobject); - warning ("%J when initialized here", current_function_decl); + warning (0, " base %qT", subobject); + warning (0, "%J when initialized here", current_function_decl); } /* Look again, from the beginning of the list. */ @@ -679,7 +679,7 @@ emit_mem_initializers (tree mem_inits) if (extra_warnings && !arguments && DECL_COPY_CONSTRUCTOR_P (current_function_decl) && TYPE_NEEDS_CONSTRUCTING (BINFO_TYPE (subobject))) - warning ("%Jbase class %q#T should be explicitly initialized in the " + warning (0, "%Jbase class %q#T should be explicitly initialized in the " "copy constructor", current_function_decl, BINFO_TYPE (subobject)); @@ -1645,7 +1645,7 @@ build_new (tree placement, tree type, tree nelts, tree init, pedwarn ("size in array new must have integral type"); nelts = save_expr (cp_convert (sizetype, nelts)); if (nelts == integer_zero_node) - warning ("zero size array reserves no space"); + warning (0, "zero size array reserves no space"); } /* ``A reference cannot be created by the new operator. A reference @@ -2735,7 +2735,7 @@ build_delete (tree type, tree addr, special_function_kind auto_delete, complete_type (type); if (!COMPLETE_TYPE_P (type)) { - warning ("possible problem detected in invocation of " + warning (0, "possible problem detected in invocation of " "delete operator:"); cxx_incomplete_type_diagnostic (addr, type, 1); inform ("neither the destructor nor the class-specific " diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c index 6074fef9ea1..9e39241d6e2 100644 --- a/gcc/cp/lex.c +++ b/gcc/cp/lex.c @@ -433,7 +433,7 @@ parse_strconst_pragma (const char* name, int opt) { result = x; 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; } @@ -527,7 +527,7 @@ handle_pragma_implementation (cpp_reader* dfile ATTRIBUTE_UNUSED ) cookie (if any) of the filename, but this requires completing the --enable-mapped-location project first. See PR 17577. */ if (cpp_included (parse_in, filename)) - warning ("#pragma implementation for %qs appears after " + warning (0, "#pragma implementation for %qs appears after " "file is included", filename); #endif } @@ -552,7 +552,7 @@ handle_pragma_java_exceptions (cpp_reader* dfile ATTRIBUTE_UNUSED ) { tree x; 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"); choose_personality_routine (lang_java); } diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c index 0f358cd98e5..fc6c4243a82 100644 --- a/gcc/cp/mangle.c +++ b/gcc/cp/mangle.c @@ -2479,7 +2479,7 @@ static inline const char * finish_mangling (const bool warn) { if (warn_abi && warn && G.need_abi_warning) - warning ("the mangled name of %qD will change in a future " + warning (0, "the mangled name of %qD will change in a future " "version of GCC", G.entity); diff --git a/gcc/cp/method.c b/gcc/cp/method.c index 7e4e9566380..2bce7f8c4fb 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -1096,7 +1096,7 @@ lazily_declare_fn (special_function_kind sfk, tree type) TYPE_METHODS list, which cause the destructor to be emitted in an incorrect location in the vtable. */ if (warn_abi && DECL_VIRTUAL_P (fn)) - warning ("vtable layout for class %qT may not be ABI-compliant" + warning (0, "vtable layout for class %qT may not be ABI-compliant" "and may change in a future version of GCC due to " "implicit virtual destructor", type); diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c index ce1d5b3b119..634645d7fa4 100644 --- a/gcc/cp/name-lookup.c +++ b/gcc/cp/name-lookup.c @@ -894,7 +894,7 @@ pushdecl (tree x) /* OK */; else { - warning ("extern declaration of %q#D doesn't match", x); + warning (0, "extern declaration of %q#D doesn't match", x); cp_warning_at ("global declaration %q#D", oldglobal); } } @@ -938,8 +938,8 @@ pushdecl (tree x) if (warn_shadow && !err) { - warning ("declaration of %q#D shadows a parameter", x); - warning ("%Jshadowed declaration is here", oldlocal); + warning (0, "declaration of %q#D shadows a parameter", x); + warning (0, "%Jshadowed declaration is here", oldlocal); } } @@ -963,22 +963,22 @@ pushdecl (tree x) if (member && !TREE_STATIC (member)) { /* Location of previous decl is not useful in this case. */ - warning ("declaration of %qD shadows a member of 'this'", + warning (0, "declaration of %qD shadows a member of 'this'", x); } else if (oldlocal != NULL_TREE && TREE_CODE (oldlocal) == VAR_DECL) { - warning ("declaration of %qD shadows a previous local", x); - warning ("%Jshadowed declaration is here", oldlocal); + warning (0, "declaration of %qD shadows a previous local", x); + warning (0, "%Jshadowed declaration is here", oldlocal); } else if (oldglobal != NULL_TREE && TREE_CODE (oldglobal) == VAR_DECL) /* XXX shadow warnings in outer-more namespaces */ { - warning ("declaration of %qD shadows a global declaration", + warning (0, "declaration of %qD shadows a global declaration", x); - warning ("%Jshadowed declaration is here", oldglobal); + warning (0, "%Jshadowed declaration is here", oldglobal); } } } @@ -1092,7 +1092,7 @@ check_for_out_of_scope_variable (tree decl) { if (!DECL_ERROR_REPORTED (decl)) { - warning ("name lookup of %qD changed", DECL_NAME (decl)); + warning (0, "name lookup of %qD changed", DECL_NAME (decl)); cp_warning_at (" matches this %qD under ISO standard rules", shadowed); cp_warning_at (" matches this %qD under old rules", decl); @@ -1861,7 +1861,7 @@ push_overloaded_decl (tree decl, int flags) if (IS_AGGR_TYPE (t) && warn_shadow && (! DECL_IN_SYSTEM_HEADER (decl) || ! DECL_IN_SYSTEM_HEADER (old))) - warning ("%q#D hides constructor for %q#T", decl, t); + warning (0, "%q#D hides constructor for %q#T", decl, t); old = NULL_TREE; } else if (is_overloaded_fn (old)) @@ -3207,7 +3207,7 @@ parse_using_directive (tree namespace, tree attribs) DECL_NAMESPACE_ASSOCIATIONS (namespace)); } else - warning ("%qD attribute directive ignored", name); + warning (0, "%qD attribute directive ignored", name); } } diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index cb09fa1995f..56ff04928d4 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -1798,7 +1798,7 @@ static inline void cp_parser_warn_min_max (void) { if (warn_deprecated && !in_system_header) - warning ("minimum/maximum operators are deprecated"); + warning (0, "minimum/maximum operators are deprecated"); } /* If not parsing tentatively, issue a diagnostic of the form @@ -5297,7 +5297,7 @@ cp_parser_cast_expression (cp_parser *parser, bool address_p, bool cast_p) && !in_system_header && !VOID_TYPE_P (type) && current_lang_name != lang_name_c) - warning ("use of old-style cast"); + warning (0, "use of old-style cast"); /* Only type conversions to integral or enumeration types can be used in constant-expressions. */ @@ -8128,7 +8128,7 @@ cp_parser_template_declaration (cp_parser* parser, bool member_p) /* Consume the `export' token. */ cp_lexer_consume_token (parser->lexer); /* 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"); } cp_parser_template_declaration_after_export (parser, member_p); @@ -9914,7 +9914,7 @@ cp_parser_elaborated_type_specifier (cp_parser* parser, /* Warn about attributes. They are ignored. */ if (attributes) - warning ("type attributes are honored only at type definition"); + warning (0, "type attributes are honored only at type definition"); type = xref_tag (tag_type, identifier, ts, parser->num_template_parameter_lists); @@ -10759,7 +10759,7 @@ cp_parser_init_declarator (cp_parser* parser, attributes -- but ignores them. */ if (cp_parser_allow_gnu_extensions_p (parser) && is_parenthesized_init) if (cp_parser_attributes_opt (parser)) - warning ("attributes after parenthesized initializer ignored"); + warning (0, "attributes after parenthesized initializer ignored"); /* For an in-class declaration, use `grokfield' to create the declaration. */ @@ -12036,7 +12036,7 @@ cp_parser_parameter_declaration (cp_parser *parser, if (!parser->default_arg_ok_p) { 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 { error ("default arguments are only permitted for function parameters"); diff --git a/gcc/cp/repo.c b/gcc/cp/repo.c index 6675980bd56..92a53b5ad4f 100644 --- a/gcc/cp/repo.c +++ b/gcc/cp/repo.c @@ -109,7 +109,7 @@ get_base_filename (const char *filename) if (p && ! compiling) { - warning ("-frepo must be used with -c"); + warning (0, "-frepo must be used with -c"); flag_use_repository = 0; return NULL; } diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c index 9368bfee998..1cad0bda9f4 100644 --- a/gcc/cp/rtti.c +++ b/gcc/cp/rtti.c @@ -567,7 +567,7 @@ build_dynamic_cast_1 (tree type, tree expr) && TREE_CODE (TREE_TYPE (old_expr)) == RECORD_TYPE) { tree expr = throw_bad_cast (); - warning ("dynamic_cast of %q#D to %q#T can never succeed", + warning (0, "dynamic_cast of %q#D to %q#T can never succeed", old_expr, type); /* Bash it to the expected type. */ TREE_TYPE (expr) = type; @@ -581,7 +581,7 @@ build_dynamic_cast_1 (tree type, tree expr) if (TREE_CODE (op) == VAR_DECL && TREE_CODE (TREE_TYPE (op)) == RECORD_TYPE) { - warning ("dynamic_cast of %q#D to %q#T can never succeed", + warning (0, "dynamic_cast of %q#D to %q#T can never succeed", op, type); retval = build_int_cst (type, 0); return retval; diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 44315f46eef..9f0776a0df4 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -1767,12 +1767,12 @@ handle_com_interface_attribute (tree* node, || !CLASS_TYPE_P (*node) || *node != TYPE_MAIN_VARIANT (*node)) { - warning ("%qE attribute can only be applied to class definitions", name); + warning (0, "%qE attribute can only be applied to class definitions", name); return NULL_TREE; } if (!warned++) - warning ("%qE is obsolete; g++ vtables are now COM-compatible by default", + warning (0, "%qE is obsolete; g++ vtables are now COM-compatible by default", name); return NULL_TREE; @@ -1835,7 +1835,7 @@ handle_init_priority_attribute (tree* node, if (pri <= MAX_RESERVED_INIT_PRIORITY) { warning - ("requested init_priority is reserved for internal use"); + (0, "requested init_priority is reserved for internal use"); } if (SUPPORTS_INIT_PRIORITY) diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index 28295767df6..2b4d9ec32ef 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -1480,7 +1480,7 @@ string_conv_p (tree totype, tree exp, int warn) /* This warning is not very useful, as it complains about printf. */ if (warn && warn_write_strings) - warning ("deprecated conversion from string constant to %qT'", totype); + warning (0, "deprecated conversion from string constant to %qT'", totype); return 1; } @@ -1698,9 +1698,9 @@ build_class_member_access_expr (tree object, tree member, && !DECL_FIELD_IS_BASE (member) && !skip_evaluation) { - warning ("invalid access to non-static data member %qD of NULL object", + warning (0, "invalid access to non-static data member %qD of NULL object", member); - warning ("(perhaps the %<offsetof%> macro was used incorrectly)"); + warning (0, "(perhaps the %<offsetof%> macro was used incorrectly)"); } /* If MEMBER is from an anonymous aggregate, we have converted @@ -2174,7 +2174,7 @@ build_array_ref (tree array, tree idx) must have done so deliberately. */ if (warn_char_subscripts && TYPE_MAIN_VARIANT (TREE_TYPE (idx)) == char_type_node) - warning ("array subscript has type %<char%>"); + warning (0, "array subscript has type %<char%>"); if (!INTEGRAL_OR_ENUMERATION_TYPE_P (TREE_TYPE (idx))) { @@ -2226,7 +2226,7 @@ build_array_ref (tree array, tree idx) while (TREE_CODE (foo) == COMPONENT_REF) foo = TREE_OPERAND (foo, 0); if (TREE_CODE (foo) == VAR_DECL && DECL_REGISTER (foo)) - warning ("subscripting array declared %<register%>"); + warning (0, "subscripting array declared %<register%>"); } type = TREE_TYPE (TREE_TYPE (array)); @@ -2854,9 +2854,9 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, || code1 == COMPLEX_TYPE || code1 == VECTOR_TYPE)) { 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); if (code0 == COMPLEX_TYPE || code0 == VECTOR_TYPE) code0 = TREE_CODE (TREE_TYPE (TREE_TYPE (op0))); @@ -2890,9 +2890,9 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, case TRUNC_MOD_EXPR: case FLOOR_MOD_EXPR: 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); if (code0 == INTEGER_TYPE && code1 == INTEGER_TYPE) { @@ -2926,13 +2926,13 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, if (TREE_CODE (op1) == INTEGER_CST) { if (tree_int_cst_lt (op1, integer_zero_node)) - warning ("right shift count is negative"); + warning (0, "right shift count is negative"); else { if (! integer_zerop (op1)) short_shift = 1; if (compare_tree_int (op1, TYPE_PRECISION (type0)) >= 0) - warning ("right shift count >= width of type"); + warning (0, "right shift count >= width of type"); } } /* Convert the shift-count to an integer, regardless of @@ -2951,9 +2951,9 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, if (TREE_CODE (op1) == INTEGER_CST) { 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"); } /* Convert the shift-count to an integer, regardless of size of value being shifted. */ @@ -2972,10 +2972,10 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, if (TREE_CODE (op1) == INTEGER_CST) { 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"); } /* Convert the shift-count to an integer, regardless of @@ -2988,7 +2988,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, case EQ_EXPR: case NE_EXPR: 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"); build_type = boolean_type_node; if ((code0 == INTEGER_TYPE || code0 == REAL_TYPE @@ -3315,7 +3315,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, && TYPE_MAIN_VARIANT (TREE_TYPE (orig_op0)) != TYPE_MAIN_VARIANT (TREE_TYPE (orig_op1))) { - warning ("comparison between types %q#T and %q#T", + warning (0, "comparison between types %q#T and %q#T", TREE_TYPE (orig_op0), TREE_TYPE (orig_op1)); } @@ -3351,7 +3351,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, (result_type))))) /* OK */; else - warning ("comparison between signed and unsigned integer expressions"); + warning (0, "comparison between signed and unsigned integer expressions"); /* Warn if two unsigned values are being compared in a size larger than their original size, and one (and only one) is the @@ -3395,7 +3395,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, { mask = (~ (HOST_WIDE_INT) 0) << bits; if ((mask & constant) != mask) - warning ("comparison of promoted ~unsigned with constant"); + warning (0, "comparison of promoted ~unsigned with constant"); } } else if (unsignedp0 && unsignedp1 @@ -3403,7 +3403,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, < TYPE_PRECISION (result_type)) && (TYPE_PRECISION (TREE_TYPE (primop1)) < TYPE_PRECISION (result_type))) - warning ("comparison of promoted ~unsigned with unsigned"); + warning (0, "comparison of promoted ~unsigned with unsigned"); } } } @@ -3430,7 +3430,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, performed. Note that pointer-difference and pointer-addition have already been handled above, and so we don't end up here in that case. */ - warning ("NULL used in arithmetic"); + warning (0, "NULL used in arithmetic"); if (! converted) { @@ -3593,7 +3593,7 @@ build_x_unary_op (enum tree_code code, tree xarg) } } 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); } @@ -4288,7 +4288,7 @@ cxx_mark_addressable (tree exp) } else if (extra_warnings) warning - ("address requested for %qD, which is declared %<register%>", x); + (0, "address requested for %qD, which is declared %<register%>", x); } TREE_ADDRESSABLE (x) = 1; return true; @@ -4492,7 +4492,7 @@ build_static_cast_1 (tree type, tree expr, bool c_cast_p, { /* C-style casts are allowed to cast away constness. With WARN_CAST_QUAL, we still want to issue a warning. */ - diag_fn = warn_cast_qual ? warning : NULL; + diag_fn = warn_cast_qual ? warning0 : NULL; desc = "cast"; } else @@ -4807,7 +4807,7 @@ build_reinterpret_cast_1 (tree type, tree expr, bool c_cast_p, if (TYPE_PTR_P (intype) && (comptypes (TREE_TYPE (intype), TREE_TYPE (type), COMPARE_BASE | COMPARE_DERIVED))) - warning ("casting %qT to %qT does not dereference pointer", + warning (0, "casting %qT to %qT does not dereference pointer", intype, type); expr = build_unary_op (ADDR_EXPR, expr, 0); @@ -4879,7 +4879,7 @@ build_reinterpret_cast_1 (tree type, tree expr, bool c_cast_p, && COMPLETE_TYPE_P (TREE_TYPE (type)) && COMPLETE_TYPE_P (TREE_TYPE (intype)) && TYPE_ALIGN (TREE_TYPE (type)) > TYPE_ALIGN (TREE_TYPE (intype))) - warning ("cast from %qT to %qT increases required alignment of " + warning (0, "cast from %qT to %qT increases required alignment of " "target type", intype, type); @@ -4893,7 +4893,7 @@ build_reinterpret_cast_1 (tree type, tree expr, bool c_cast_p, where possible, and it is necessary in some cases. DR 195 addresses this issue, but as of 2004/10/26 is still in drafting. */ - warning ("ISO C++ forbids casting between pointer-to-function and pointer-to-object"); + warning (0, "ISO C++ forbids casting between pointer-to-function and pointer-to-object"); return fold_if_not_in_template (build_nop (type, expr)); } else if (TREE_CODE (type) == VECTOR_TYPE) @@ -5535,7 +5535,7 @@ get_delta_difference (tree from, tree to, virt_binfo = binfo_from_vbase (binfo); if (virt_binfo) /* This is a reinterpret cast, we choose to do nothing. */ - warning ("pointer to member cast via virtual base %qT", + warning (0, "pointer to member cast via virtual base %qT", BINFO_TYPE (virt_binfo)); else result = size_diffop (size_zero_node, BINFO_OFFSET (binfo)); @@ -5551,7 +5551,7 @@ get_delta_difference (tree from, tree to, { /* This is a reinterpret cast, we choose to do nothing. */ if (allow_inverse_p) - warning ("pointer to member cast via virtual base %qT", + warning (0, "pointer to member cast via virtual base %qT", BINFO_TYPE (virt_binfo)); else error ("pointer to member conversion via virtual base %qT", @@ -5973,14 +5973,14 @@ maybe_warn_about_returning_address_of_local (tree retval) if (TREE_CODE (whats_returned) == AGGR_INIT_EXPR || TREE_CODE (whats_returned) == TARGET_EXPR) { - warning ("returning reference to temporary"); + warning (0, "returning reference to temporary"); return; } if (TREE_CODE (whats_returned) == VAR_DECL && DECL_NAME (whats_returned) && TEMP_NAME_P (DECL_NAME (whats_returned))) { - warning ("reference to non-lvalue returned"); + warning (0, "reference to non-lvalue returned"); return; } } @@ -6019,7 +6019,7 @@ check_return_expr (tree retval) (This is a G++ extension, used to get better code for functions that call the `volatile' function.) */ if (TREE_THIS_VOLATILE (current_function_decl)) - warning ("function declared %<noreturn%> has a %<return%> statement"); + warning (0, "function declared %<noreturn%> has a %<return%> statement"); /* Check for various simple errors. */ if (DECL_DESTRUCTOR_P (current_function_decl)) @@ -6107,7 +6107,7 @@ check_return_expr (tree retval) && !TYPE_NOTHROW_P (TREE_TYPE (current_function_decl)) && ! flag_check_new && null_ptr_cst_p (retval)) - warning ("%<operator new%> must not return NULL unless it is " + warning (0, "%<operator new%> must not return NULL unless it is " "declared %<throw()%> (or -fcheck-new is in effect)"); /* Effective C++ rule 15. See also start_function. */ @@ -6133,7 +6133,7 @@ check_return_expr (tree retval) } if (warn) - warning ("%<operator=%> should return a reference to %<*this%>"); + warning (0, "%<operator=%> should return a reference to %<*this%>"); } /* The fabled Named Return Value optimization, as per [class.copy]/15: diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c index 81e34d76dbe..37eb023324a 100644 --- a/gcc/cp/typeck2.c +++ b/gcc/cp/typeck2.c @@ -352,7 +352,7 @@ cxx_incomplete_type_diagnostic (tree value, tree type, int diag_type) if (diag_type == 1) { - p_msg = warning; + p_msg = warning0; p_msg_at = cp_warning_at; } else if (diag_type == 2) @@ -839,7 +839,7 @@ process_init_constructor (tree type, tree init, tree* elts) if (elts) { if (warn_missing_braces) - warning ("aggregate has a partly bracketed initializer"); + warning (0, "aggregate has a partly bracketed initializer"); tail = *elts; } else @@ -1005,7 +1005,7 @@ process_init_constructor (tree type, tree init, tree* elts) /* Warn when some struct elements are implicitly initialized. */ if (warn_missing_field_initializers && (!init || BRACE_ENCLOSED_INITIALIZER_P (init))) - warning ("missing initializer for member %qD", field); + warning (0, "missing initializer for member %qD", field); } else { @@ -1020,7 +1020,7 @@ process_init_constructor (tree type, tree init, tree* elts) to zero. */ if (warn_missing_field_initializers && (!init || BRACE_ENCLOSED_INITIALIZER_P (init))) - warning ("missing initializer for member %qD", field); + warning (0, "missing initializer for member %qD", field); if (! zero_init_p (TREE_TYPE (field))) next1 = build_zero_init (TREE_TYPE (field), diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c index 5d10f0cb211..941ddb811f7 100644 --- a/gcc/diagnostic.c +++ b/gcc/diagnostic.c @@ -412,7 +412,19 @@ inform (const char *msgid, ...) /* A warning. Use this for code which is correct according to the relevant language specification but is likely to be buggy anyway. */ 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, ...) { diagnostic_info diagnostic; va_list ap; diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index b67d3b22c20..04107970f64 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -3266,7 +3266,7 @@ make_insn_raw (rtx pattern) || (GET_CODE (insn) == SET && SET_DEST (insn) == pc_rtx))) { - 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); } #endif diff --git a/gcc/errors.c b/gcc/errors.c index 6889c736efd..9470db1e9c7 100644 --- a/gcc/errors.c +++ b/gcc/errors.c @@ -42,7 +42,7 @@ int have_error = 0; /* Print a warning message - output produced, but there may be problems. */ void -warning (const char *format, ...) +warning (int opt ATTRIBUTE_UNUSED, const char *format, ...) { va_list ap; diff --git a/gcc/errors.h b/gcc/errors.h index 03b94cafcad..99aa2410f7e 100644 --- a/gcc/errors.h +++ b/gcc/errors.h @@ -30,7 +30,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #ifndef GCC_ERRORS_H #define GCC_ERRORS_H -extern void warning (const char *, ...); +extern void warning (int, const char *, ...); extern void error (const char *, ...); extern void fatal (const char *, ...) ATTRIBUTE_NORETURN; extern void internal_error (const char *, ...) ATTRIBUTE_NORETURN; diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 1327c74ee86..e928025700b 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -3226,7 +3226,7 @@ optimize_bit_field_compare (enum tree_code code, tree compare_type, fold_convert (unsigned_type, rhs), size_int (lbitsize), 0))) { - 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); return constant_boolean_node (code == NE_EXPR, compare_type); } @@ -3237,7 +3237,7 @@ optimize_bit_field_compare (enum tree_code code, tree compare_type, size_int (lbitsize - 1), 0); if (! integer_zerop (tem) && ! integer_all_onesp (tem)) { - 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); return constant_boolean_node (code == NE_EXPR, compare_type); } @@ -4808,7 +4808,7 @@ fold_truthop (enum tree_code code, tree truth_type, tree lhs, tree rhs) lntype, ll_mask), 0))) { - warning ("comparison is always %d", wanted_code == NE_EXPR); + warning (0, "comparison is always %d", wanted_code == NE_EXPR); return constant_boolean_node (wanted_code == NE_EXPR, truth_type); } @@ -4823,7 +4823,7 @@ fold_truthop (enum tree_code code, tree truth_type, tree lhs, tree rhs) lntype, rl_mask), 0))) { - warning ("comparison is always %d", wanted_code == NE_EXPR); + warning (0, "comparison is always %d", wanted_code == NE_EXPR); return constant_boolean_node (wanted_code == NE_EXPR, truth_type); } @@ -4952,12 +4952,12 @@ fold_truthop (enum tree_code code, tree truth_type, tree lhs, tree rhs) { if (wanted_code == NE_EXPR) { - 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); } else { - 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); } } diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 94ad2f01311..123fb9a33c2 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,7 @@ +2005-04-23 DJ Delorie <dj@redhat.com> + + * trans-decl.c: Adjust warning() callers. + 2005-04-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> * trans-const.c (gfc_conv_mpfr_to_tree): Use hexadecimal string as diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 08dd72af697..86205726ca5 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -1916,7 +1916,7 @@ gfc_trans_deferred_vars (gfc_symbol * proc_sym, tree fnbody) { if (!current_fake_result_decl) { - warning ("Function does not return a value"); + warning (0, "Function does not return a value"); return fnbody; } @@ -2111,12 +2111,12 @@ generate_local_decl (gfc_symbol * sym) if (sym->attr.referenced) gfc_get_symbol_decl (sym); else if (sym->attr.dummy && warn_unused_parameter) - warning ("unused parameter %qs", sym->name); + warning (0, "unused parameter %qs", sym->name); /* Warn for unused variables, but not if they're inside a common block or are use-associated. */ else if (warn_unused_variable && !(sym->attr.in_common || sym->attr.use_assoc)) - warning ("unused variable %qs", sym->name); + warning (0, "unused variable %qs", sym->name); } } @@ -2257,7 +2257,7 @@ gfc_generate_function_code (gfc_namespace * ns) result = sym->result->backend_decl; if (result == NULL_TREE) - warning ("Function return value not set"); + warning (0, "Function return value not set"); else { /* Set the return value to the dummy result variable. */ diff --git a/gcc/function.c b/gcc/function.c index 7ed60927546..cd7bb528762 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -3601,7 +3601,7 @@ setjmp_vars_warning (tree block) && DECL_RTL_SET_P (decl) && REG_P (DECL_RTL (decl)) && regno_clobbered_at_setjmp (REGNO (DECL_RTL (decl)))) - warning ("%Jvariable %qD might be clobbered by %<longjmp%>" + warning (0, "%Jvariable %qD might be clobbered by %<longjmp%>" " or %<vfork%>", decl, decl); } @@ -3622,7 +3622,7 @@ setjmp_args_warning (void) if (DECL_RTL (decl) != 0 && REG_P (DECL_RTL (decl)) && regno_clobbered_at_setjmp (REGNO (DECL_RTL (decl)))) - warning ("%Jargument %qD might be clobbered by %<longjmp%> or %<vfork%>", + warning (0, "%Jargument %qD might be clobbered by %<longjmp%> or %<vfork%>", decl, decl); } @@ -4020,7 +4020,7 @@ init_function_start (tree subr) regardless of which calling convention we are using for it. */ if (warn_aggregate_return && AGGREGATE_TYPE_P (TREE_TYPE (DECL_RESULT (subr)))) - warning ("function returns an aggregate"); + warning (0, "function returns an aggregate"); } /* Make sure all values used by the optimization passes have sane @@ -4343,7 +4343,7 @@ do_warn_unused_parameter (tree fn) decl; decl = TREE_CHAIN (decl)) if (!TREE_USED (decl) && TREE_CODE (decl) == PARM_DECL && DECL_NAME (decl) && !DECL_ARTIFICIAL (decl)) - warning ("%Junused parameter %qD", decl, decl); + warning (0, "%Junused parameter %qD", decl, decl); } static GTY(()) rtx initial_trampoline; diff --git a/gcc/gcse.c b/gcc/gcse.c index 7223f0520b3..10460a8f32f 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -6530,7 +6530,7 @@ is_too_expensive (const char *pass) if (n_edges > 20000 + n_basic_blocks * 4) { 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); return true; @@ -6543,7 +6543,7 @@ is_too_expensive (const char *pass) * sizeof (SBITMAP_ELT_TYPE)) > MAX_GCSE_MEMORY) { 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 ()); return true; diff --git a/gcc/genautomata.c b/gcc/genautomata.c index ac1f69cb285..51e2f416a3a 100644 --- a/gcc/genautomata.c +++ b/gcc/genautomata.c @@ -2724,7 +2724,7 @@ add_presence_absence (unit_set_el_t dest_list, } else warning - ("unit `%s' excludes and requires presence of `%s'", + (0, "unit `%s' excludes and requires presence of `%s'", dst->unit_decl->name, unit->name); } } @@ -2744,7 +2744,7 @@ add_presence_absence (unit_set_el_t dest_list, } else warning - ("unit `%s' requires absence and presence of `%s'", + (0, "unit `%s' requires absence and presence of `%s'", dst->unit_decl->name, unit->name); } if (no_error_flag) @@ -2826,7 +2826,7 @@ process_decls (void) error ("repeated declaration of automaton `%s'", DECL_AUTOMATON (decl)->name); else - warning ("repeated declaration of automaton `%s'", + warning (0, "repeated declaration of automaton `%s'", DECL_AUTOMATON (decl)->name); } } @@ -2946,7 +2946,7 @@ process_decls (void) DECL_BYPASS (decl)->in_insn_name); else warning - ("the same bypass `%s - %s' is already defined", + (0, "the same bypass `%s - %s' is already defined", DECL_BYPASS (decl)->out_insn_name, DECL_BYPASS (decl)->in_insn_name); } @@ -3056,7 +3056,7 @@ check_automaton_usage (void) if (!w_flag) error ("automaton `%s' is not used", DECL_AUTOMATON (decl)->name); else - warning ("automaton `%s' is not used", + warning (0, "automaton `%s' is not used", DECL_AUTOMATON (decl)->name); } } @@ -3170,14 +3170,14 @@ check_usage (void) if (!w_flag) error ("unit `%s' is not used", DECL_UNIT (decl)->name); else - warning ("unit `%s' is not used", DECL_UNIT (decl)->name); + warning (0, "unit `%s' is not used", DECL_UNIT (decl)->name); } else if (decl->mode == dm_reserv && !DECL_RESERV (decl)->reserv_is_used) { if (!w_flag) error ("reservation `%s' is not used", DECL_RESERV (decl)->name); else - warning ("reservation `%s' is not used", DECL_RESERV (decl)->name); + warning (0, "reservation `%s' is not used", DECL_RESERV (decl)->name); } } } @@ -9818,7 +9818,7 @@ check_automata_insn_issues (void) reserv_ainsn->insn_reserv_decl->name); else warning - ("Automaton `%s': Insn `%s' will never be issued", + (0, "Automaton `%s': Insn `%s' will never be issued", automaton->corresponding_automaton_decl->name, reserv_ainsn->insn_reserv_decl->name); } @@ -9828,7 +9828,7 @@ check_automata_insn_issues (void) error ("Insn `%s' will never be issued", reserv_ainsn->insn_reserv_decl->name); else - warning ("Insn `%s' will never be issued", + warning (0, "Insn `%s' will never be issued", reserv_ainsn->insn_reserv_decl->name); } } diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index b307bd44533..87de24e3770 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -179,7 +179,7 @@ fix_sched_param (const char *param, const char *val) if (!strcmp (param, "verbose")) sched_verbose_param = atoi (val); else - warning ("fix_sched_param: unknown param: %s", param); + warning (0, "fix_sched_param: unknown param: %s", param); } struct haifa_insn_data *h_i_d; diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index f5d39ebe046..251b8b56379 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2005-04-23 DJ Delorie <dj@redhat.com> + + * class.c, decl.c, expr.c, jcf-io.c, jcf-parse.c, jv-scan.c, + parse.y: Adjust warning() callers. + 2005-04-21 Bryce McKinlay <mckinlay@redhat.com> * gcj.texi (Object fields): Change "Integer" to "Int" in example diff --git a/gcc/java/class.c b/gcc/java/class.c index 81ba75d7bc8..54e310d0d3a 100644 --- a/gcc/java/class.c +++ b/gcc/java/class.c @@ -788,9 +788,9 @@ void set_constant_value (tree field, tree constant) { 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))); else { @@ -1417,7 +1417,7 @@ get_dispatch_table (tree type, tree this_class_addr) if (METHOD_ABSTRACT (method)) { if (! abstract_p) - warning ("%Jabstract method in non-abstract class", method); + warning (0, "%Jabstract method in non-abstract class", method); if (TARGET_VTABLE_USES_DESCRIPTORS) for (j = 0; j < TARGET_VTABLE_USES_DESCRIPTORS; ++j) diff --git a/gcc/java/decl.c b/gcc/java/decl.c index 197c391e27c..2feac350417 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -1346,7 +1346,7 @@ pushdecl (tree x) warnstring = "declaration of %qs shadows global declaration"; if (warnstring) - warning (warnstring, IDENTIFIER_POINTER (name)); + warning (0, warnstring, IDENTIFIER_POINTER (name)); } #endif @@ -1649,7 +1649,7 @@ poplevel (int keep, int reverse, int functionbody) define_label (input_location, DECL_NAME (label)); } 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; /* Put the labels into the "variables" of the @@ -1777,7 +1777,7 @@ force_poplevels (int start_pc) while (current_binding_level->start_pc > 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, current_binding_level->start_pc); poplevel (1, 0, 0); @@ -1841,7 +1841,7 @@ give_name_to_locals (JCF *jcf) DECL_NAME (decl) = name; SET_DECL_ASSEMBLER_NAME (decl, name); 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"); } else { @@ -1850,7 +1850,7 @@ give_name_to_locals (JCF *jcf) tree decl = build_decl (VAR_DECL, name, type); if (end_pc > DECL_CODE_LENGTH (current_function_decl)) { - warning ("%Jbad PC range for debug info for local '%D'", + warning (0, "%Jbad PC range for debug info for local '%D'", decl, decl); end_pc = DECL_CODE_LENGTH (current_function_decl); } diff --git a/gcc/java/expr.c b/gcc/java/expr.c index ee67c223cb5..ae1055ed268 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -373,7 +373,7 @@ pop_type_0 (tree type, char **messagep) && t == object_ptr_type_node) { if (type != ptr_type_node) - warning ("need to insert runtime check for %s", + warning (0, "need to insert runtime check for %s", xstrdup (lang_printable_name (type, 0))); return type; } @@ -502,7 +502,7 @@ can_widen_reference_to (tree source_type, tree target_type) source_type, target_type); if (!quiet_flag) - warning ("assert: %s is assign compatible with %s", + warning (0, "assert: %s is assign compatible with %s", xstrdup (lang_printable_name (target_type, 0)), xstrdup (lang_printable_name (source_type, 0))); /* Punt everything to runtime. */ @@ -549,7 +549,7 @@ can_widen_reference_to (tree source_type, tree target_type) if (TYPE_DUMMY (source_type) || TYPE_DUMMY (target_type)) { if (! quiet_flag) - warning ("assert: %s is assign compatible with %s", + warning (0, "assert: %s is assign compatible with %s", xstrdup (lang_printable_name (target_type, 0)), xstrdup (lang_printable_name (source_type, 0))); return 1; @@ -2728,7 +2728,7 @@ expand_java_field_op (int is_static, int is_putting, int field_ref_index) else if (FIELD_STATIC (field_decl)) { if (!DECL_CLINIT_P (current_function_decl)) - warning ("%Jassignment to final static field %qD not in " + warning (0, "%Jassignment to final static field %qD not in " "class initializer", field_decl, field_decl); } @@ -2737,7 +2737,7 @@ expand_java_field_op (int is_static, int is_putting, int field_ref_index) tree cfndecl_name = DECL_NAME (current_function_decl); if (! DECL_CONSTRUCTOR_P (current_function_decl) && !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); } } @@ -2927,7 +2927,7 @@ expand_byte_code (JCF *jcf, tree method) int pc = GET_u2 (linenumber_pointer); linenumber_pointer += 4; if (pc >= length) - warning ("invalid PC in line number table"); + warning (0, "invalid PC in line number table"); else { if ((instruction_bits[pc] & BCODE_HAS_LINENUMBER) != 0) @@ -2983,7 +2983,7 @@ expand_byte_code (JCF *jcf, tree method) { /* We've just reached the end of a region of dead code. */ if (extra_warnings) - warning ("unreachable bytecode from %d to before %d", + warning (0, "unreachable bytecode from %d to before %d", dead_code_index, PC); dead_code_index = -1; } @@ -3025,7 +3025,7 @@ expand_byte_code (JCF *jcf, tree method) { /* We've just reached the end of a region of dead code. */ 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); } } diff --git a/gcc/java/jcf-io.c b/gcc/java/jcf-io.c index 534c45b3448..49d64f07bb8 100644 --- a/gcc/java/jcf-io.c +++ b/gcc/java/jcf-io.c @@ -533,7 +533,7 @@ find_class (const char *classname, int classname_length, JCF *jcf, if (! java && ! class && java_buf.st_mtime > class_buf.st_mtime) { if (flag_newer) - warning ("source file for class %qs is newer than its matching class file. Source file %qs used instead", classname, java_buffer); + warning (0, "source file for class %qs is newer than its matching class file. Source file %qs used instead", classname, java_buffer); class = -1; } diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c index 2af480d806a..ccf6d34d357 100644 --- a/gcc/java/jcf-parse.c +++ b/gcc/java/jcf-parse.c @@ -717,8 +717,8 @@ load_class (tree class_or_name, int verbose) { /* This is just a diagnostic during testing, not a real problem. */ if (!quiet_flag) - warning("cannot find file for class %s", - IDENTIFIER_POINTER (saved)); + warning (0, "cannot find file for class %s", + IDENTIFIER_POINTER (saved)); /* Fake it. */ if (TREE_CODE (class_or_name) == RECORD_TYPE) @@ -833,7 +833,7 @@ duplicate_class_warning (const char *filename) warn_loc.file = filename; warn_loc.line = 0; #endif - warning ("%Hduplicate class will only be compiled once", &warn_loc); + warning (0, "%Hduplicate class will only be compiled once", &warn_loc); } static void @@ -1154,7 +1154,7 @@ java_parse_file (int set_yydebug ATTRIBUTE_UNUSED) free (file_list); if (filename_count == 0) - warning ("no input file specified"); + warning (0, "no input file specified"); if (resource_name) { diff --git a/gcc/java/jv-scan.c b/gcc/java/jv-scan.c index a3726fd2ff9..fa02c593eae 100644 --- a/gcc/java/jv-scan.c +++ b/gcc/java/jv-scan.c @@ -42,7 +42,8 @@ Boston, MA 02111-1307, USA. */ extern void fatal_error (const char *msgid, ...) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN; -void warning (const char *msgid, ...) ATTRIBUTE_PRINTF_1; +void warning (int opt, const char *msgid, ...) ATTRIBUTE_PRINTF_2; +void warning0 (const char *msgid, ...) ATTRIBUTE_PRINTF_1; void report (void); static void usage (void) ATTRIBUTE_NORETURN; @@ -256,7 +257,18 @@ fatal_error (const char *msgid, ...) } void -warning (const char *msgid, ...) +warning (int opt ATTRIBUTE_UNUSED, const char *msgid, ...) +{ + va_list ap; + va_start (ap, msgid); + fprintf (stderr, _("%s: warning: "), exec_name); + vfprintf (stderr, _(msgid), ap); + fputc ('\n', stderr); + va_end (ap); +} + +void +warning0 (const char *msgid, ...) { va_list ap; va_start (ap, msgid); diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 74102243200..860725f11bc 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -3106,7 +3106,7 @@ yyerror (const char *msgid) code_from_source, strlen (code_from_source)); remainder = obstack_finish (&temporary_obstack); if (do_warning) - warning ("%s.\n%s", msgid, remainder); + warning (0, "%s.\n%s", msgid, remainder); else error ("%s.\n%s", msgid, remainder); diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index b6583b4e7cb..35206941997 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,7 @@ +2005-04-23 DJ Delorie <dj@redhat.com> + + * objc-act.c: Adjust warning() callers. + 2005-04-21 Roger Sayle <roger@eyesopen.com> * objc-act.h (METHOD_ADD_ARGS_ELLIPSIS_P): New macro for accessing diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 017c2cd7300..27e528d8cb6 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -753,7 +753,7 @@ objc_finish_implementation (void) objc_implementation_context = NULL_TREE; } else - warning ("%<@end%> must appear in an @implementation context"); + warning (0, "%<@end%> must appear in an @implementation context"); } void @@ -924,7 +924,7 @@ objc_comptypes (tree lhs, tree rhs, int reflexive) if (!rproto) warning - ("object does not conform to the %qs protocol", + (0, "object does not conform to the %qs protocol", IDENTIFIER_POINTER (PROTOCOL_NAME (p))); } return 1; @@ -1014,7 +1014,7 @@ objc_comptypes (tree lhs, tree rhs, int reflexive) } if (!rproto) - warning ("class %qs does not implement the %qs protocol", + warning (0, "class %qs does not implement the %qs protocol", IDENTIFIER_POINTER (OBJC_TYPE_NAME (TREE_TYPE (rhs))), IDENTIFIER_POINTER (PROTOCOL_NAME (p))); } @@ -1091,7 +1091,7 @@ objc_comptypes (tree lhs, tree rhs, int reflexive) } if (!lproto) - warning ("class %qs does not implement the %qs protocol", + warning (0, "class %qs does not implement the %qs protocol", IDENTIFIER_POINTER (OBJC_TYPE_NAME (TREE_TYPE (lhs))), IDENTIFIER_POINTER (PROTOCOL_NAME (p))); @@ -2373,7 +2373,7 @@ build_selector_translation_table (void) loc = &DECL_SOURCE_LOCATION (TREE_PURPOSE (chain)); else loc = &input_location; - warning ("%Hcreating selector for nonexistent method %qE", + warning (0, "%Hcreating selector for nonexistent method %qE", loc, TREE_VALUE (chain)); } } @@ -2682,9 +2682,9 @@ objc_declare_alias (tree alias_ident, tree class_ident) #endif /* OBJCPLUS */ if (!(underlying_class = objc_is_class_name (class_ident))) - warning ("cannot find class %qs", IDENTIFIER_POINTER (class_ident)); + warning (0, "cannot find class %qs", IDENTIFIER_POINTER (class_ident)); else if (objc_is_class_name (alias_ident)) - warning ("class %qs already exists", IDENTIFIER_POINTER (alias_ident)); + warning (0, "class %qs already exists", IDENTIFIER_POINTER (alias_ident)); else alias_chain = tree_cons (underlying_class, alias_ident, alias_chain); } @@ -2945,7 +2945,7 @@ objc_init_exceptions (void) /* On Darwin, ObjC exceptions require a sufficiently recent version of the runtime, so the user must ask for them explicitly. */ if (!flag_objc_exceptions) - warning ("use %<-fobjc-exceptions%> to enable Objective-C " + warning (0, "use %<-fobjc-exceptions%> to enable Objective-C " "exception syntax"); } #ifndef OBJCPLUS @@ -3290,9 +3290,9 @@ objc_begin_catch_clause (tree decl) continue; if (!t || objc_comptypes (TREE_TYPE (t), TREE_TYPE (type), 0) == 1) { - 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_object_type)); break; } @@ -5377,7 +5377,7 @@ check_duplicates (hash hsh, int methods, int is_class) different types. */ attr loop; - warning ("multiple %s named %<%c%s%> found", + warning (0, "multiple %s named %<%c%s%> found", methods ? "methods" : "selectors", (is_class ? '+' : '-'), IDENTIFIER_POINTER (METHOD_SEL_NAME (meth))); @@ -5645,7 +5645,7 @@ objc_finish_message_expr (tree receiver, tree sel_name, tree method_params) = lookup_method_in_protocol_list (rprotos, sel_name, 0); if (method_prototype) - warning ("found %<-%s%> instead of %<+%s%> in protocol(s)", + warning (0, "found %<-%s%> instead of %<+%s%> in protocol(s)", IDENTIFIER_POINTER (sel_name), IDENTIFIER_POINTER (sel_name)); } @@ -5704,7 +5704,7 @@ objc_finish_message_expr (tree receiver, tree sel_name, tree method_params) } else { - warning ("invalid receiver type %qs", + warning (0, "invalid receiver type %qs", gen_type_name (orig_rtype)); /* After issuing the "invalid receiver" warning, perform method lookup as if we were messaging 'id'. */ @@ -5719,7 +5719,7 @@ objc_finish_message_expr (tree receiver, tree sel_name, tree method_params) if (!method_prototype) { if (rprotos) - warning ("%<%c%s%> not found in protocol(s)", + warning (0, "%<%c%s%> not found in protocol(s)", (class_tree ? '+' : '-'), IDENTIFIER_POINTER (sel_name)); @@ -5733,7 +5733,7 @@ objc_finish_message_expr (tree receiver, tree sel_name, tree method_params) static bool warn_missing_methods = false; if (rtype) - warning ("%qs may not respond to %<%c%s%>", + warning (0, "%qs may not respond to %<%c%s%>", IDENTIFIER_POINTER (OBJC_TYPE_NAME (rtype)), (class_tree ? '+' : '-'), IDENTIFIER_POINTER (sel_name)); @@ -5741,15 +5741,15 @@ objc_finish_message_expr (tree receiver, tree sel_name, tree method_params) then we have failed to find _any_ instance or class method, respectively. */ else - warning ("no %<%c%s%> method found", + warning (0, "no %<%c%s%> method found", (class_tree ? '+' : '-'), IDENTIFIER_POINTER (sel_name)); if (!warn_missing_methods) { - 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; } } @@ -5980,7 +5980,7 @@ objc_build_selector_expr (tree selnamelist) /* If still not found, print out a warning. */ if (!hsh) { - warning ("undeclared selector %qs", IDENTIFIER_POINTER (selname)); + warning (0, "undeclared selector %qs", IDENTIFIER_POINTER (selname)); } } @@ -6022,7 +6022,7 @@ build_ivar_reference (tree id) to an instance variable. It's better to catch the cases where this is done unknowingly than to support the above paradigm. */ - warning ("instance variable %qs accessed in class method", + warning (0, "instance variable %qs accessed in class method", IDENTIFIER_POINTER (id)); self_decl = convert (objc_instance_type, self_decl); /* cast */ } @@ -6279,7 +6279,7 @@ add_category (tree class, tree category) if (cat) { - warning ("duplicate interface declaration for category %<%s(%s)%>", + warning (0, "duplicate interface declaration for category %<%s(%s)%>", IDENTIFIER_POINTER (CLASS_NAME (class)), IDENTIFIER_POINTER (CLASS_SUPER_NAME (category))); } @@ -6340,10 +6340,10 @@ add_instance_variable (tree class, int public, tree field_decl) /* user-defined constructors and destructors are not known to Obj-C and hence will not be called. This may or may not be a problem. */ if (TYPE_NEEDS_CONSTRUCTING (field_type)) - warning ("type %qs has a user-defined constructor", type_name); + warning (0, "type %qs has a user-defined constructor", type_name); if (TYPE_HAS_NONTRIVIAL_DESTRUCTOR (field_type)) - warning ("type %qs has a user-defined destructor", type_name); - warning ("C++ constructors and destructors will not be invoked for Objective-C fields"); + warning (0, "type %qs has a user-defined destructor", type_name); + warning (0, "C++ constructors and destructors will not be invoked for Objective-C fields"); } #endif @@ -6442,7 +6442,7 @@ objc_is_public (tree expr, tree identifier) non-@public ivars. We will let this slide for now... */ if (!objc_method_context) { - warning ("instance variable %qs is %s; " + warning (0, "instance variable %qs is %s; " "this will be a hard error in the future", IDENTIFIER_POINTER (identifier), TREE_PRIVATE (decl) ? "@private" : "@protected"); @@ -6459,7 +6459,7 @@ objc_is_public (tree expr, tree identifier) else if (objc_implementation_context && (basetype == objc_object_reference)) { expr = convert (uprivate_record, expr); - warning ("static access to object of type %<id%>"); + warning (0, "static access to object of type %<id%>"); } } @@ -6481,16 +6481,16 @@ check_methods (tree chain, tree list, int mtype) { if (TREE_CODE (objc_implementation_context) == CLASS_IMPLEMENTATION_TYPE) - warning ("incomplete implementation of class %qs", + warning (0, "incomplete implementation of class %qs", IDENTIFIER_POINTER (CLASS_NAME (objc_implementation_context))); else if (TREE_CODE (objc_implementation_context) == CATEGORY_IMPLEMENTATION_TYPE) - warning ("incomplete implementation of category %qs", + warning (0, "incomplete implementation of category %qs", IDENTIFIER_POINTER (CLASS_SUPER_NAME (objc_implementation_context))); first = 0; } - warning ("method definition for %<%c%s%> not found", + warning (0, "method definition for %<%c%s%> not found", mtype, IDENTIFIER_POINTER (METHOD_SEL_NAME (chain))); } @@ -6569,17 +6569,17 @@ check_methods_accessible (tree chain, tree context, int mtype) { if (TREE_CODE (objc_implementation_context) == CLASS_IMPLEMENTATION_TYPE) - warning ("incomplete implementation of class %qs", + warning (0, "incomplete implementation of class %qs", IDENTIFIER_POINTER (CLASS_NAME (objc_implementation_context))); else if (TREE_CODE (objc_implementation_context) == CATEGORY_IMPLEMENTATION_TYPE) - warning ("incomplete implementation of category %qs", + warning (0, "incomplete implementation of category %qs", IDENTIFIER_POINTER (CLASS_SUPER_NAME (objc_implementation_context))); first = 0; } - warning ("method definition for %<%c%s%> not found", + warning (0, "method definition for %<%c%s%> not found", mtype, IDENTIFIER_POINTER (METHOD_SEL_NAME (chain))); } @@ -6620,7 +6620,7 @@ check_protocol (tree p, const char *type, const char *name) } if (!f1 || !f2) - warning ("%s %qs does not fully implement the %qs protocol", + warning (0, "%s %qs does not fully implement the %qs protocol", type, name, IDENTIFIER_POINTER (PROTOCOL_NAME (p))); } @@ -6678,7 +6678,7 @@ start_class (enum tree_code code, tree class_name, tree super_name, if (objc_implementation_context) { - warning ("%<@end%> missing in implementation context"); + warning (0, "%<@end%> missing in implementation context"); finish_class (objc_implementation_context); objc_ivar_chain = NULL_TREE; objc_implementation_context = NULL_TREE; @@ -6735,7 +6735,7 @@ start_class (enum tree_code code, tree class_name, tree super_name, if (!(implementation_template = lookup_interface (class_name))) { - warning ("cannot find interface declaration for %qs", + warning (0, "cannot find interface declaration for %qs", IDENTIFIER_POINTER (class_name)); add_class (implementation_template = objc_implementation_context); } @@ -6767,7 +6767,7 @@ start_class (enum tree_code code, tree class_name, tree super_name, #ifdef OBJCPLUS error ("duplicate interface declaration for class %qs", #else - warning ("duplicate interface declaration for class %qs", + warning (0, "duplicate interface declaration for class %qs", #endif IDENTIFIER_POINTER (class_name)); else @@ -7022,7 +7022,7 @@ start_protocol (enum tree_code code, tree name, tree list) } else { - warning ("duplicate declaration for protocol %qs", + warning (0, "duplicate declaration for protocol %qs", IDENTIFIER_POINTER (name)); } return protocol; @@ -7552,7 +7552,7 @@ static void warn_with_method (const char *message, int mtype, tree method) { /* 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)); } @@ -8285,7 +8285,7 @@ finish_objc (void) /* A missing @end may not be detected by the parser. */ if (objc_implementation_context) { - warning ("%<@end%> missing in implementation context"); + warning (0, "%<@end%> missing in implementation context"); finish_class (objc_implementation_context); objc_ivar_chain = NULL_TREE; objc_implementation_context = NULL_TREE; @@ -8567,7 +8567,7 @@ objc_lookup_ivar (tree other, tree id) if (TREE_CODE (objc_method_context) == INSTANCE_METHOD_DECL && other && other != error_mark_node && !DECL_FILE_SCOPE_P (other)) { - warning ("local declaration of %qs hides instance variable", + warning (0, "local declaration of %qs hides instance variable", IDENTIFIER_POINTER (id)); return other; diff --git a/gcc/opts.c b/gcc/opts.c index 10946ffe806..f1580d5a1f4 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -255,7 +255,7 @@ complain_wrong_lang (const char *text, const struct cl_option *option, bad_lang = write_langs (lang_mask); /* 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); free (ok_langs); @@ -660,7 +660,7 @@ decode_options (unsigned int argc, const char **argv) this to `2' if -Wall is used, so we can avoid giving out lots of errors for people who don't realize what -Wall does. */ if (warn_uninitialized == 1) - warning ("-Wuninitialized is not supported without -O"); + warning (0, "-Wuninitialized is not supported without -O"); } if (flag_really_no_inline == 2) @@ -975,7 +975,7 @@ common_handle_option (size_t scode, const char *arg, int value) else if (!strcmp (arg, "local-exec")) flag_tls_default = TLS_MODEL_LOCAL_EXEC; else - warning ("unknown tls-model \"%s\"", arg); + warning (0, "unknown tls-model \"%s\"", arg); break; case OPT_ftracer: @@ -1146,7 +1146,7 @@ set_debug_level (enum debug_info_type type, int extended, const char *arg) } if (write_symbols == NO_DEBUG) - warning ("target system does not support debug output"); + warning (0, "target system does not support debug output"); } } else diff --git a/gcc/passes.c b/gcc/passes.c index d210bcf5592..9d8e2dade61 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -1212,7 +1212,7 @@ rest_of_handle_branch_target_load_optimize (void) && flag_branch_target_load_optimize2 && !warned) { - warning ("branch target register load optimization is not intended " + warning (0, "branch target register load optimization is not intended " "to be run twice"); warned = 1; diff --git a/gcc/regclass.c b/gcc/regclass.c index 78951cfd3da..5ed04e0bdee 100644 --- a/gcc/regclass.c +++ b/gcc/regclass.c @@ -778,7 +778,7 @@ fix_register (const char *name, int fixed, int call_used) } else { - warning ("unknown register name: %s", name); + warning (0, "unknown register name: %s", name); } } @@ -792,12 +792,12 @@ globalize_reg (int i) if (global_regs[i]) { - warning ("register used for two global register variables"); + warning (0, "register used for two global register variables"); return; } 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"); global_regs[i] = 1; diff --git a/gcc/reload1.c b/gcc/reload1.c index fbe491bd5aa..06df026d81a 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -1233,10 +1233,10 @@ reload (rtx first, int global) if (size > STACK_CHECK_MAX_FRAME_SIZE) { - 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; } } diff --git a/gcc/stmt.c b/gcc/stmt.c index 2e292028bdb..9b685953c43 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -329,7 +329,7 @@ parse_output_constraint (const char **constraint_p, int operand_num, size_t c_len = strlen (constraint); if (p != constraint) - warning ("output constraint %qc for operand %d " + warning (0, "output constraint %qc for operand %d " "is not at the beginning", *p, operand_num); @@ -553,7 +553,7 @@ parse_input_constraint (const char **constraint_p, int input_num, } if (saw_match && !*allows_reg) - warning ("matching constraint does not allow a register"); + warning (0, "matching constraint does not allow a register"); return true; } @@ -880,7 +880,7 @@ expand_asm_operands (tree string, tree outputs, tree inputs, if (allows_reg) op = force_reg (TYPE_MODE (type), op); 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); else if (MEM_P (op)) { @@ -890,7 +890,7 @@ expand_asm_operands (tree string, tree outputs, tree inputs, } else { - warning ("use of memory input without lvalue in " + warning (0, "use of memory input without lvalue in " "asm operand %d is deprecated", i + noutputs); if (CONSTANT_P (op)) @@ -1475,7 +1475,7 @@ warn_if_unused_value (tree exp, location_t locus) if (TREE_SIDE_EFFECTS (exp)) return 0; - warning ("%Hvalue computed is not used", &locus); + warning (0, "%Hvalue computed is not used", &locus); return 1; } } diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index 25420e0d5ed..b0cc42e18c6 100644 --- a/gcc/stor-layout.c +++ b/gcc/stor-layout.c @@ -451,9 +451,9 @@ layout_decl (tree decl, unsigned int known_align) int size_as_int = TREE_INT_CST_LOW (size); if (compare_tree_int (size, size_as_int) == 0) - warning ("%Jsize of %qD is %d bytes", decl, decl, size_as_int); + warning (0, "%Jsize of %qD is %d bytes", decl, decl, size_as_int); else - warning ("%Jsize of %qD is larger than %d bytes", + warning (0, "%Jsize of %qD is larger than %d bytes", decl, decl, larger_than_size); } } @@ -837,10 +837,10 @@ place_field (record_layout_info rli, tree field) if (TYPE_ALIGN (type) > desired_align) { if (STRICT_ALIGNMENT) - warning ("%Jpacked attribute causes inefficient alignment " + warning (0, "%Jpacked attribute causes inefficient alignment " "for %qD", field, field); else - warning ("%Jpacked attribute is unnecessary for %qD", + warning (0, "%Jpacked attribute is unnecessary for %qD", field, field); } } @@ -856,7 +856,7 @@ place_field (record_layout_info rli, tree field) Bump the cumulative size to multiple of field alignment. */ if (warn_padded) - warning ("%Jpadding struct to align %qD", field, field); + warning (0, "%Jpadding struct to align %qD", field, field); /* If the alignment is still within offset_align, just align the bit position. */ @@ -1198,7 +1198,7 @@ finalize_record_size (record_layout_info rli) if (warn_padded && TREE_CONSTANT (unpadded_size) && 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"); if (warn_packed && TREE_CODE (rli->t) == RECORD_TYPE && TYPE_PACKED (rli->t) && ! rli->packed_maybe_necessary @@ -1228,17 +1228,17 @@ finalize_record_size (record_layout_info rli) name = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (rli->t))); if (STRICT_ALIGNMENT) - warning ("packed attribute causes inefficient " + warning (0, "packed attribute causes inefficient " "alignment for %qs", name); else - warning ("packed attribute is unnecessary for %qs", name); + warning (0, "packed attribute is unnecessary for %qs", name); } else { 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"); } } } diff --git a/gcc/toplev.c b/gcc/toplev.c index 8cfd7406291..19411e148a0 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -851,7 +851,7 @@ check_global_declarations (tree *vec, int len) if (TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl))) pedwarn ("%J%qF used but never defined", decl, decl); else - warning ("%J%qF declared %<static%> but never defined", + warning (0, "%J%qF declared %<static%> but never defined", decl, decl); /* This symbol is effectively an "extern" declaration now. */ TREE_PUBLIC (decl) = 1; @@ -877,7 +877,7 @@ check_global_declarations (tree *vec, int len) && ! (TREE_CODE (decl) == VAR_DECL && DECL_REGISTER (decl)) /* Otherwise, ask the language. */ && lang_hooks.decls.warn_unused_global (decl)) - warning ("%J%qD defined but not used", decl, decl); + warning (0, "%J%qD defined but not used", decl, decl); /* Avoid confusing the debug information machinery when there are errors. */ @@ -900,7 +900,7 @@ warn_deprecated_use (tree node) if (DECL_P (node)) { expanded_location xloc = expand_location (DECL_SOURCE_LOCATION (node)); - warning ("%qs is deprecated (declared at %s:%d)", + warning (0, "%qs is deprecated (declared at %s:%d)", IDENTIFIER_POINTER (DECL_NAME (node)), xloc.file, xloc.line); } @@ -923,18 +923,18 @@ warn_deprecated_use (tree node) expanded_location xloc = expand_location (DECL_SOURCE_LOCATION (decl)); if (what) - warning ("%qs is deprecated (declared at %s:%d)", what, + warning (0, "%qs 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); } else { if (what) - warning ("%qs is deprecated", what); + warning (0, "%qs is deprecated", what); else - warning ("type is deprecated"); + warning (0, "type is deprecated"); } } } @@ -1187,7 +1187,7 @@ decode_d_option (const char *arg) case 'a': default: if (!enable_rtl_dump_file (c)) - warning ("unrecognized gcc debugging option: %c", c); + warning (0, "unrecognized gcc debugging option: %c", c); break; } } @@ -1768,11 +1768,11 @@ process_options (void) /* Warn about options that are not supported on this machine. */ #ifndef INSN_SCHEDULING 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 #ifndef DELAY_SLOTS if (flag_delayed_branch) - warning ("this target machine does not have delayed branches"); + warning (0, "this target machine does not have delayed branches"); #endif user_label_prefix = USER_LABEL_PREFIX; @@ -1786,7 +1786,7 @@ process_options (void) user_label_prefix = flag_leading_underscore ? "_" : ""; } 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-"); } @@ -1872,10 +1872,10 @@ process_options (void) if (flag_var_tracking == 1) { 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"); } flag_var_tracking = 0; @@ -1902,44 +1902,44 @@ process_options (void) { if (flag_function_sections) { - warning ("-ffunction-sections not supported for this target"); + warning (0, "-ffunction-sections not supported for this target"); flag_function_sections = 0; } if (flag_data_sections) { - warning ("-fdata-sections not supported for this target"); + warning (0, "-fdata-sections not supported for this target"); flag_data_sections = 0; } } if (flag_function_sections && profile_flag) { - warning ("-ffunction-sections disabled; it makes profiling impossible"); + warning (0, "-ffunction-sections disabled; it makes profiling impossible"); flag_function_sections = 0; } #ifndef HAVE_prefetch if (flag_prefetch_loop_arrays) { - warning ("-fprefetch-loop-arrays not supported for this target"); + warning (0, "-fprefetch-loop-arrays not supported for this target"); flag_prefetch_loop_arrays = 0; } if (flag_speculative_prefetching) { if (flag_speculative_prefetching_set) - warning ("-fspeculative-prefetching not supported for this target"); + warning (0, "-fspeculative-prefetching not supported for this target"); flag_speculative_prefetching = 0; } #else if (flag_prefetch_loop_arrays && !HAVE_prefetch) { - 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; } if (flag_speculative_prefetching && !HAVE_prefetch) { if (flag_speculative_prefetching_set) - warning ("-fspeculative-prefetching not supported for this target (try -march switches)"); + warning (0, "-fspeculative-prefetching not supported for this target (try -march switches)"); flag_speculative_prefetching = 0; } #endif @@ -1948,13 +1948,13 @@ process_options (void) make much sense anyway, so don't allow it. */ if (flag_prefetch_loop_arrays && optimize_size) { - warning ("-fprefetch-loop-arrays is not supported with -Os"); + warning (0, "-fprefetch-loop-arrays is not supported with -Os"); flag_prefetch_loop_arrays = 0; } #ifndef OBJECT_FORMAT_ELF 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 /* The presence of IEEE signaling NaNs, implies all math can trap. */ diff --git a/gcc/toplev.h b/gcc/toplev.h index a1a388ba73f..cf11d29441b 100644 --- a/gcc/toplev.h +++ b/gcc/toplev.h @@ -65,7 +65,8 @@ extern void _fatal_insn (const char *, rtx, const char *, int, const char *) #endif extern void internal_error (const char *, ...) ATTRIBUTE_GCC_DIAG(1,2) ATTRIBUTE_NORETURN; -extern void warning (const char *, ...) ATTRIBUTE_GCC_FE_DIAG(1,2); +extern void warning0 (const char *, ...) ATTRIBUTE_GCC_FE_DIAG(1,2); +extern void warning (int, const char *, ...) ATTRIBUTE_GCC_FE_DIAG(2,3); extern void error (const char *, ...) ATTRIBUTE_GCC_FE_DIAG(1,2); extern void fatal_error (const char *, ...) ATTRIBUTE_GCC_DIAG(1,2) ATTRIBUTE_NORETURN; diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index bf4d934e973..d3c71abb37a 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -1384,7 +1384,7 @@ remove_useless_stmts_warn_notreached (tree stmt) location_t loc = EXPR_LOCATION (stmt); if (LOCATION_LINE (loc) > 0) { - warning ("%Hwill never be executed", &loc); + warning (0, "%Hwill never be executed", &loc); return true; } } @@ -2000,10 +2000,10 @@ remove_bb (basic_block bb) in the block. */ #ifdef USE_MAPPED_LOCATION if (warn_notreached && loc > BUILTINS_LOCATION) - warning ("%Hwill never be executed", &loc); + warning (0, "%Hwill never be executed", &loc); #else if (warn_notreached && loc) - warning ("%Hwill never be executed", loc); + warning (0, "%Hwill never be executed", loc); #endif remove_phi_nodes_and_edges_for_unreachable_block (bb); @@ -5599,7 +5599,7 @@ execute_warn_function_return (void) && !TREE_THIS_VOLATILE (cfun->decl) && EDGE_COUNT (EXIT_BLOCK_PTR->preds) == 0 && !lang_hooks.function.missing_noreturn_ok_p (cfun->decl)) - warning ("%Jfunction might be possible candidate for " + warning (0, "%Jfunction might be possible candidate for " "attribute %<noreturn%>", cfun->decl); @@ -5626,11 +5626,11 @@ execute_warn_function_return (void) #ifdef USE_MAPPED_LOCATION if (location == UNKNOWN_LOCATION) location = cfun->function_end_locus; - warning ("%H%<noreturn%> function does return", &location); + warning (0, "%H%<noreturn%> function does return", &location); #else if (!locus) locus = &cfun->function_end_locus; - warning ("%H%<noreturn%> function does return", locus); + warning (0, "%H%<noreturn%> function does return", locus); #endif } @@ -5651,12 +5651,12 @@ execute_warn_function_return (void) location = EXPR_LOCATION (last); if (location == UNKNOWN_LOCATION) 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 locus = EXPR_LOCUS (last); if (!locus) 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 TREE_NO_WARNING (cfun->decl) = 1; break; diff --git a/gcc/tree-dump.c b/gcc/tree-dump.c index d81c4b8d64c..451fe2bea0d 100644 --- a/gcc/tree-dump.c +++ b/gcc/tree-dump.c @@ -964,7 +964,7 @@ dump_switch_p_1 (const char *arg, struct dump_file_info *dfi, bool doglob) flags |= option_ptr->value; goto found; } - warning ("ignoring unknown option %q.*s in %<-fdump-%s%>", + warning (0, "ignoring unknown option %q.*s in %<-fdump-%s%>", length, ptr, dfi->swtch); found:; ptr = end_ptr; diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index c5634fdd8f8..696e7b49336 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -1163,7 +1163,7 @@ inlinable_function_p (tree fn) if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn))) sorry (inline_forbidden_reason, fn, fn); else if (do_warning) - warning (inline_forbidden_reason, fn, fn); + warning (0, inline_forbidden_reason, fn, fn); inlinable = false; } @@ -1571,8 +1571,8 @@ expand_call_inline (tree *tp, int *walk_subtrees, void *data) && strlen (reason) && !lookup_attribute ("noinline", DECL_ATTRIBUTES (fn))) { - warning ("%Jinlining failed in call to %qF: %s", fn, fn, reason); - warning ("called from here"); + warning (0, "%Jinlining failed in call to %qF: %s", fn, fn, reason); + warning (0, "called from here"); } goto egress; } @@ -1686,7 +1686,7 @@ expand_call_inline (tree *tp, int *walk_subtrees, void *data) && return_slot_addr == NULL_TREE && block_may_fallthru (copy)) { - warning ("control may reach end of non-void function %qD being inlined", + warning (0, "control may reach end of non-void function %qD being inlined", fn); TREE_NO_WARNING (fn) = 1; } diff --git a/gcc/tree-mudflap.c b/gcc/tree-mudflap.c index b1efae87057..b28a427c82b 100644 --- a/gcc/tree-mudflap.c +++ b/gcc/tree-mudflap.c @@ -839,7 +839,7 @@ mf_xform_derefs_1 (block_stmt_iterator *iter, tree *tp, break; 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; case BIT_FIELD_REF: @@ -1030,7 +1030,7 @@ mx_register_decls (tree decl, tree *stmt_list) /* Add the __mf_register call at the current appending point. */ if (tsi_end_p (initially_stmts)) - warning ("mudflap cannot track %qs in stub function", + warning (0, "mudflap cannot track %qs in stub function", IDENTIFIER_POINTER (DECL_NAME (decl))); else { @@ -1261,7 +1261,7 @@ mudflap_finish_file (void) if (! COMPLETE_TYPE_P (TREE_TYPE (obj))) { - warning ("mudflap cannot track unknown size extern %qs", + warning (0, "mudflap cannot track unknown size extern %qs", IDENTIFIER_POINTER (DECL_NAME (obj))); continue; } diff --git a/gcc/tree-optimize.c b/gcc/tree-optimize.c index b0b6b340bbc..40020ac30ab 100644 --- a/gcc/tree-optimize.c +++ b/gcc/tree-optimize.c @@ -774,10 +774,10 @@ tree_rest_of_compilation (tree fndecl) = TREE_INT_CST_LOW (TYPE_SIZE_UNIT (ret_type)); if (compare_tree_int (TYPE_SIZE_UNIT (ret_type), size_as_int) == 0) - warning ("%Jsize of return value of %qD is %u bytes", + warning (0, "%Jsize of return value of %qD is %u bytes", fndecl, fndecl, size_as_int); else - warning ("%Jsize of return value of %qD is larger than %wd bytes", + warning (0, "%Jsize of return value of %qD is larger than %wd bytes", fndecl, fndecl, larger_than_size); } } diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index 125e6c81583..822a7572b23 100644 --- a/gcc/tree-ssa.c +++ b/gcc/tree-ssa.c @@ -1102,7 +1102,7 @@ warn_uninit (tree t, const char *msgid, void *data) locus = (context != NULL && EXPR_HAS_LOCATION (context) ? EXPR_LOCUS (context) : &DECL_SOURCE_LOCATION (var)); - warning (msgid, locus, var); + warning (0, msgid, locus, var); TREE_NO_WARNING (var) = 1; } diff --git a/gcc/tree.c b/gcc/tree.c index a718bde4e65..71ba456a58b 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -3275,7 +3275,7 @@ handle_dll_attribute (tree * pnode, tree name, tree args, int flags, } if (TREE_CODE (node) != RECORD_TYPE && TREE_CODE (node) != UNION_TYPE) { - warning ("%qs attribute ignored", IDENTIFIER_POINTER (name)); + warning (0, "%qs attribute ignored", IDENTIFIER_POINTER (name)); *no_add_attrs = true; } diff --git a/gcc/treelang/ChangeLog b/gcc/treelang/ChangeLog index 8865f357051..17dc156f4b7 100644 --- a/gcc/treelang/ChangeLog +++ b/gcc/treelang/ChangeLog @@ -1,3 +1,7 @@ +2005-04-23 DJ Delorie <dj@redhat.com> + + * parse.y: Adjust warning() callers. + 2005-04-11 Richard Sandiford <rsandifo@redhat.com> * lang.opt: Refer to the GCC internals documentation instead of c.opt. diff --git a/gcc/treelang/parse.y b/gcc/treelang/parse.y index be443625221..3509095ebef 100644 --- a/gcc/treelang/parse.y +++ b/gcc/treelang/parse.y @@ -525,7 +525,7 @@ tl_RETURN expression_opt { tree_code_generate_return (type_prod->tp.pro.code, NULL); else { - warning ("%HRedundant expression in return.", + warning (0, "%HRedundant expression in return.", &ret_tok->tp.tok.location, ret_tok->tp.tok.length, ret_tok->tp.tok.chars); tree_code_generate_return (type_prod->tp.pro.code, NULL); diff --git a/gcc/varasm.c b/gcc/varasm.c index 35052a59647..86d386e0ff8 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -943,7 +943,7 @@ make_decl_rtl (tree decl) error ("global register variable has initial value"); } if (TREE_THIS_VOLATILE (decl)) - warning ("volatile register variables don%'t " + warning (0, "volatile register variables don%'t " "work as you might wish"); /* If the user specified one of the eliminables registers here, @@ -1675,7 +1675,7 @@ assemble_variable (tree decl, int top_level ATTRIBUTE_UNUSED, In particular, a.out format supports a maximum alignment of 4. */ if (align > MAX_OFILE_ALIGNMENT) { - warning ("%Jalignment of %qD is greater than maximum object " + warning (0, "%Jalignment of %qD is greater than maximum object " "file alignment. Using %d", decl, decl, MAX_OFILE_ALIGNMENT/BITS_PER_UNIT); align = MAX_OFILE_ALIGNMENT; @@ -1739,7 +1739,7 @@ assemble_variable (tree decl, int top_level ATTRIBUTE_UNUSED, #if !defined(ASM_OUTPUT_ALIGNED_COMMON) && !defined(ASM_OUTPUT_ALIGNED_DECL_COMMON) && !defined(ASM_OUTPUT_ALIGNED_BSS) if ((unsigned HOST_WIDE_INT) DECL_ALIGN_UNIT (decl) > rounded) - warning ("%Jrequested alignment for %qD is greater than " + warning (0, "%Jrequested alignment for %qD is greater than " "implemented alignment of %d", decl, decl, rounded); #endif @@ -4305,7 +4305,7 @@ merge_weak (tree newdecl, tree olddecl) a weak symbol. */ else if (TREE_USED (olddecl) && TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (olddecl))) - warning ("%Jweak declaration of %qD after first use results " + warning (0, "%Jweak declaration of %qD after first use results " "in unspecified behavior", newdecl, newdecl); if (SUPPORTS_WEAK) @@ -4348,7 +4348,7 @@ declare_weak (tree decl) weak_decls = tree_cons (NULL, decl, weak_decls); } else - warning ("%Jweak declaration of %qD not supported", decl, decl); + warning (0, "%Jweak declaration of %qD not supported", decl, decl); mark_weak (decl); } @@ -4377,7 +4377,7 @@ weak_finish (void) ASM_WEAKEN_LABEL (asm_out_file, name); #else #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; #endif #endif @@ -4639,7 +4639,7 @@ default_assemble_visibility (tree decl, int vis) assemble_name (asm_out_file, name); fprintf (asm_out_file, "\n"); #else - warning ("visibility attribute not supported in this configuration; ignored"); + warning (0, "visibility attribute not supported in this configuration; ignored"); #endif } |