aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-format.c
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2005-04-23 17:29:07 -0400
committerDJ Delorie <dj@gcc.gnu.org>2005-04-23 17:29:07 -0400
commitd4ee4d252515ac2d2bdb8ed085edc7feaf5b943d (patch)
tree754eeef62542ff45392c946c655cc40c38bd1bed /gcc/c-format.c
parent6084512671ee4909d6428506d46d09ee1a90cbdf (diff)
downloadgcc-d4ee4d252515ac2d2bdb8ed085edc7feaf5b943d.zip
gcc-d4ee4d252515ac2d2bdb8ed085edc7feaf5b943d.tar.gz
gcc-d4ee4d252515ac2d2bdb8ed085edc7feaf5b943d.tar.bz2
diagnostic.c (warning): Accept parameter to classify warning option.
* 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. * ada/misc.c: Adjust warning() callers. * cp/call.c, cp/class.c, cp/cvt.c, cp/decl.c, cp/decl2.c, cp/except.c, cp/friend.c, cp/init.c, cp/lex.c, cp/mangle.c, cp/method.c, cp/name-lookup.c, cp/parser.c, cp/repo.c, cp/rtti.c, cp/tree.c, cp/typeck.c, cp/typeck2.c: Adjust warning() callers. * fortran/trans-decl.c: Adjust warning() callers. * java/class.c, java/decl.c, java/expr.c, java/jcf-io.c, java/jcf-parse.c, java/jv-scan.c, java/parse.y: Adjust warning() callers. * objc/objc-act.c: Adjust warning() callers. * treelang/parse.y: Adjust warning() callers. From-SVN: r98633
Diffstat (limited to 'gcc/c-format.c')
-rw-r--r--gcc/c-format.c114
1 files changed, 57 insertions, 57 deletions
diff --git a/gcc/c-format.c b/gcc/c-format.c
index 1fdc858..7db8add 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);
}
}