This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Patch to use %< %q %> in C diagnostics
- From: "Joseph S. Myers" <jsm at polyomino dot org dot uk>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sun, 12 Sep 2004 23:54:59 +0000 (UTC)
- Subject: Patch to use %< %q %> in C diagnostics
This patch converts the C front end to use the %q %< %> diagnostic
formats for quoting consistently, as promised in
<http://gcc.gnu.org/ml/gcc-patches/2004-05/msg01537.html> and
requested by Zack on IRC, thus replacing three different quoting
styles `', '' and \"\". The start of Stage 3 seems a good time for
this sort of thing in that the amount of external development that
when merged might bring the old ways back onto mainline is minimised.
Not done in this patch (volunteers welcome):
* Conversion of comments away from ` as a left quote; it's one in
Texinfo, but in ASCII comments it's a grave accent. NB in target
files where the comments are copied from an old version of the
Texinfo manual and say nothing specific to that target they should
better be removed than converted.
* Diagnostics in other front ends. (Ada and Fortran don't use the
core diagnostics code, but the others should use the consistent
quoting.)
* Diagnostics in language-independent compiler, including config/*.
* Conversion of %qs to %qD where appropriate and the DECL is
available.
* Consistency of what is or is not quoted at all; I spotted and fixed
one place where quoting clearly should have been used, but I don't
believe it's particularly consistent.
* A few places where `...' is used for quoting in strings that aren't
diagnostic.c format strings.
* Making warn_for_assignment use proper quotes rather than ''; the
formatting with quotes is done with sprintf; the uses of this
function are not i18n-friendly (building up sentences) and unlike
the format checking where sanity demands driving the code from
tables and then adding copies of phrases as needed so translations
can decline nouns, having multiple slightly different full sentences
seems better here.
* Enabling Unicode quotes for English; the last comment in bug 15575
says that the configure patch to get HAVE_LANGINFO_CODESET defined
can go in, but it isn't there.
Bootstrapped with no regressions on i686-pc-linux-gnu. Applied to
mainline.
--
Joseph S. Myers http://www.srcf.ucam.org/~jsm28/gcc/
http://www.srcf.ucam.org/~jsm28/gcc/#c90status - status of C90 for GCC 4.0
jsm@polyomino.org.uk (personal mail)
jsm28@gcc.gnu.org (Bugzilla assignments and CCs)
2004-09-13 Joseph S. Myers <jsm@polyomino.org.uk>
* c-common.c, c-decl.c, c-lex.c, c-objc-common.c, c-opts.c,
c-parse.in, c-pragma.c, c-typeck.c: Use %q, %< and %> for quoting
in diagnostics. Use %' for English apostrophes.
* c-tree.h (ATTRIBUTE_GCC_CDIAG): Define.
(pedwarn_c90, pedwarn_c99): Use it.
* c-decl.c (lookup_label): Quote label name in diagnostic.
* c-parse.in (yyprint): Use ' instead of ` for left quote.
* c-typeck.c (warn_for_assignment): Likewise.
testsuite:
2004-09-13 Joseph S. Myers <jsm@polyomino.org.uk>
* g++.dg/warn/Wswitch-1.C, g++.dg/warn/Wswitch-2.C,
gcc.dg/Wswitch-2.c, gcc.dg/Wswitch-enum.c, gcc.dg/Wswitch.c,
gcc.dg/declspec-9.c, gcc.dg/declspec-10.c, gcc.dg/declspec-11.c,
gcc.dg/m-un-2.c, gcc.dg/noreturn-1.c, gcc.dg/wtr-conversion-1.c:
Update expected messages.
diff -rupN GCC.orig/gcc/c-common.c GCC/gcc/c-common.c
--- GCC.orig/gcc/c-common.c 2004-09-10 22:54:42.000000000 +0000
+++ GCC/gcc/c-common.c 2004-09-11 23:37:11.000000000 +0000
@@ -828,7 +828,7 @@ fname_decl (unsigned int rid, tree id)
input_location = saved_location;
}
if (!ix && !current_function_decl)
- pedwarn ("%J'%D' is not defined outside of function scope", decl, decl);
+ pedwarn ("%J%qD is not defined outside of function scope", decl, decl);
return decl;
}
@@ -849,7 +849,7 @@ fix_string_type (tree value)
nchars = wide_flag ? length / wchar_bytes : length;
if (pedantic && nchars - 1 > nchars_max && !c_dialect_cxx ())
- pedwarn ("string length `%d' is greater than the length `%d' ISO C%d compilers are required to support",
+ pedwarn ("string length %qd is greater than the length %qd ISO C%d compilers are required to support",
nchars - 1, nchars_max, flag_isoc99 ? 99 : 89);
e_type = wide_flag ? wchar_type_node : char_type_node;
@@ -1135,7 +1135,7 @@ warn_for_collisions_1 (tree written, tre
&& DECL_NAME (list->expr))
{
warned_ids = new_tlist (warned_ids, written, NULL_TREE);
- warning ("operation on `%s' may be undefined",
+ warning ("operation on %qs may be undefined",
IDENTIFIER_POINTER (DECL_NAME (list->expr)));
}
list = list->next;
@@ -2229,7 +2229,7 @@ pointer_int_sum (enum tree_code resultco
if (TREE_CODE (TREE_TYPE (result_type)) == VOID_TYPE)
{
if (pedantic || warn_pointer_arith)
- pedwarn ("pointer of type `void *' used in arithmetic");
+ pedwarn ("pointer of type %<void *%> used in arithmetic");
size_exp = integer_one_node;
}
else if (TREE_CODE (TREE_TYPE (result_type)) == FUNCTION_TYPE)
@@ -2349,7 +2349,7 @@ c_common_truthvalue_conversion (tree exp
{
/* Common Ada/Pascal programmer's mistake. We always warn
about this since it is so bad. */
- warning ("the address of `%D', will always evaluate as `true'",
+ warning ("the address of %qD, will always evaluate as %<true%>",
TREE_OPERAND (expr, 0));
return truthvalue_true_node;
}
@@ -2494,7 +2494,7 @@ c_build_qualified_type (tree type, int t
&& (!POINTER_TYPE_P (type)
|| !C_TYPE_OBJECT_OR_INCOMPLETE_P (TREE_TYPE (type))))
{
- error ("invalid use of `restrict'");
+ error ("invalid use of %<restrict%>");
type_quals &= ~TYPE_QUAL_RESTRICT;
}
@@ -2534,7 +2534,7 @@ c_apply_type_quals_to_decl (int type_qua
if (!type
|| !POINTER_TYPE_P (type)
|| !C_TYPE_OBJECT_OR_INCOMPLETE_P (TREE_TYPE (type)))
- error ("invalid use of `restrict'");
+ error ("invalid use of %<restrict%>");
else if (flag_strict_aliasing && type == TREE_TYPE (decl))
/* Indicate we need to make a unique alias set for this pointer.
We can't do it here because it might be pointing to an
@@ -2749,7 +2749,7 @@ c_sizeof_or_alignof_type (tree type, enu
if (op == SIZEOF_EXPR)
{
if (complain && (pedantic || warn_pointer_arith))
- pedwarn ("invalid application of `sizeof' to a function type");
+ pedwarn ("invalid application of %<sizeof%> to a function type");
value = size_one_node;
}
else
@@ -2759,13 +2759,13 @@ c_sizeof_or_alignof_type (tree type, enu
{
if (type_code == VOID_TYPE
&& complain && (pedantic || warn_pointer_arith))
- pedwarn ("invalid application of `%s' to a void type", op_name);
+ pedwarn ("invalid application of %qs to a void type", op_name);
value = size_one_node;
}
else if (!COMPLETE_TYPE_P (type))
{
if (complain)
- error ("invalid application of `%s' to incomplete type `%T' ",
+ error ("invalid application of %qs to incomplete type %qT ",
op_name, type);
value = size_zero_node;
}
@@ -2806,7 +2806,7 @@ c_alignof_expr (tree expr)
else if (TREE_CODE (expr) == COMPONENT_REF
&& DECL_C_BIT_FIELD (TREE_OPERAND (expr, 1)))
{
- error ("`__alignof' applied to a bit-field");
+ error ("%<__alignof%> applied to a bit-field");
t = size_one_node;
}
else if (TREE_CODE (expr) == COMPONENT_REF
@@ -3249,7 +3249,7 @@ void
disable_builtin_function (const char *name)
{
if (strncmp (name, "__builtin_", strlen ("__builtin_")) == 0)
- error ("cannot disable built-in function `%s'", name);
+ error ("cannot disable built-in function %qs", name);
else
{
disabled_builtin *new_disabled_builtin = XNEW (disabled_builtin);
@@ -3657,10 +3657,10 @@ match_case_to_enum_1 (tree key, tree typ
TREE_INT_CST_HIGH (key), TREE_INT_CST_LOW (key));
if (TYPE_NAME (type) == 0)
- warning ("%Jcase value `%s' not in enumerated type",
+ warning ("%Jcase value %qs not in enumerated type",
CASE_LABEL (label), buf);
else
- warning ("%Jcase value `%s' not in enumerated type `%T'",
+ warning ("%Jcase value %qs not in enumerated type %qT",
CASE_LABEL (label), buf, type);
}
@@ -3761,7 +3761,7 @@ c_do_switch_warnings (splay_tree cases,
{
/* Warn if there are enumerators that don't correspond to
case expressions. */
- warning ("%Henumeration value `%E' not handled in switch",
+ warning ("%Henumeration value %qE not handled in switch",
&switch_location, TREE_PURPOSE (chain));
}
}
@@ -3957,7 +3957,7 @@ handle_packed_attribute (tree *node, tre
that changes what the typedef is typing. */
else
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -3976,7 +3976,7 @@ handle_nocommon_attribute (tree *node, t
DECL_COMMON (*node) = 0;
else
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -3994,7 +3994,7 @@ handle_common_attribute (tree *node, tre
DECL_COMMON (*node) = 1;
else
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -4021,7 +4021,7 @@ handle_noreturn_attribute (tree *node, t
TYPE_READONLY (TREE_TYPE (type)), 1));
else
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -4040,7 +4040,7 @@ handle_noinline_attribute (tree *node, t
DECL_UNINLINABLE (*node) = 1;
else
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -4063,7 +4063,7 @@ handle_always_inline_attribute (tree *no
}
else
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -4087,7 +4087,7 @@ handle_used_attribute (tree *pnode, tree
}
else
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -4113,7 +4113,7 @@ handle_unused_attribute (tree *node, tre
TREE_USED (decl) = 1;
else
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
}
@@ -4147,7 +4147,7 @@ handle_const_attribute (tree *node, tree
TREE_THIS_VOLATILE (TREE_TYPE (type))));
else
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -4191,7 +4191,7 @@ handle_transparent_union_attribute (tree
DECL_TRANSPARENT_UNION (decl) = 1;
else
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -4219,7 +4219,7 @@ handle_constructor_attribute (tree *node
}
else
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -4247,7 +4247,7 @@ handle_destructor_attribute (tree *node,
}
else
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -4266,7 +4266,7 @@ handle_mode_attribute (tree *node, tree
*no_add_attrs = true;
if (TREE_CODE (TREE_VALUE (args)) != IDENTIFIER_NODE)
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
else
{
int j;
@@ -4367,7 +4367,7 @@ handle_mode_attribute (tree *node, tree
this mode for this type. */
if (TREE_CODE (typefm) != INTEGER_TYPE)
{
- error ("cannot use mode '%s' for enumeral types",
+ error ("cannot use mode %qs for enumeral types",
GET_MODE_NAME (mode));
return NULL_TREE;
}
@@ -4417,7 +4417,7 @@ handle_section_attribute (tree *node, tr
&& strcmp (TREE_STRING_POINTER (DECL_SECTION_NAME (decl)),
TREE_STRING_POINTER (TREE_VALUE (args))) != 0)
{
- error ("%Jsection of '%D' conflicts with previous declaration",
+ error ("%Jsection of %qD conflicts with previous declaration",
*node, *node);
*no_add_attrs = true;
}
@@ -4426,7 +4426,7 @@ handle_section_attribute (tree *node, tr
}
else
{
- error ("%Jsection attribute not allowed for '%D'", *node, *node);
+ error ("%Jsection attribute not allowed for %qD", *node, *node);
*no_add_attrs = true;
}
}
@@ -4506,7 +4506,7 @@ handle_aligned_attribute (tree *node, tr
else if (TREE_CODE (decl) != VAR_DECL
&& TREE_CODE (decl) != FIELD_DECL)
{
- error ("%Jalignment may not be specified for '%D'", decl, decl);
+ error ("%Jalignment may not be specified for %qD", decl, decl);
*no_add_attrs = true;
}
else
@@ -4544,7 +4544,7 @@ handle_alias_attribute (tree *node, tree
if ((TREE_CODE (decl) == FUNCTION_DECL && DECL_INITIAL (decl))
|| (TREE_CODE (decl) != FUNCTION_DECL && ! DECL_EXTERNAL (decl)))
{
- error ("%J'%D' defined both normally and as an alias", decl, decl);
+ error ("%J%qD defined both normally and as an alias", decl, decl);
*no_add_attrs = true;
}
@@ -4578,7 +4578,7 @@ handle_alias_attribute (tree *node, tree
}
else
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -4602,14 +4602,14 @@ handle_visibility_attribute (tree *node,
{
if (TREE_CODE (*node) != RECORD_TYPE && TREE_CODE (*node) != UNION_TYPE)
{
- warning ("`%s' attribute ignored on non-class types",
+ warning ("%qs attribute ignored on non-class types",
IDENTIFIER_POINTER (name));
return NULL_TREE;
}
}
else if (decl_function_context (decl) != 0 || ! TREE_PUBLIC (decl))
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
return NULL_TREE;
}
@@ -4695,7 +4695,7 @@ handle_tls_model_attribute (tree *node,
if (! DECL_THREAD_LOCAL (decl))
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
else
@@ -4736,12 +4736,12 @@ handle_no_instrument_function_attribute
if (TREE_CODE (decl) != FUNCTION_DECL)
{
- error ("%J'%E' attribute applies only to functions", decl, name);
+ error ("%J%qE attribute applies only to functions", decl, name);
*no_add_attrs = true;
}
else if (DECL_INITIAL (decl))
{
- error ("%Jcan't set '%E' attribute after definition", decl, name);
+ error ("%Jcan%'t set %qE attribute after definition", decl, name);
*no_add_attrs = true;
}
else
@@ -4762,7 +4762,7 @@ handle_malloc_attribute (tree *node, tre
/* ??? TODO: Support types. */
else
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -4782,12 +4782,12 @@ handle_no_limit_stack_attribute (tree *n
if (TREE_CODE (decl) != FUNCTION_DECL)
{
- error ("%J'%E' attribute applies only to functions", decl, name);
+ error ("%J%qE attribute applies only to functions", decl, name);
*no_add_attrs = true;
}
else if (DECL_INITIAL (decl))
{
- error ("%Jcan't set '%E' attribute after definition", decl, name);
+ error ("%Jcan%'t set %qE attribute after definition", decl, name);
*no_add_attrs = true;
}
else
@@ -4808,7 +4808,7 @@ handle_pure_attribute (tree *node, tree
/* ??? TODO: Support types. */
else
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -4863,10 +4863,10 @@ handle_deprecated_attribute (tree *node,
what = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type)));
}
if (what)
- warning ("`%s' attribute ignored for `%s'",
+ warning ("%qs attribute ignored for %qs",
IDENTIFIER_POINTER (name), what);
else
- warning ("`%s' attribute ignored",
+ warning ("%qs attribute ignored",
IDENTIFIER_POINTER (name));
}
@@ -4895,7 +4895,7 @@ handle_vector_size_attribute (tree *node
if (! host_integerp (size, 1))
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
return NULL_TREE;
}
@@ -4924,7 +4924,7 @@ handle_vector_size_attribute (tree *node
&& GET_MODE_CLASS (orig_mode) != MODE_INT)
|| ! host_integerp (TYPE_SIZE_UNIT (type), 1))
{
- error ("invalid vector type for attribute `%s'",
+ error ("invalid vector type for attribute %qs",
IDENTIFIER_POINTER (name));
return NULL_TREE;
}
@@ -5174,7 +5174,7 @@ handle_nothrow_attribute (tree *node, tr
/* ??? TODO: Support types. */
else
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -5197,7 +5197,7 @@ handle_cleanup_attribute (tree *node, tr
we'd be missing too much, since we do have attribute constructor. */
if (TREE_CODE (decl) != VAR_DECL || TREE_STATIC (decl))
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
return NULL_TREE;
}
@@ -5236,7 +5236,7 @@ handle_warn_unused_result_attribute (tre
/* Ignore the attribute for functions not returning any value. */
if (VOID_TYPE_P (TREE_TYPE (*node)))
{
- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -5253,7 +5253,7 @@ handle_sentinel_attribute (tree *node, t
if (!params)
{
- warning ("`%s' attribute requires prototypes with named arguments",
+ warning ("%qs attribute requires prototypes with named arguments",
IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -5264,7 +5264,7 @@ handle_sentinel_attribute (tree *node, t
if (VOID_TYPE_P (TREE_VALUE (params)))
{
- warning ("`%s' attribute only applies to variadic functions",
+ warning ("%qs attribute only applies to variadic functions",
IDENTIFIER_POINTER (name));
*no_add_attrs = true;
}
@@ -5489,7 +5489,7 @@ c_parse_error (const char *msgid, enum c
else if (token == CPP_NAME)
error ("%s before \"%s\"", string, IDENTIFIER_POINTER (value));
else if (token < N_TTYPES)
- error ("%s before '%s' token", string, cpp_type2name (token));
+ error ("%s before %qs token", string, cpp_type2name (token));
else
error ("%s", string);
}
@@ -5551,7 +5551,7 @@ c_warn_unused_result (tree *top_p)
if (lookup_attribute ("warn_unused_result", TYPE_ATTRIBUTES (ftype)))
{
if (fdecl)
- warning ("%Hignoring return value of `%D', "
+ warning ("%Hignoring return value of %qD, "
"declared with attribute warn_unused_result",
EXPR_LOCUS (t), fdecl);
else
@@ -5595,7 +5595,7 @@ fold_offsetof_1 (tree expr)
if (DECL_C_BIT_FIELD (t))
{
error ("attempt to take address of bit-field structure "
- "member `%s'", IDENTIFIER_POINTER (DECL_NAME (t)));
+ "member %qs", IDENTIFIER_POINTER (DECL_NAME (t)));
return error_mark_node;
}
off = size_binop (PLUS_EXPR, DECL_FIELD_OFFSET (t),
diff -rupN GCC.orig/gcc/c-decl.c GCC/gcc/c-decl.c
--- GCC.orig/gcc/c-decl.c 2004-09-11 21:23:10.000000000 +0000
+++ GCC/gcc/c-decl.c 2004-09-11 23:50:05.000000000 +0000
@@ -521,7 +521,7 @@ c_finish_incomplete_decl (tree decl)
&& ! DECL_EXTERNAL (decl)
&& TYPE_DOMAIN (type) == 0)
{
- warning ("%Jarray '%D' assumed to have one element", decl, decl);
+ warning ("%Jarray %qD assumed to have one element", decl, decl);
complete_array_type (type, NULL_TREE, 1);
@@ -718,15 +718,15 @@ pop_scope (void)
/* Warnings for unused labels, errors for undefined labels. */
if (TREE_USED (p) && !DECL_INITIAL (p))
{
- error ("%Jlabel `%D' used but not defined", p, p);
+ error ("%Jlabel %qD used but not defined", p, p);
DECL_INITIAL (p) = error_mark_node;
}
else if (!TREE_USED (p) && warn_unused_label)
{
if (DECL_INITIAL (p))
- warning ("%Jlabel `%D' defined but not used", p, p);
+ warning ("%Jlabel %qD defined but not used", p, p);
else
- warning ("%Jlabel `%D' declared but not defined", p, p);
+ warning ("%Jlabel %qD declared but not defined", p, p);
}
/* Labels go in BLOCK_VARS. */
TREE_CHAIN (p) = BLOCK_VARS (block);
@@ -771,7 +771,7 @@ pop_scope (void)
|| (TREE_STATIC (p) && !TREE_PUBLIC (p)
&& !TREE_THIS_VOLATILE (p)))
&& scope != external_scope)
- warning ("%Junused variable `%D'", p, p);
+ warning ("%Junused variable %qD", p, p);
if (b->inner_comp)
{
@@ -1050,13 +1050,13 @@ validate_proto_after_old_defn (tree newd
agree on the number of arguments. */
if (END_OF_ARGLIST (oldargtype))
{
- error ("%Jprototype for '%D' declares more arguments "
+ error ("%Jprototype for %qD declares more arguments "
"than previous old-style definition", newdecl, newdecl);
return false;
}
else if (END_OF_ARGLIST (newargtype))
{
- error ("%Jprototype for '%D' declares fewer arguments "
+ error ("%Jprototype for %qD declares fewer arguments "
"than previous old-style definition", newdecl, newdecl);
return false;
}
@@ -1065,7 +1065,7 @@ validate_proto_after_old_defn (tree newd
for the arg. */
else if (! comptypes (oldargtype, newargtype))
{
- error ("%Jprototype for '%D' declares arg %d with incompatible type",
+ error ("%Jprototype for %qD declares arg %d with incompatible type",
newdecl, newdecl, i);
return false;
}
@@ -1077,7 +1077,7 @@ validate_proto_after_old_defn (tree newd
/* If we get here, no errors were found, but do issue a warning
for this poor-style construct. */
- warning ("%Jprototype for '%D' follows non-prototype definition",
+ warning ("%Jprototype for %qD follows non-prototype definition",
newdecl, newdecl);
return true;
#undef END_OF_ARGLIST
@@ -1092,11 +1092,11 @@ locate_old_decl (tree decl, void (*diag)
if (TREE_CODE (decl) == FUNCTION_DECL && DECL_BUILT_IN (decl))
;
else if (DECL_INITIAL (decl))
- diag (N_("%Jprevious definition of '%D' was here"), decl, decl);
+ diag (N_("%Jprevious definition of %qD was here"), decl, decl);
else if (C_DECL_IMPLICIT (decl))
- diag (N_("%Jprevious implicit declaration of '%D' was here"), decl, decl);
+ diag (N_("%Jprevious implicit declaration of %qD was here"), decl, decl);
else
- diag (N_("%Jprevious declaration of '%D' was here"), decl, decl);
+ diag (N_("%Jprevious declaration of %qD was here"), decl, decl);
}
/* Subroutine of duplicate_decls. Compare NEWDECL to OLDDECL.
@@ -1132,15 +1132,15 @@ diagnose_mismatched_decls (tree newdecl,
&& DECL_BUILT_IN (olddecl)
&& !C_DECL_DECLARED_BUILTIN (olddecl)))
{
- error ("%J'%D' redeclared as different kind of symbol",
+ error ("%J%qD redeclared as different kind of symbol",
newdecl, newdecl);
locate_old_decl (olddecl, error);
}
else if (TREE_PUBLIC (newdecl))
- warning ("%Jbuilt-in function '%D' declared as non-function",
+ warning ("%Jbuilt-in function %qD declared as non-function",
newdecl, newdecl);
else if (warn_shadow)
- warning ("%Jdeclaration of '%D' shadows a built-in function",
+ warning ("%Jdeclaration of %qD shadows a built-in function",
newdecl, newdecl);
return false;
}
@@ -1161,7 +1161,7 @@ diagnose_mismatched_decls (tree newdecl,
/* 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 '%D'",
+ warning ("%Jconflicting types for built-in function %qD",
newdecl, newdecl);
return false;
}
@@ -1185,7 +1185,7 @@ diagnose_mismatched_decls (tree newdecl,
&& TYPE_MAIN_VARIANT (TREE_TYPE (newtype)) == integer_type_node
&& C_FUNCTION_IMPLICIT_INT (newdecl))
{
- pedwarn ("%Jconflicting types for '%D'", newdecl, newdecl);
+ pedwarn ("%Jconflicting types for %qD", newdecl, newdecl);
/* Make sure we keep void as the return type. */
TREE_TYPE (newdecl) = *newtypep = newtype = oldtype;
C_FUNCTION_IMPLICIT_INT (newdecl) = 0;
@@ -1194,9 +1194,9 @@ diagnose_mismatched_decls (tree newdecl,
else
{
if (TYPE_QUALS (newtype) != TYPE_QUALS (oldtype))
- error ("%J conflicting type qualifiers for '%D'", newdecl, newdecl);
+ error ("%J conflicting type qualifiers for %qD", newdecl, newdecl);
else
- error ("%Jconflicting types for '%D'", newdecl, newdecl);
+ error ("%Jconflicting types for %qD", newdecl, newdecl);
diagnose_arglist_conflict (newdecl, olddecl, newtype, oldtype);
locate_old_decl (olddecl, error);
return false;
@@ -1211,7 +1211,7 @@ diagnose_mismatched_decls (tree newdecl,
if (DECL_IN_SYSTEM_HEADER (newdecl) || DECL_IN_SYSTEM_HEADER (olddecl))
return true; /* Allow OLDDECL to continue in use. */
- error ("%Jredefinition of typedef '%D'", newdecl, newdecl);
+ error ("%Jredefinition of typedef %qD", newdecl, newdecl);
locate_old_decl (olddecl, error);
return false;
}
@@ -1235,7 +1235,7 @@ diagnose_mismatched_decls (tree newdecl,
&& !TYPE_ARG_TYPES (TREE_TYPE (newdecl)))))
{
if (warn_shadow)
- warning ("%Jdeclaration of '%D' shadows a built-in function",
+ warning ("%Jdeclaration of %qD shadows a built-in function",
newdecl, newdecl);
/* Discard the old built-in function. */
return false;
@@ -1250,7 +1250,7 @@ diagnose_mismatched_decls (tree newdecl,
&& DECL_EXTERNAL (newdecl)
&& same_translation_unit_p (olddecl, newdecl))))
{
- error ("%Jredefinition of '%D'", newdecl, newdecl);
+ error ("%Jredefinition of %qD", newdecl, newdecl);
locate_old_decl (olddecl, error);
return false;
}
@@ -1285,7 +1285,7 @@ diagnose_mismatched_decls (tree newdecl,
&& !(DECL_EXTERNAL (olddecl)
&& DECL_DECLARED_INLINE_P (olddecl)))
{
- error ("%Jstatic declaration of '%D' follows "
+ error ("%Jstatic declaration of %qD follows "
"non-static declaration", newdecl, newdecl);
locate_old_decl (olddecl, error);
}
@@ -1295,14 +1295,14 @@ diagnose_mismatched_decls (tree newdecl,
{
if (DECL_CONTEXT (olddecl))
{
- error ("%Jnon-static declaration of '%D' follows "
+ error ("%Jnon-static declaration of %qD follows "
"static declaration", newdecl, newdecl);
locate_old_decl (olddecl, error);
return false;
}
else if (warn_traditional)
{
- warning ("%Jnon-static declaration of '%D' follows "
+ warning ("%Jnon-static declaration of %qD follows "
"static declaration", newdecl, newdecl);
warned = true;
}
@@ -1315,10 +1315,10 @@ diagnose_mismatched_decls (tree newdecl,
if (DECL_THREAD_LOCAL (newdecl) != DECL_THREAD_LOCAL (olddecl))
{
if (DECL_THREAD_LOCAL (newdecl))
- error ("%Jthread-local declaration of '%D' follows "
+ error ("%Jthread-local declaration of %qD follows "
"non-thread-local declaration", newdecl, newdecl);
else
- error ("%Jnon-thread-local declaration of '%D' follows "
+ error ("%Jnon-thread-local declaration of %qD follows "
"thread-local declaration", newdecl, newdecl);
locate_old_decl (olddecl, error);
@@ -1328,7 +1328,7 @@ diagnose_mismatched_decls (tree newdecl,
/* Multiple initialized definitions are not allowed (6.9p3,5). */
if (DECL_INITIAL (newdecl) && DECL_INITIAL (olddecl))
{
- error ("%Jredefinition of '%D'", newdecl, newdecl);
+ error ("%Jredefinition of %qD", newdecl, newdecl);
locate_old_decl (olddecl, error);
return false;
}
@@ -1355,7 +1355,7 @@ diagnose_mismatched_decls (tree newdecl,
}
else if (warn_traditional)
{
- warning ("%Jnon-static declaration of '%D' follows "
+ warning ("%Jnon-static declaration of %qD follows "
"static declaration", newdecl, newdecl);
warned = true;
}
@@ -1363,10 +1363,10 @@ diagnose_mismatched_decls (tree newdecl,
else
{
if (TREE_PUBLIC (newdecl))
- error ("%Jnon-static declaration of '%D' follows "
+ error ("%Jnon-static declaration of %qD follows "
"static declaration", newdecl, newdecl);
else
- error ("%Jstatic declaration of '%D' follows "
+ error ("%Jstatic declaration of %qD follows "
"non-static declaration", newdecl, newdecl);
locate_old_decl (olddecl, error);
@@ -1384,13 +1384,13 @@ diagnose_mismatched_decls (tree newdecl,
}
else if (DECL_EXTERNAL (olddecl))
{
- error ("%Jdeclaration of '%D' with no linkage follows "
+ error ("%Jdeclaration of %qD with no linkage follows "
"extern declaration", newdecl, newdecl);
locate_old_decl (olddecl, error);
}
else
{
- error ("%Jredeclaration of '%D' with no linkage",
+ error ("%Jredeclaration of %qD with no linkage",
newdecl, newdecl);
locate_old_decl (olddecl, error);
}
@@ -1404,7 +1404,7 @@ diagnose_mismatched_decls (tree newdecl,
if (DECL_VISIBILITY_SPECIFIED (newdecl) && DECL_VISIBILITY_SPECIFIED (olddecl)
&& DECL_VISIBILITY (newdecl) != DECL_VISIBILITY (olddecl))
{
- warning ("%Jredeclaration of '%D' with different visibility "
+ warning ("%Jredeclaration of %qD with different visibility "
"(old visibility preserved)", newdecl, newdecl);
warned = true;
}
@@ -1415,14 +1415,14 @@ diagnose_mismatched_decls (tree newdecl,
if (DECL_DECLARED_INLINE_P (newdecl)
&& lookup_attribute ("noinline", DECL_ATTRIBUTES (olddecl)))
{
- warning ("%Jinline declaration of '%D' follows "
+ warning ("%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 '%D' with attribute noinline follows "
+ warning ("%Jdeclaration of %qD with attribute noinline follows "
"inline declaration ", newdecl, newdecl);
warned = true;
}
@@ -1437,13 +1437,13 @@ diagnose_mismatched_decls (tree newdecl,
{
if (TREE_USED (olddecl))
{
- warning ("%J'%D' declared inline after being called",
+ warning ("%J%qD declared inline after being called",
olddecl, olddecl);
warned = true;
}
else if (DECL_INITIAL (olddecl))
{
- warning ("%J'%D' declared inline after its definition",
+ warning ("%J%qD declared inline after its definition",
olddecl, olddecl);
warned = true;
}
@@ -1463,7 +1463,7 @@ diagnose_mismatched_decls (tree newdecl,
if (TREE_CODE (newdecl) == PARM_DECL
&& (!TREE_ASM_WRITTEN (olddecl) || TREE_ASM_WRITTEN (newdecl)))
{
- error ("%Jredefinition of parameter '%D'", newdecl, newdecl);
+ error ("%Jredefinition of parameter %qD", newdecl, newdecl);
locate_old_decl (olddecl, error);
return false;
}
@@ -1487,7 +1487,7 @@ diagnose_mismatched_decls (tree newdecl,
&& !(TREE_CODE (newdecl) == PARM_DECL
&& TREE_ASM_WRITTEN (olddecl) && !TREE_ASM_WRITTEN (newdecl)))
{
- warning ("%Jredundant redeclaration of '%D'", newdecl, newdecl);
+ warning ("%Jredundant redeclaration of %qD", newdecl, newdecl);
warned = true;
}
@@ -1793,17 +1793,17 @@ warn_if_shadowing (tree new_decl)
tree old_decl = b->decl;
if (TREE_CODE (old_decl) == PARM_DECL)
- warning ("%Jdeclaration of '%D' shadows a parameter",
+ warning ("%Jdeclaration of %qD shadows a parameter",
new_decl, new_decl);
else if (DECL_FILE_SCOPE_P (old_decl))
- warning ("%Jdeclaration of '%D' shadows a global declaration",
+ warning ("%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 '%D' shadows a built-in function",
+ warning ("%Jdeclaration of %qD shadows a built-in function",
new_decl, new_decl);
else
- warning ("%Jdeclaration of '%D' shadows a previous local",
+ warning ("%Jdeclaration of %qD shadows a previous local",
new_decl, new_decl);
if (TREE_CODE (old_decl) != FUNCTION_DECL
@@ -1962,7 +1962,7 @@ pushdecl (tree x)
if (warn_nested_externs
&& scope != file_scope
&& !DECL_IN_SYSTEM_HEADER (x))
- warning ("nested extern declaration of '%D'", x);
+ warning ("nested extern declaration of %qD", x);
while (b && !B_IN_EXTERNAL_SCOPE (b))
{
@@ -2051,7 +2051,7 @@ pushdecl (tree x)
&& !TREE_PUBLIC (x) && !DECL_INITIAL (x))
{
if (warn_nested_externs && !DECL_IN_SYSTEM_HEADER (x))
- warning ("nested static declaration of '%D'", x);
+ warning ("nested static declaration of %qD", x);
while (b && !B_IN_FILE_SCOPE (b))
b = b->shadowed;
@@ -2146,7 +2146,7 @@ implicit_decl_warning (tree id, tree old
default: gcc_unreachable ();
}
- diag (N_("implicit declaration of function '%E'"), id);
+ diag (N_("implicit declaration of function %qE"), id);
if (olddecl)
locate_old_decl (olddecl, diag);
}
@@ -2261,12 +2261,12 @@ undeclared_variable (tree id)
if (current_function_decl == 0)
{
- error ("'%E' undeclared here (not in a function)", id);
+ error ("%qE undeclared here (not in a function)", id);
scope = current_scope;
}
else
{
- error ("'%E' undeclared (first use in this function)", id);
+ error ("%qE undeclared (first use in this function)", id);
if (! already)
{
@@ -2309,7 +2309,7 @@ lookup_label (tree name)
if (current_function_decl == 0)
{
- error ("label %s referenced outside of any function",
+ error ("label %qs referenced outside of any function",
IDENTIFIER_POINTER (name));
return 0;
}
@@ -2352,7 +2352,7 @@ declare_label (tree name)
at this scope */
if (b && B_IN_CURRENT_SCOPE (b))
{
- error ("duplicate label declaration `%s'", IDENTIFIER_POINTER (name));
+ error ("duplicate label declaration %qs", IDENTIFIER_POINTER (name));
locate_old_decl (b->decl, error);
/* Just use the previous declaration. */
@@ -2387,7 +2387,7 @@ define_label (location_t location, tree
|| (DECL_CONTEXT (label) != current_function_decl
&& C_DECLARED_LABEL_FLAG (label))))
{
- error ("%Hduplicate label `%D'", &location, label);
+ error ("%Hduplicate label %qD", &location, label);
locate_old_decl (label, error);
return 0;
}
@@ -2410,7 +2410,7 @@ define_label (location_t location, tree
if (warn_traditional && !in_system_header && lookup_name (name))
warning ("%Htraditional C lacks a separate namespace for labels, "
- "identifier `%s' conflicts", &location,
+ "identifier %qs conflicts", &location,
IDENTIFIER_POINTER (name));
/* Mark label as having been defined. */
@@ -2475,7 +2475,7 @@ void
pending_xref_error (void)
{
if (pending_invalid_xref != 0)
- error ("%H`%s' defined as wrong kind of tag",
+ error ("%H%qs defined as wrong kind of tag",
&pending_invalid_xref_location,
IDENTIFIER_POINTER (pending_invalid_xref));
pending_invalid_xref = 0;
@@ -2808,12 +2808,13 @@ build_array_declarator (tree expr, struc
if (pedantic && !flag_isoc99)
{
if (static_p || quals != NULL)
- pedwarn ("ISO C90 does not support `static' or type qualifiers in parameter array declarators");
+ pedwarn ("ISO C90 does not support %<static%> or type "
+ "qualifiers in parameter array declarators");
if (vla_unspec_p)
- pedwarn ("ISO C90 does not support `[*]' array declarators");
+ pedwarn ("ISO C90 does not support %<[*]%> array declarators");
}
if (vla_unspec_p)
- warning ("GCC does not yet properly implement `[*]' array declarators");
+ warning ("GCC does not yet properly implement %<[*]%> array declarators");
return declarator;
}
@@ -2888,7 +2889,7 @@ start_decl (struct c_declarator *declara
if (warn_main > 0 && TREE_CODE (decl) != FUNCTION_DECL
&& MAIN_NAME_P (DECL_NAME (decl)))
- warning ("%J'%D' is usually a function", decl, decl);
+ warning ("%J%qD is usually a function", decl, decl);
if (initialized)
/* Is it valid for this decl to have an initializer at all?
@@ -2897,18 +2898,18 @@ start_decl (struct c_declarator *declara
switch (TREE_CODE (decl))
{
case TYPE_DECL:
- error ("typedef '%D' is initialized (use __typeof__ instead)", decl);
+ error ("typedef %qD is initialized (use __typeof__ instead)", decl);
initialized = 0;
break;
case FUNCTION_DECL:
- error ("function '%D' is initialized like a variable", decl);
+ error ("function %qD is initialized like a variable", decl);
initialized = 0;
break;
case PARM_DECL:
/* DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE. */
- error ("parameter '%D' is initialized", decl);
+ error ("parameter %qD is initialized", decl);
initialized = 0;
break;
@@ -2933,12 +2934,12 @@ start_decl (struct c_declarator *declara
}
else if (TREE_CODE (TREE_TYPE (decl)) != ARRAY_TYPE)
{
- error ("variable '%D' has initializer but incomplete type", decl);
+ error ("variable %qD has initializer but incomplete type", decl);
initialized = 0;
}
else if (!COMPLETE_TYPE_P (TREE_TYPE (TREE_TYPE (decl))))
{
- error ("elements of array '%D' have incomplete type", decl);
+ error ("elements of array %qD have incomplete type", decl);
initialized = 0;
}
}
@@ -3005,7 +3006,7 @@ start_decl (struct c_declarator *declara
&& DECL_DECLARED_INLINE_P (decl)
&& DECL_UNINLINABLE (decl)
&& lookup_attribute ("noinline", DECL_ATTRIBUTES (decl)))
- warning ("%Jinline function '%D' given attribute noinline", decl, decl);
+ warning ("%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. */
@@ -3069,12 +3070,12 @@ finish_decl (tree decl, tree init, tree
type = TREE_TYPE (decl);
if (failure == 1)
- error ("%Jinitializer fails to determine size of '%D'", decl, decl);
+ error ("%Jinitializer fails to determine size of %qD", decl, decl);
else if (failure == 2)
{
if (do_default)
- error ("%Jarray size missing in '%D'", decl, decl);
+ error ("%Jarray size missing in %qD", decl, decl);
/* If a `static' var's size isn't known,
make it extern as well as static, so it does not get
allocated.
@@ -3090,7 +3091,7 @@ finish_decl (tree decl, tree init, tree
warn only if the value is less than zero. */
else if (pedantic && TYPE_DOMAIN (type) != 0
&& tree_int_cst_sgn (TYPE_MAX_VALUE (TYPE_DOMAIN (type))) < 0)
- error ("%Jzero or negative size array '%D'", decl, decl);
+ error ("%Jzero or negative size array %qD", decl, decl);
layout_decl (decl, 0);
}
@@ -3116,7 +3117,7 @@ finish_decl (tree decl, tree init, tree
is an error. */
: !DECL_EXTERNAL (decl)))
{
- error ("%Jstorage size of '%D' isn't known", decl, decl);
+ error ("%Jstorage size of %qD isn%'t known", decl, decl);
TREE_TYPE (decl) = error_mark_node;
}
@@ -3126,7 +3127,7 @@ finish_decl (tree decl, tree init, tree
if (TREE_CODE (DECL_SIZE (decl)) == INTEGER_CST)
constant_expression_warning (DECL_SIZE (decl));
else
- error ("%Jstorage size of '%D' isn't constant", decl, decl);
+ error ("%Jstorage size of %qD isn%'t constant", decl, decl);
}
if (TREE_USED (type))
@@ -3182,7 +3183,7 @@ finish_decl (tree decl, tree init, tree
&& !C_DECL_REGISTER (decl)
&& !TREE_STATIC (decl))
warning ("%Jignoring asm-specifier for non-static local "
- "variable '%D'", decl, decl);
+ "variable %qD", decl, decl);
else if (C_DECL_REGISTER (decl))
change_decl_assembler_name (decl, get_identifier (asmspec));
else
@@ -3533,7 +3534,7 @@ check_bitfield_type_and_width (tree *typ
field widths. */
if (TREE_CODE (*width) != INTEGER_CST)
{
- error ("bit-field `%s' width not an integer constant", name);
+ error ("bit-field %qs width not an integer constant", name);
*width = integer_one_node;
}
else
@@ -3541,12 +3542,12 @@ check_bitfield_type_and_width (tree *typ
constant_expression_warning (*width);
if (tree_int_cst_sgn (*width) < 0)
{
- error ("negative width in bit-field `%s'", name);
+ error ("negative width in bit-field %qs", name);
*width = integer_one_node;
}
else if (integer_zerop (*width) && orig_name)
{
- error ("zero width for bit-field `%s'", name);
+ error ("zero width for bit-field %qs", name);
*width = integer_one_node;
}
}
@@ -3556,7 +3557,7 @@ check_bitfield_type_and_width (tree *typ
&& TREE_CODE (*type) != BOOLEAN_TYPE
&& TREE_CODE (*type) != ENUMERAL_TYPE)
{
- error ("bit-field `%s' has invalid type", name);
+ error ("bit-field %qs has invalid type", name);
*type = unsigned_type_node;
}
@@ -3565,7 +3566,7 @@ check_bitfield_type_and_width (tree *typ
&& type_mv != integer_type_node
&& type_mv != unsigned_type_node
&& type_mv != boolean_type_node)
- pedwarn ("type of bit-field `%s' is a GCC extension", name);
+ pedwarn ("type of bit-field %qs is a GCC extension", name);
if (type_mv == boolean_type_node)
max_width = CHAR_TYPE_SIZE;
@@ -3574,7 +3575,7 @@ check_bitfield_type_and_width (tree *typ
if (0 < compare_tree_int (*width, max_width))
{
- error ("width of `%s' exceeds its type", name);
+ error ("width of %qs exceeds its type", name);
w = max_width;
*width = build_int_cst (NULL_TREE, w);
}
@@ -3587,7 +3588,7 @@ check_bitfield_type_and_width (tree *typ
if (!lt
|| w < min_precision (lt->enum_min, TYPE_UNSIGNED (*type))
|| w < min_precision (lt->enum_max, TYPE_UNSIGNED (*type)))
- warning ("`%s' is narrower than values of its type", name);
+ warning ("%qs is narrower than values of its type", name);
}
}
@@ -3723,7 +3724,7 @@ grokdeclarator (const struct c_declarato
&& funcdef_flag)
warn_about_return_type = 1;
else if (warn_implicit_int || flag_isoc99)
- pedwarn_c99 ("type defaults to `int' in declaration of `%s'",
+ pedwarn_c99 ("type defaults to %<int%> in declaration of %qs",
name);
}
@@ -3752,36 +3753,36 @@ grokdeclarator (const struct c_declarato
if ((specbits & 1 << (int) RID_LONG)
&& (specbits & 1 << (int) RID_SHORT))
- error ("both long and short specified for `%s'", name);
+ error ("both long and short specified for %qs", name);
else if (((specbits & 1 << (int) RID_LONG)
|| (specbits & 1 << (int) RID_SHORT))
&& declspecs->explicit_char_p)
- error ("long or short specified with char for `%s'", name);
+ error ("long or short specified with char for %qs", name);
else if (((specbits & 1 << (int) RID_LONG)
|| (specbits & 1 << (int) RID_SHORT))
&& TREE_CODE (type) == REAL_TYPE)
{
static int already = 0;
- error ("long or short specified with floating type for `%s'", name);
+ error ("long or short specified with floating type for %qs", name);
if (! already && ! pedantic)
{
- error ("the only valid combination is `long double'");
+ error ("the only valid combination is %<long double%>");
already = 1;
}
}
else if ((specbits & 1 << (int) RID_SIGNED)
&& (specbits & 1 << (int) RID_UNSIGNED))
- error ("both signed and unsigned specified for `%s'", name);
+ error ("both signed and unsigned specified for %qs", name);
else if (TREE_CODE (type) != INTEGER_TYPE)
- error ("long, short, signed or unsigned invalid for `%s'", name);
+ error ("long, short, signed or unsigned invalid for %qs", name);
else
{
ok = 1;
if (!declspecs->explicit_int_p && !defaulted_int
&& !declspecs->explicit_char_p)
{
- error ("long, short, signed or unsigned used invalidly for `%s'",
+ error ("long, short, signed or unsigned used invalidly for %qs",
name);
ok = 0;
}
@@ -3799,7 +3800,7 @@ grokdeclarator (const struct c_declarato
if ((specbits & (1 << (int) RID_COMPLEX))
&& TREE_CODE (type) != INTEGER_TYPE && TREE_CODE (type) != REAL_TYPE)
{
- error ("complex invalid for `%s'", name);
+ error ("complex invalid for %qs", name);
specbits &= ~(1 << (int) RID_COMPLEX);
}
@@ -3853,7 +3854,8 @@ grokdeclarator (const struct c_declarato
| (1 << (int) RID_UNSIGNED))))
{
if (pedantic)
- pedwarn ("ISO C does not support plain `complex' meaning `double complex'");
+ pedwarn ("ISO C does not support plain %<complex%> meaning "
+ "%<double complex%>");
type = complex_double_type_node;
}
else if (type == integer_type_node)
@@ -3900,11 +3902,11 @@ grokdeclarator (const struct c_declarato
if (pedantic && !flag_isoc99)
{
if (constp > 1)
- pedwarn ("duplicate `const'");
+ pedwarn ("duplicate %<const%>");
if (restrictp > 1)
- pedwarn ("duplicate `restrict'");
+ pedwarn ("duplicate %<restrict%>");
if (volatilep > 1)
- pedwarn ("duplicate `volatile'");
+ pedwarn ("duplicate %<volatile%>");
}
if (! flag_gen_aux_info && (TYPE_QUALS (type)))
type = TYPE_MAIN_VARIANT (type);
@@ -3972,14 +3974,14 @@ grokdeclarator (const struct c_declarato
else if (current_scope == file_scope)
{
if (storage_class == csc_auto)
- error ("file-scope declaration of `%s' specifies `auto'", name);
+ error ("file-scope declaration of %qs specifies %<auto%>", name);
if (pedantic && storage_class == csc_register)
pedwarn ("file-scope declaration of %qs specifies %<register%>", name);
}
else
{
if (storage_class == csc_extern && funcdef_flag)
- error ("nested function `%s' declared `extern'", name);
+ error ("nested function %qs declared %<extern%>", name);
else if (threadp && storage_class == csc_none)
{
error ("function-scope %qs implicitly auto and declared "
@@ -4065,13 +4067,13 @@ grokdeclarator (const struct c_declarato
if (VOID_TYPE_P (type))
{
- error ("declaration of `%s' as array of voids", name);
+ error ("declaration of %qs as array of voids", name);
type = error_mark_node;
}
if (TREE_CODE (type) == FUNCTION_TYPE)
{
- error ("declaration of `%s' as array of functions", name);
+ error ("declaration of %qs as array of functions", name);
type = error_mark_node;
}
@@ -4096,19 +4098,19 @@ grokdeclarator (const struct c_declarato
if (! INTEGRAL_TYPE_P (TREE_TYPE (size)))
{
- error ("size of array `%s' has non-integer type", name);
+ error ("size of array %qs has non-integer type", name);
size = integer_one_node;
}
if (pedantic && integer_zerop (size))
- pedwarn ("ISO C forbids zero-size array `%s'", name);
+ pedwarn ("ISO C forbids zero-size array %qs", name);
if (TREE_CODE (size) == INTEGER_CST)
{
constant_expression_warning (size);
if (tree_int_cst_sgn (size) < 0)
{
- error ("size of array `%s' is negative", name);
+ error ("size of array %qs is negative", name);
size = integer_one_node;
}
}
@@ -4122,10 +4124,11 @@ grokdeclarator (const struct c_declarato
if (!flag_isoc99 && pedantic)
{
if (TREE_CONSTANT (size))
- pedwarn ("ISO C90 forbids array `%s' whose size can't be evaluated",
+ pedwarn ("ISO C90 forbids array %qs whose size "
+ "can%'t be evaluated",
name);
else
- pedwarn ("ISO C90 forbids variable-size array `%s'",
+ pedwarn ("ISO C90 forbids variable-size array %qs",
name);
}
}
@@ -4158,7 +4161,7 @@ grokdeclarator (const struct c_declarato
complication. */
if (TREE_OVERFLOW (itype))
{
- error ("size of array `%s' is too large", name);
+ error ("size of array %qs is too large", name);
type = error_mark_node;
continue;
}
@@ -4241,12 +4244,12 @@ grokdeclarator (const struct c_declarato
/* Warn about some types functions can't return. */
if (TREE_CODE (type) == FUNCTION_TYPE)
{
- error ("`%s' declared as function returning a function", name);
+ error ("%qs declared as function returning a function", name);
type = integer_type_node;
}
if (TREE_CODE (type) == ARRAY_TYPE)
{
- error ("`%s' declared as function returning an array", name);
+ error ("%qs declared as function returning an array", name);
type = integer_type_node;
}
@@ -4342,7 +4345,7 @@ grokdeclarator (const struct c_declarato
&& COMPLETE_TYPE_P (type)
&& TREE_OVERFLOW (TYPE_SIZE (type)))
{
- error ("size of array `%s' is too large", name);
+ error ("size of array %qs is too large", name);
/* If we proceed with the array type as it is, we'll eventually
crash in tree_low_cst(). */
type = error_mark_node;
@@ -4412,7 +4415,7 @@ grokdeclarator (const struct c_declarato
&& !(storage_class == csc_static
|| storage_class == csc_register)))))
{
- error ("variable or field `%s' declared void", name);
+ error ("variable or field %qs declared void", name);
type = integer_type_node;
}
@@ -4499,13 +4502,13 @@ grokdeclarator (const struct c_declarato
if (TREE_CODE (type) == FUNCTION_TYPE)
{
- error ("field `%s' declared as a function", name);
+ error ("field %qs declared as a function", name);
type = build_pointer_type (type);
}
else if (TREE_CODE (type) != ERROR_MARK
&& !COMPLETE_OR_UNBOUND_ARRAY_TYPE_P (type))
{
- error ("field `%s' has incomplete type", name);
+ error ("field %qs has incomplete type", name);
type = error_mark_node;
}
/* Move type qualifiers down to element of an array. */
@@ -4522,7 +4525,7 @@ grokdeclarator (const struct c_declarato
else if (TREE_CODE (type) == FUNCTION_TYPE)
{
if (storage_class == csc_register || threadp)
- error ("invalid storage class for function `%s'", name);
+ error ("invalid storage class for function %qs", name);
else if (current_scope != file_scope)
{
/* Function declaration not at file scope. Storage
@@ -4533,10 +4536,10 @@ grokdeclarator (const struct c_declarato
if (storage_class == csc_auto)
{
if (pedantic)
- pedwarn ("invalid storage class for function `%s'", name);
+ pedwarn ("invalid storage class for function %qs", name);
}
if (storage_class == csc_static)
- error ("invalid storage class for function `%s'", name);
+ error ("invalid storage class for function %qs", name);
}
decl = build_decl (FUNCTION_DECL, declarator->u.id, type);
@@ -4551,7 +4554,7 @@ grokdeclarator (const struct c_declarato
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 ("%<noreturn%> function returns non-void value");
/* Every function declaration is an external reference
(DECL_EXTERNAL) except for those which are not at file
@@ -4579,7 +4582,7 @@ grokdeclarator (const struct c_declarato
if (MAIN_NAME_P (declarator->u.id))
{
if (declspecs->inline_p)
- warning ("cannot inline function `main'");
+ warning ("cannot inline function %<main%>");
}
else if (declspecs->inline_p)
{
@@ -4636,8 +4639,8 @@ grokdeclarator (const struct c_declarato
&& global_decl != visible_decl
&& TREE_CODE (global_decl) == VAR_DECL
&& !TREE_PUBLIC (global_decl))
- error ("variable previously declared 'static' redeclared "
- "'extern'");
+ error ("variable previously declared %<static%> redeclared "
+ "%<extern%>");
}
decl = build_decl (VAR_DECL, declarator->u.id, type);
@@ -4645,7 +4648,7 @@ grokdeclarator (const struct c_declarato
C_DECL_VARIABLE_SIZE (decl) = 1;
if (declspecs->inline_p)
- pedwarn ("%Jvariable '%D' declared `inline'", decl, decl);
+ pedwarn ("%Jvariable %qD declared %<inline%>", decl, decl);
/* At file scope, an initialized extern declaration may follow
a static declaration. In that case, DECL_EXTERNAL will be
@@ -4738,7 +4741,7 @@ grokparms (struct c_arg_info *arg_info,
if (warn_strict_prototypes && arg_types == 0 && !funcdef_flag
&& !in_system_header)
- warning ("function declaration isn't a prototype");
+ warning ("function declaration isn%'t a prototype");
if (arg_types == error_mark_node)
return 0; /* don't set TYPE_ARG_TYPES in this case */
@@ -4775,7 +4778,7 @@ grokparms (struct c_arg_info *arg_info,
if (funcdef_flag)
{
if (DECL_NAME (parm))
- error ("%Jparameter %u ('%D') has incomplete type",
+ error ("%Jparameter %u (%qD) has incomplete type",
parm, parmno, parm);
else
error ("%Jparameter %u has incomplete type",
@@ -4787,7 +4790,7 @@ grokparms (struct c_arg_info *arg_info,
else
{
if (DECL_NAME (parm))
- warning ("%Jparameter %u ('%D') has incomplete type",
+ warning ("%Jparameter %u (%qD) has incomplete type",
parm, parmno, parm);
else
warning ("%Jparameter %u has incomplete type",
@@ -4847,11 +4850,11 @@ get_parm_info (bool ellipsis)
if (TREE_THIS_VOLATILE (b->decl)
|| TREE_READONLY (b->decl)
|| C_DECL_REGISTER (b->decl))
- error ("'void' as only parameter may not be qualified");
+ error ("%<void%> as only parameter may not be qualified");
/* There cannot be an ellipsis. */
if (ellipsis)
- error ("'void' must be the only parameter");
+ error ("%<void%> must be the only parameter");
arg_info->types = void_list_node;
return arg_info;
@@ -4879,14 +4882,14 @@ get_parm_info (bool ellipsis)
/* Check for forward decls that never got their actual decl. */
if (TREE_ASM_WRITTEN (decl))
- error ("%Jparameter '%D' has just a forward declaration",
+ error ("%Jparameter %qD has just a forward declaration",
decl, decl);
/* Check for (..., void, ...) and issue an error. */
else if (VOID_TYPE_P (type) && !DECL_NAME (decl))
{
if (!gave_void_only_once_err)
{
- error ("'void' must be the only parameter");
+ error ("%<void%> must be the only parameter");
gave_void_only_once_err = true;
}
}
@@ -4925,7 +4928,7 @@ 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 ("%<%s %E%> declared inside parameter list",
keyword, b->id);
else
/* The %s will be one of 'struct', 'union', or 'enum'. */
@@ -5048,9 +5051,9 @@ start_struct (enum tree_code code, tree
if (TYPE_FIELDS (ref))
{
if (code == UNION_TYPE)
- error ("redefinition of `union %s'", IDENTIFIER_POINTER (name));
+ error ("redefinition of %<union %s%>", IDENTIFIER_POINTER (name));
else
- error ("redefinition of `struct %s'", IDENTIFIER_POINTER (name));
+ error ("redefinition of %<struct %s%>", IDENTIFIER_POINTER (name));
}
}
else
@@ -5166,7 +5169,7 @@ detect_field_duplicates (tree fieldlist)
for (y = fieldlist; y != x; y = TREE_CHAIN (y))
if (DECL_NAME (y) == DECL_NAME (x))
{
- error ("%Jduplicate member '%D'", x, x);
+ error ("%Jduplicate member %qD", x, x);
DECL_NAME (x) = NULL_TREE;
}
}
@@ -5182,7 +5185,7 @@ detect_field_duplicates (tree fieldlist)
slot = htab_find_slot (htab, y, INSERT);
if (*slot)
{
- error ("%Jduplicate member '%D'", x, x);
+ error ("%Jduplicate member %qD", x, x);
DECL_NAME (x) = NULL_TREE;
}
*slot = y;
@@ -5260,7 +5263,7 @@ finish_struct (tree t, tree fieldlist, t
/* Detect invalid nested redefinition. */
if (TREE_TYPE (x) == t)
- error ("nested redefinition of `%s'",
+ error ("nested redefinition of %qs",
IDENTIFIER_POINTER (TYPE_NAME (t)));
if (DECL_INITIAL (x))
@@ -5470,7 +5473,7 @@ start_enum (tree name)
if (TYPE_VALUES (enumtype) != 0)
{
/* This enum is a named one that has been declared already. */
- error ("redeclaration of `enum %s'", IDENTIFIER_POINTER (name));
+ error ("redeclaration of %<enum %s%>", IDENTIFIER_POINTER (name));
/* Completely replace its old definition.
The old enumerators remain defined, however. */
@@ -5649,7 +5652,7 @@ build_enumerator (tree name, tree value)
value = 0;
else if (TREE_CODE (value) != INTEGER_CST)
{
- error ("enumerator value for '%E' is not an integer constant", name);
+ error ("enumerator value for %qE is not an integer constant", name);
value = 0;
}
else
@@ -5671,7 +5674,7 @@ build_enumerator (tree name, tree value)
if (pedantic && ! int_fits_type_p (value, integer_type_node))
{
- pedwarn ("ISO C restricts enumerator values to range of `int'");
+ pedwarn ("ISO C restricts enumerator values to range of %<int%>");
/* XXX This causes -pedantic to change the meaning of the program.
Remove? -zw 2004-03-15 */
value = convert (integer_type_node, value);
@@ -5741,7 +5744,7 @@ start_function (struct c_declspecs *decl
if (DECL_DECLARED_INLINE_P (decl1)
&& DECL_UNINLINABLE (decl1)
&& lookup_attribute ("noinline", DECL_ATTRIBUTES (decl1)))
- warning ("%Jinline function '%D' given attribute noinline", decl1, decl1);
+ warning ("%Jinline function %qD given attribute noinline", decl1, decl1);
announce_function (decl1);
@@ -5755,7 +5758,7 @@ start_function (struct c_declspecs *decl
}
if (warn_about_return_type)
- pedwarn_c99 ("return type defaults to `int'");
+ pedwarn_c99 ("return type defaults to %<int%>");
/* Make the init_value nonzero so pushdecl knows this is not tentative.
error_mark_node is replaced below (in pop_scope) with the BLOCK. */
@@ -5780,32 +5783,32 @@ start_function (struct c_declspecs *decl
if (warn_strict_prototypes
&& TYPE_ARG_TYPES (TREE_TYPE (decl1)) == 0
&& C_DECL_ISNT_PROTOTYPE (old_decl))
- warning ("function declaration isn't a prototype");
+ warning ("function declaration isn%'t a prototype");
/* Optionally warn of any global def with no previous prototype. */
else if (warn_missing_prototypes
&& TREE_PUBLIC (decl1)
&& ! MAIN_NAME_P (DECL_NAME (decl1))
&& C_DECL_ISNT_PROTOTYPE (old_decl))
- warning ("%Jno previous prototype for '%D'", decl1, decl1);
+ warning ("%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
&& old_decl != 0 && TREE_USED (old_decl)
&& TYPE_ARG_TYPES (TREE_TYPE (old_decl)) == 0)
- warning ("%J'%D' was used with no prototype before its definition",
+ warning ("%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 '%D'", decl1, decl1);
+ warning ("%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
&& old_decl != 0 && TREE_USED (old_decl)
&& C_DECL_IMPLICIT (old_decl))
- warning ("%J`%D' was used with no declaration before its definition",
+ warning ("%J%qD was used with no declaration before its definition",
decl1, decl1);
/* This is a definition, not a reference.
@@ -5838,7 +5841,7 @@ start_function (struct c_declspecs *decl
if (TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (decl1)))
!= integer_type_node)
- pedwarn ("%Jreturn type of '%D' is not `int'", decl1, decl1);
+ pedwarn ("%Jreturn type of %qD is not %<int%>", decl1, decl1);
for (args = TYPE_ARG_TYPES (TREE_TYPE (decl1)); args;
args = TREE_CHAIN (args))
@@ -5853,7 +5856,7 @@ start_function (struct c_declspecs *decl
{
case 1:
if (TYPE_MAIN_VARIANT (type) != integer_type_node)
- pedwarn ("%Jfirst argument of '%D' should be `int'",
+ pedwarn ("%Jfirst argument of %qD should be %<int%>",
decl1, decl1);
break;
@@ -5862,7 +5865,7 @@ start_function (struct c_declspecs *decl
|| TREE_CODE (TREE_TYPE (type)) != POINTER_TYPE
|| (TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (type)))
!= char_type_node))
- pedwarn ("%Jsecond argument of '%D' should be 'char **'",
+ pedwarn ("%Jsecond argument of %qD should be %<char **%>",
decl1, decl1);
break;
@@ -5871,8 +5874,8 @@ start_function (struct c_declspecs *decl
|| TREE_CODE (TREE_TYPE (type)) != POINTER_TYPE
|| (TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (type)))
!= char_type_node))
- pedwarn ("%Jthird argument of '%D' should probably be "
- "'char **'", decl1, decl1);
+ pedwarn ("%Jthird argument of %qD should probably be "
+ "%<char **%>", decl1, decl1);
break;
}
}
@@ -5881,10 +5884,10 @@ start_function (struct c_declspecs *decl
argument because it's only mentioned in an appendix of the
standard. */
if (argct > 0 && (argct < 2 || argct > 3))
- pedwarn ("%J'%D' takes only zero or two arguments", decl1, decl1);
+ pedwarn ("%J%qD takes only zero or two arguments", decl1, decl1);
if (! TREE_PUBLIC (decl1))
- pedwarn ("%J'%D' is normally a non-static function", decl1, decl1);
+ pedwarn ("%J%qD is normally a non-static function", decl1, decl1);
}
/* Record the decl so that the function name is defined.
@@ -6014,12 +6017,12 @@ store_parm_decls_oldstyle (tree fndecl,
decl = b->decl;
/* If we got something other than a PARM_DECL it is an error. */
if (TREE_CODE (decl) != PARM_DECL)
- error ("%J'%D' declared as a non-parameter", decl, decl);
+ error ("%J%qD declared as a non-parameter", decl, decl);
/* If the declaration is already marked, we have a duplicate
name. Complain and ignore the duplicate. */
else if (DECL_WEAK (decl))
{
- error ("%Jmultiple parameters named '%D'", decl, decl);
+ error ("%Jmultiple parameters named %qD", decl, decl);
TREE_PURPOSE (parm) = 0;
continue;
}
@@ -6027,7 +6030,7 @@ store_parm_decls_oldstyle (tree fndecl,
an int. */
else if (VOID_TYPE_P (TREE_TYPE (decl)))
{
- error ("%Jparameter '%D' declared with void type", decl, decl);
+ error ("%Jparameter %qD declared with void type", decl, decl);
TREE_TYPE (decl) = integer_type_node;
DECL_ARG_TYPE (decl) = integer_type_node;
layout_decl (decl, 0);
@@ -6042,9 +6045,9 @@ store_parm_decls_oldstyle (tree fndecl,
pushdecl (decl);
if (flag_isoc99)
- pedwarn ("%Jtype of '%D' defaults to 'int'", decl, decl);
+ pedwarn ("%Jtype of %qD defaults to %<int%>", decl, decl);
else if (extra_warnings)
- warning ("%Jtype of '%D' defaults to 'int'", decl, decl);
+ warning ("%Jtype of %qD defaults to %<int%>", decl, decl);
}
TREE_PURPOSE (parm) = decl;
@@ -6062,13 +6065,13 @@ store_parm_decls_oldstyle (tree fndecl,
if (!COMPLETE_TYPE_P (TREE_TYPE (parm)))
{
- error ("%Jparameter '%D' has incomplete type", parm, parm);
+ error ("%Jparameter %qD has incomplete type", parm, parm);
TREE_TYPE (parm) = error_mark_node;
}
if (! DECL_WEAK (parm))
{
- error ("%Jdeclaration for parameter '%D' but no such parameter",
+ error ("%Jdeclaration for parameter %qD but no such parameter",
parm, parm);
/* Pretend the parameter was not missing.
@@ -6118,7 +6121,7 @@ store_parm_decls_oldstyle (tree fndecl,
if (parm == 0 || type == 0
|| TYPE_MAIN_VARIANT (TREE_VALUE (type)) == void_type_node)
{
- error ("number of arguments doesn't match prototype");
+ error ("number of arguments doesn%'t match prototype");
error ("%Hprototype declaration",
¤t_function_prototype_locus);
break;
@@ -6147,15 +6150,15 @@ store_parm_decls_oldstyle (tree fndecl,
if (pedantic)
{
- pedwarn ("promoted argument '%D' "
- "doesn't match prototype", parm);
+ pedwarn ("promoted argument %qD "
+ "doesn%'t match prototype", parm);
pedwarn ("%Hprototype declaration",
¤t_function_prototype_locus);
}
}
else
{
- error ("argument '%D' doesn't match prototype", parm);
+ error ("argument %qD doesn%'t match prototype", parm);
error ("%Hprototype declaration",
¤t_function_prototype_locus);
}
@@ -6335,7 +6338,7 @@ finish_function (void)
/* If warn_main is 1 (-Wmain) or 2 (-Wall), we have already warned.
If warn_main is -1 (-Wno-main) we don't want to be warned. */
if (!warn_main)
- pedwarn ("%Jreturn type of '%D' is not `int'", fndecl, fndecl);
+ pedwarn ("%Jreturn type of %qD is not %<int%>", fndecl, fndecl);
}
else
{
@@ -6449,7 +6452,7 @@ check_for_loop_decls (void)
/* If we get here, declarations have been used in a for loop without
the C99 for loop scope. This doesn't make much sense, so don't
allow it. */
- error ("'for' loop initial declaration used outside C99 mode");
+ error ("%<for%> loop initial declaration used outside C99 mode");
return;
}
/* C99 subclause 6.8.5 paragraph 3:
@@ -6478,24 +6481,27 @@ check_for_loop_decls (void)
{
case VAR_DECL:
if (TREE_STATIC (decl))
- error ("%Jdeclaration of static variable '%D' in 'for' loop "
+ error ("%Jdeclaration of static variable %qD in %<for%> loop "
"initial declaration", decl, decl);
else if (DECL_EXTERNAL (decl))
- error ("%Jdeclaration of 'extern' variable '%D' in 'for' loop "
+ error ("%Jdeclaration of %<extern%> variable %qD in %<for%> loop "
"initial declaration", decl, decl);
break;
case RECORD_TYPE:
- error ("'struct %E' declared in 'for' loop initial declaration", id);
+ error ("%<struct %E%> declared in %<for%> loop initial declaration",
+ id);
break;
case UNION_TYPE:
- error ("'union %E' declared in 'for' loop initial declaration", id);
+ error ("%<union %E%> declared in %<for%> loop initial declaration",
+ id);
break;
case ENUMERAL_TYPE:
- error ("'enum %E' declared in 'for' loop initial declaration", id);
+ error ("%<enum %E%> declared in %<for%> loop initial declaration",
+ id);
break;
default:
- error ("%Jdeclaration of non-variable '%D' in 'for' loop "
+ error ("%Jdeclaration of non-variable %qD in %<for%> loop "
"initial declaration", decl, decl);
}
}
@@ -6968,7 +6974,7 @@ c_write_global_declarations_1 (tree glob
&& !TREE_PUBLIC (decl)
&& C_DECL_USED (decl))
{
- pedwarn ("%J%<%F%> used but never defined", decl, decl);
+ pedwarn ("%J%qF used but never defined", decl, decl);
TREE_NO_WARNING (decl) = 1;
}
}
diff -rupN GCC.orig/gcc/c-lex.c GCC/gcc/c-lex.c
--- GCC.orig/gcc/c-lex.c 2004-09-11 09:05:24.000000000 +0000
+++ GCC/gcc/c-lex.c 2004-09-11 23:52:17.000000000 +0000
@@ -584,7 +584,7 @@ interpret_integer (const cpp_token *toke
if (itk > itk_unsigned_long
&& (flags & CPP_N_WIDTH) != CPP_N_LARGE
&& ! in_system_header && ! flag_isoc99)
- pedwarn ("integer constant is too large for \"%s\" type",
+ pedwarn ("integer constant is too large for %qs type",
(flags & CPP_N_UNSIGNED) ? "unsigned long" : "long");
value = build_int_cst_wide (type, integer.low, integer.high);
@@ -650,7 +650,7 @@ interpret_float (const cpp_token *token,
??? That's a dubious reason... is this a mandatory diagnostic or
isn't it? -- zw, 2001-08-21. */
if (REAL_VALUE_ISINF (real) && pedantic)
- warning ("floating constant exceeds range of \"%s\"", type_name);
+ warning ("floating constant exceeds range of %<%s%>", type_name);
/* Create a node with determined type and value. */
value = build_real (type, real);
diff -rupN GCC.orig/gcc/c-objc-common.c GCC/gcc/c-objc-common.c
--- GCC.orig/gcc/c-objc-common.c 2004-09-07 10:26:24.000000000 +0000
+++ GCC/gcc/c-objc-common.c 2004-09-11 23:52:48.000000000 +0000
@@ -78,7 +78,7 @@ c_cannot_inline_tree_fn (tree *fnp)
&& lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn)) == NULL)
{
if (do_warning)
- warning ("%Jfunction '%F' can never be inlined because it "
+ warning ("%Jfunction %qF can never be inlined because it "
"is suppressed using -fno-inline", fn, fn);
goto cannot_inline;
}
@@ -88,7 +88,7 @@ c_cannot_inline_tree_fn (tree *fnp)
if (!DECL_DECLARED_INLINE_P (fn) && !targetm.binds_local_p (fn))
{
if (do_warning)
- warning ("%Jfunction '%F' can never be inlined because it might not "
+ warning ("%Jfunction %qF can never be inlined because it might not "
"be bound within this unit of translation", fn, fn);
goto cannot_inline;
}
@@ -96,7 +96,7 @@ c_cannot_inline_tree_fn (tree *fnp)
if (! function_attribute_inlinable_p (fn))
{
if (do_warning)
- warning ("%Jfunction '%F' can never be inlined because it uses "
+ warning ("%Jfunction %qF can never be inlined because it uses "
"attributes conflicting with inlining", fn, fn);
goto cannot_inline;
}
@@ -111,7 +111,7 @@ c_cannot_inline_tree_fn (tree *fnp)
if (t)
{
if (do_warning)
- warning ("%Jfunction '%F' can never be inlined because it has "
+ warning ("%Jfunction %qF can never be inlined because it has "
"pending sizes", fn, fn);
goto cannot_inline;
}
@@ -124,7 +124,7 @@ c_cannot_inline_tree_fn (tree *fnp)
if (DECL_LANG_SPECIFIC (fn)->pending_sizes)
{
if (do_warning)
- warning ("%Jnested function '%F' can never be inlined because it "
+ warning ("%Jnested function %qF can never be inlined because it "
"has possibly saved pending sizes", fn, fn);
goto cannot_inline;
}
diff -rupN GCC.orig/gcc/c-opts.c GCC/gcc/c-opts.c
--- GCC.orig/gcc/c-opts.c 2004-08-30 10:03:15.000000000 +0000
+++ GCC/gcc/c-opts.c 2004-09-11 23:53:39.000000000 +0000
@@ -144,16 +144,16 @@ c_common_missing_argument (const char *o
return false;
case OPT_fconstant_string_class_:
- error ("no class name specified with \"%s\"", opt);
+ error ("no class name specified with %qs", opt);
break;
case OPT_A:
- error ("assertion missing after \"%s\"", opt);
+ error ("assertion missing after %qs", opt);
break;
case OPT_D:
case OPT_U:
- error ("macro name missing after \"%s\"", opt);
+ error ("macro name missing after %qs", opt);
break;
case OPT_F:
@@ -162,7 +162,7 @@ c_common_missing_argument (const char *o
case OPT_isysroot:
case OPT_isystem:
case OPT_iquote:
- error ("missing path after \"%s\"", opt);
+ error ("missing path after %qs", opt);
break;
case OPT_MF:
@@ -171,12 +171,12 @@ c_common_missing_argument (const char *o
case OPT_include:
case OPT_imacros:
case OPT_o:
- error ("missing filename after \"%s\"", opt);
+ error ("missing filename after %qs", opt);
break;
case OPT_MQ:
case OPT_MT:
- error ("missing makefile target after \"%s\"", opt);
+ error ("missing makefile target after %qs", opt);
break;
}
@@ -539,7 +539,7 @@ c_common_handle_option (size_t scode, co
case OPT_fvtable_thunks:
case OPT_fxref:
case OPT_fvtable_gc:
- warning ("switch \"%s\" is no longer supported", option->opt_text);
+ warning ("switch %qs is no longer supported", option->opt_text);
break;
case OPT_faccess_control:
diff -rupN GCC.orig/gcc/c-parse.in GCC/gcc/c-parse.in
--- GCC.orig/gcc/c-parse.in 2004-09-11 09:05:24.000000000 +0000
+++ GCC/gcc/c-parse.in 2004-09-11 23:56:09.000000000 +0000
@@ -425,7 +425,7 @@ datadef:
| error '}'
| ';'
{ if (pedantic)
- pedwarn ("ISO C does not allow extra `;' outside of a function"); }
+ pedwarn ("ISO C does not allow extra %<;%> outside of a function"); }
;
fndef:
@@ -541,7 +541,7 @@ unary_expr:
in_sizeof--;
if (TREE_CODE ($2.value) == COMPONENT_REF
&& DECL_C_BIT_FIELD (TREE_OPERAND ($2.value, 1)))
- error ("`sizeof' applied to a bit-field");
+ error ("%<sizeof%> applied to a bit-field");
$$ = c_expr_sizeof_expr ($2); }
| sizeof '(' typename ')' %prec HYPERUNARY
{ skip_evaluation--;
@@ -1286,7 +1286,7 @@ typespec_nonreserved_nonattr:
in_typeof--;
if (TREE_CODE ($3.value) == COMPONENT_REF
&& DECL_C_BIT_FIELD (TREE_OPERAND ($3.value, 1)))
- error ("`typeof' applied to a bit-field");
+ error ("%<typeof%> applied to a bit-field");
$$ = TREE_TYPE ($3.value);
pop_maybe_used (variably_modified_type_p ($$, NULL_TREE)); }
| typeof '(' typename ')'
@@ -1431,11 +1431,11 @@ initelt:
pedwarn ("ISO C90 forbids specifying subobject to initialize"); }
| designator initval
{ if (pedantic)
- pedwarn ("obsolete use of designated initializer without `='"); }
+ pedwarn ("obsolete use of designated initializer without %<=%>"); }
| identifier ':'
{ set_init_label ($1);
if (pedantic)
- pedwarn ("obsolete use of designated initializer with `:'"); }
+ pedwarn ("obsolete use of designated initializer with %<:%>"); }
initval
{}
| initval
@@ -1675,7 +1675,7 @@ structsp_nonattr:
/* In ISO C, enumerated types can be referred to
only if already defined. */
if (pedantic && !COMPLETE_TYPE_P ($$))
- pedwarn ("ISO C forbids forward references to `enum' types"); }
+ pedwarn ("ISO C forbids forward references to %<enum%> types"); }
;
maybecomma:
@@ -2448,7 +2448,7 @@ parmlist_2: /* empty */
$$->others = 0;
/* Suppress -Wold-style-definition for this case. */
$$->types = error_mark_node;
- error ("ISO C requires a named argument before `...'");
+ error ("ISO C requires a named argument before %<...%>");
}
| parms
{ $$ = get_parm_info (/*ellipsis=*/false); }
@@ -3480,7 +3480,7 @@ _yylex (void)
/* These tokens should not survive translation phase 4. */
case CPP_HASH:
case CPP_PASTE:
- error ("syntax error at '%s' token", NAME(last_token));
+ error ("syntax error at %qs token", NAME(last_token));
goto get_next;
default:
@@ -3518,7 +3518,7 @@ yyprint (FILE *file, int yychar, YYSTYPE
case SCSPEC:
case STATIC:
if (IDENTIFIER_POINTER (t))
- fprintf (file, " `%s'", IDENTIFIER_POINTER (t));
+ fprintf (file, " '%s'", IDENTIFIER_POINTER (t));
break;
case CONSTANT:
diff -rupN GCC.orig/gcc/c-pragma.c GCC/gcc/c-pragma.c
--- GCC.orig/gcc/c-pragma.c 2004-09-07 10:26:24.000000000 +0000
+++ GCC/gcc/c-pragma.c 2004-09-12 00:17:30.000000000 +0000
@@ -145,7 +145,7 @@ handle_pragma_pack (cpp_reader * ARG_UNU
enum { set, push, pop } action;
if (c_lex (&x) != CPP_OPEN_PAREN)
- GCC_BAD ("missing '(' after '#pragma pack' - ignored");
+ GCC_BAD ("missing %<(%> after %<#pragma pack%> - ignored");
token = c_lex (&x);
if (token == CPP_CLOSE_PAREN)
@@ -158,14 +158,14 @@ handle_pragma_pack (cpp_reader * ARG_UNU
align = TREE_INT_CST_LOW (x);
action = set;
if (c_lex (&x) != CPP_CLOSE_PAREN)
- GCC_BAD ("malformed '#pragma pack' - ignored");
+ GCC_BAD ("malformed %<#pragma pack%> - ignored");
}
else if (token == CPP_NAME)
{
#define GCC_BAD_ACTION do { if (action != pop) \
- GCC_BAD ("malformed '#pragma pack(push[, id][, <n>])' - ignored"); \
+ GCC_BAD ("malformed %<#pragma pack(push[, id][, <n>])%> - ignored"); \
else \
- GCC_BAD ("malformed '#pragma pack(pop[, id])' - ignored"); \
+ GCC_BAD ("malformed %<#pragma pack(pop[, id])%> - ignored"); \
} while (0)
const char *op = IDENTIFIER_POINTER (x);
@@ -174,7 +174,7 @@ handle_pragma_pack (cpp_reader * ARG_UNU
else if (!strcmp (op, "pop"))
action = pop;
else
- GCC_BAD2 ("unknown action '%s' for '#pragma pack' - ignored", op);
+ GCC_BAD2 ("unknown action %qs for %<#pragma pack%> - ignored", op);
while ((token = c_lex (&x)) == CPP_COMMA)
{
@@ -198,10 +198,10 @@ handle_pragma_pack (cpp_reader * ARG_UNU
#undef GCC_BAD_ACTION
}
else
- GCC_BAD ("malformed '#pragma pack' - ignored");
+ GCC_BAD ("malformed %<#pragma pack%> - ignored");
if (c_lex (&x) != CPP_EOF)
- warning ("junk at end of '#pragma pack'");
+ warning ("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 '%D' after first use results "
+ warning ("%Japplying #pragma weak %qD after first use results "
"in unspecified behavior", decl, decl);
declare_weak (decl);
@@ -578,7 +578,7 @@ handle_pragma_visibility (cpp_reader *du
{
if (!visidx)
{
- GCC_BAD ("No matching push for '#pragma GCC visibility pop'");
+ GCC_BAD ("No matching push for %<#pragma GCC visibility pop%>");
}
else
{
@@ -589,7 +589,7 @@ handle_pragma_visibility (cpp_reader *du
else
{
if (c_lex (&x) != CPP_OPEN_PAREN)
- GCC_BAD ("missing '(' after '#pragma GCC visibility push' - ignored");
+ GCC_BAD ("missing %<(%> after %<#pragma GCC visibility push%> - ignored");
token = c_lex (&x);
if (token != CPP_NAME)
{
@@ -618,11 +618,11 @@ handle_pragma_visibility (cpp_reader *du
visibility_options.inpragma = 1;
}
if (c_lex (&x) != CPP_CLOSE_PAREN)
- GCC_BAD ("missing '(' after '#pragma GCC visibility push' - ignored");
+ GCC_BAD ("missing '(' after %<#pragma GCC visibility push%> - ignored");
}
}
if (c_lex (&x) != CPP_EOF)
- warning ("junk at end of '#pragma GCC visibility'");
+ warning ("junk at end of %<#pragma GCC visibility%>");
}
#endif
diff -rupN GCC.orig/gcc/c-tree.h GCC/gcc/c-tree.h
--- GCC.orig/gcc/c-tree.h 2004-09-11 21:23:10.000000000 +0000
+++ GCC/gcc/c-tree.h 2004-09-12 15:05:27.000000000 +0000
@@ -413,8 +413,6 @@ extern void set_init_index (tree, tree);
extern void set_init_label (tree);
extern void process_init_element (struct c_expr);
extern tree build_compound_literal (tree, tree);
-extern void pedwarn_c90 (const char *, ...) ATTRIBUTE_PRINTF_1;
-extern void pedwarn_c99 (const char *, ...) ATTRIBUTE_PRINTF_1;
extern tree c_start_case (tree);
extern void c_finish_case (tree);
extern tree build_asm_expr (tree, tree, tree, tree, bool);
@@ -469,5 +467,13 @@ extern void c_write_global_declarations
diagnostic framework extensions, you must include this file before
toplev.h, not after. */
#define GCC_DIAG_STYLE __gcc_cdiag__
+#if GCC_VERSION >= 3005
+#define ATTRIBUTE_GCC_CDIAG(m, n) __attribute__ ((__format__ (GCC_DIAG_STYLE, m ,n))) ATTRIBUTE_NONNULL(m)
+#else
+#define ATTRIBUTE_GCC_CDIAG(m, n) ATTRIBUTE_NONNULL(m)
+#endif
+
+extern void pedwarn_c90 (const char *, ...) ATTRIBUTE_GCC_CDIAG(1,2);
+extern void pedwarn_c99 (const char *, ...) ATTRIBUTE_GCC_CDIAG(1,2);
#endif /* ! GCC_C_TREE_H */
diff -rupN GCC.orig/gcc/c-typeck.c GCC/gcc/c-typeck.c
--- GCC.orig/gcc/c-typeck.c 2004-09-11 21:12:52.000000000 +0000
+++ GCC/gcc/c-typeck.c 2004-09-12 19:15:55.000000000 +0000
@@ -125,7 +125,7 @@ c_incomplete_type_error (tree value, tre
if (value != 0 && (TREE_CODE (value) == VAR_DECL
|| TREE_CODE (value) == PARM_DECL))
- error ("`%s' has an incomplete type",
+ error ("%qs has an incomplete type",
IDENTIFIER_POINTER (DECL_NAME (value)));
else
{
@@ -169,11 +169,11 @@ c_incomplete_type_error (tree value, tre
}
if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE)
- error ("invalid use of undefined type `%s %s'",
+ error ("invalid use of undefined type %<%s %s%>",
type_code_string, IDENTIFIER_POINTER (TYPE_NAME (type)));
else
/* If this type has a typedef-name, the TYPE_NAME is a TYPE_DECL. */
- error ("invalid use of incomplete typedef `%s'",
+ error ("invalid use of incomplete typedef %qs",
IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type))));
}
}
@@ -964,7 +964,7 @@ function_types_compatible_p (tree f1, tr
/* 'volatile' qualifiers on a function's return type used to mean
the function is noreturn. */
if (TYPE_VOLATILE (ret1) != TYPE_VOLATILE (ret2))
- pedwarn ("function return types not compatible due to `volatile'");
+ pedwarn ("function return types not compatible due to %<volatile%>");
if (TYPE_VOLATILE (ret1))
ret1 = build_qualified_type (TYPE_MAIN_VARIANT (ret1),
TYPE_QUALS (ret1) & ~TYPE_QUAL_VOLATILE);
@@ -1480,7 +1480,7 @@ build_component_ref (tree datum, tree co
if (!field)
{
- error ("%s has no member named `%s'",
+ error ("%s has no member named %qs",
code == RECORD_TYPE ? "structure" : "union",
IDENTIFIER_POINTER (component));
return error_mark_node;
@@ -1517,7 +1517,7 @@ build_component_ref (tree datum, tree co
return ref;
}
else if (code != ERROR_MARK)
- error ("request for member `%s' in something not a structure or union",
+ error ("request for member %qs in something not a structure or union",
IDENTIFIER_POINTER (component));
return error_mark_node;
@@ -1550,7 +1550,7 @@ build_indirect_ref (tree ptr, const char
return error_mark_node;
}
if (VOID_TYPE_P (t) && skip_evaluation == 0)
- warning ("dereferencing `void *' pointer");
+ warning ("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
@@ -1567,7 +1567,7 @@ build_indirect_ref (tree ptr, const char
}
}
else if (TREE_CODE (pointer) != ERROR_MARK)
- error ("invalid type argument of `%s'", errorstring);
+ error ("invalid type argument of %qs", errorstring);
return error_mark_node;
}
@@ -1605,7 +1605,7 @@ build_array_ref (tree array, tree index)
must have done so deliberately. */
if (warn_char_subscripts
&& TYPE_MAIN_VARIANT (TREE_TYPE (index)) == char_type_node)
- warning ("array subscript has type `char'");
+ warning ("array subscript has type %<char%>");
/* Apply default promotions *after* noticing character types. */
index = default_conversion (index);
@@ -1646,7 +1646,7 @@ build_array_ref (tree array, tree index)
while (TREE_CODE (foo) == COMPONENT_REF)
foo = TREE_OPERAND (foo, 0);
if (TREE_CODE (foo) == VAR_DECL && C_DECL_REGISTER (foo))
- pedwarn ("ISO C forbids subscripting `register' array");
+ pedwarn ("ISO C forbids subscripting %<register%> array");
else if (! flag_isoc99 && ! lvalue_p (foo))
pedwarn ("ISO C90 forbids subscripting non-lvalue array");
}
@@ -1681,7 +1681,7 @@ build_array_ref (tree array, tree index)
if (warn_char_subscripts
&& TREE_CODE (TREE_TYPE (index)) == INTEGER_TYPE
&& TYPE_MAIN_VARIANT (TREE_TYPE (index)) == char_type_node)
- warning ("subscript has type `char'");
+ warning ("subscript has type %<char%>");
/* Put the integer in IND to simplify error checking. */
if (TREE_CODE (TREE_TYPE (ar)) == INTEGER_TYPE)
@@ -1727,7 +1727,7 @@ build_external_ref (tree id, int fun)
ref = decl;
else if (decl != objc_ivar && !DECL_FILE_SCOPE_P (decl))
{
- warning ("local declaration of `%s' hides instance variable",
+ warning ("local declaration of %qs hides instance variable",
IDENTIFIER_POINTER (id));
ref = decl;
}
@@ -2035,7 +2035,7 @@ convert_arguments (tree typelist, tree v
if (type == void_type_node)
{
if (name)
- error ("too many arguments to function `%s'",
+ error ("too many arguments to function %qs",
IDENTIFIER_POINTER (name));
else
error ("too many arguments to function");
@@ -2097,7 +2097,9 @@ convert_arguments (tree typelist, tree v
/* Warn if any argument is passed as `float',
since without a prototype it would be `double'. */
if (formal_prec == TYPE_PRECISION (float_type_node))
- warn_for_assignment ("%s as `float' rather than `double' due to prototype", (char *) 0, name, parmnum + 1);
+ warn_for_assignment ("%s as %<float%> rather than "
+ "%<double%> due to prototype",
+ (char *) 0, name, parmnum + 1);
}
/* Detect integer changing in width or signedness.
These warnings are only activated with
@@ -2174,7 +2176,7 @@ convert_arguments (tree typelist, tree v
if (typetail != 0 && TREE_VALUE (typetail) != void_type_node)
{
if (name)
- error ("too few arguments to function `%s'",
+ error ("too few arguments to function %qs",
IDENTIFIER_POINTER (name));
else
error ("too few arguments to function");
@@ -2285,7 +2287,7 @@ pointer_diff (tree op0, tree op1)
if (pedantic || warn_pointer_arith)
{
if (TREE_CODE (target_type) == VOID_TYPE)
- pedwarn ("pointer of type `void *' used in subtraction");
+ pedwarn ("pointer of type %<void *%> used in subtraction");
if (TREE_CODE (target_type) == FUNCTION_TYPE)
pedwarn ("pointer to a function used in subtraction");
}
@@ -2406,7 +2408,7 @@ build_unary_op (enum tree_code code, tre
{
code = CONJ_EXPR;
if (pedantic)
- pedwarn ("ISO C does not support `~' for complex conjugation");
+ pedwarn ("ISO C does not support %<~%> for complex conjugation");
if (!noconvert)
arg = default_conversion (arg);
}
@@ -2483,7 +2485,8 @@ build_unary_op (enum tree_code code, tre
tree real, imag;
if (pedantic)
- pedwarn ("ISO C does not support `++' and `--' on complex types");
+ pedwarn ("ISO C does not support %<++%> and %<--%>"
+ " on complex types");
arg = stabilize_reference (arg);
real = build_unary_op (REALPART_EXPR, arg, 1);
@@ -2591,7 +2594,7 @@ build_unary_op (enum tree_code code, tre
/* Anything not already handled and not a true memory reference
or a non-lvalue array is an error. */
else if (typecode != FUNCTION_TYPE && !flag
- && !lvalue_or_else (arg, "invalid lvalue in unary `&'"))
+ && !lvalue_or_else (arg, "invalid lvalue in unary %<&%>"))
return error_mark_node;
/* Ordinary case; arg is a COMPONENT_REF or a decl. */
@@ -2613,7 +2616,7 @@ build_unary_op (enum tree_code code, tre
if (TREE_CODE (arg) == COMPONENT_REF
&& DECL_C_BIT_FIELD (TREE_OPERAND (arg, 1)))
{
- error ("attempt to take address of bit-field structure member `%D'",
+ error ("attempt to take address of bit-field structure member %qD",
TREE_OPERAND (arg, 1));
return error_mark_node;
}
@@ -2706,11 +2709,11 @@ readonly_error (tree arg, const char *ms
if (TYPE_READONLY (TREE_TYPE (TREE_OPERAND (arg, 0))))
readonly_error (TREE_OPERAND (arg, 0), msgid);
else
- error ("%s of read-only member `%s'", _(msgid),
+ error ("%s of read-only member %qs", _(msgid),
IDENTIFIER_POINTER (DECL_NAME (TREE_OPERAND (arg, 1))));
}
else if (TREE_CODE (arg) == VAR_DECL)
- error ("%s of read-only variable `%s'", _(msgid),
+ error ("%s of read-only variable %qs", _(msgid),
IDENTIFIER_POINTER (DECL_NAME (arg)));
else
error ("%s of read-only location", _(msgid));
@@ -2731,7 +2734,7 @@ c_mark_addressable (tree exp)
case COMPONENT_REF:
if (DECL_C_BIT_FIELD (TREE_OPERAND (x, 1)))
{
- error ("cannot take address of bit-field `%s'",
+ error ("cannot take address of bit-field %qs",
IDENTIFIER_POINTER (DECL_NAME (TREE_OPERAND (x, 1))));
return false;
}
@@ -2759,23 +2762,23 @@ c_mark_addressable (tree exp)
{
if (TREE_PUBLIC (x) || TREE_STATIC (x) || DECL_EXTERNAL (x))
{
- error ("global register variable `%s' used in nested function",
+ error ("global register variable %qs used in nested function",
IDENTIFIER_POINTER (DECL_NAME (x)));
return false;
}
- pedwarn ("register variable `%s' used in nested function",
+ pedwarn ("register variable %qs used in nested function",
IDENTIFIER_POINTER (DECL_NAME (x)));
}
else if (C_DECL_REGISTER (x))
{
if (TREE_PUBLIC (x) || TREE_STATIC (x) || DECL_EXTERNAL (x))
{
- error ("address of global register variable `%s' requested",
+ error ("address of global register variable %qs requested",
IDENTIFIER_POINTER (DECL_NAME (x)));
return false;
}
- pedwarn ("address of register variable `%s' requested",
+ pedwarn ("address of register variable %qs requested",
IDENTIFIER_POINTER (DECL_NAME (x)));
}
@@ -2890,14 +2893,16 @@ build_conditional_expr (tree ifexp, tree
else if (VOID_TYPE_P (TREE_TYPE (type1)))
{
if (pedantic && TREE_CODE (TREE_TYPE (type2)) == FUNCTION_TYPE)
- pedwarn ("ISO C forbids conditional expr between `void *' and function pointer");
+ pedwarn ("ISO C forbids conditional expr between "
+ "%<void *%> and function pointer");
result_type = build_pointer_type (qualify_type (TREE_TYPE (type1),
TREE_TYPE (type2)));
}
else if (VOID_TYPE_P (TREE_TYPE (type2)))
{
if (pedantic && TREE_CODE (TREE_TYPE (type1)) == FUNCTION_TYPE)
- pedwarn ("ISO C forbids conditional expr between `void *' and function pointer");
+ pedwarn ("ISO C forbids conditional expr between "
+ "%<void *%> and function pointer");
result_type = build_pointer_type (qualify_type (TREE_TYPE (type2),
TREE_TYPE (type1)));
}
@@ -3552,7 +3557,8 @@ convert_for_assignment (tree type, tree
which are not ANSI null ptr constants. */
&& (!integer_zerop (rhs) || TREE_CODE (rhs) == NOP_EXPR)
&& TREE_CODE (ttl) == FUNCTION_TYPE)))
- warn_for_assignment ("ISO C forbids %s between function pointer and `void *'",
+ warn_for_assignment ("ISO C forbids %s between function "
+ "pointer and %<void *%>",
errtype, funname, parmnum);
/* Const and volatile mean something different for function types,
so the usual warnings are not appropriate. */
@@ -3626,10 +3632,10 @@ convert_for_assignment (tree type, tree
tree selector = objc_message_selector ();
if (selector && parmnum > 2)
- error ("incompatible type for argument %d of `%s'",
+ error ("incompatible type for argument %d of %qs",
parmnum - 2, IDENTIFIER_POINTER (selector));
else
- error ("incompatible type for argument %d of `%s'",
+ error ("incompatible type for argument %d of %qs",
parmnum, IDENTIFIER_POINTER (funname));
}
else
@@ -3693,7 +3699,7 @@ warn_for_assignment (const char *msgid,
if (function)
{
/* Function name is known; supply it. */
- const char *const argstring = _("passing arg of `%s'");
+ const char *const argstring = _("passing arg of '%s'");
new_opname = (char *) alloca (IDENTIFIER_LENGTH (function)
+ strlen (argstring) + 1 + 1);
sprintf (new_opname, argstring,
@@ -3710,7 +3716,7 @@ warn_for_assignment (const char *msgid,
else if (function)
{
/* Function name is known; supply it. */
- const char *const argstring = _("passing arg %d of `%s'");
+ const char *const argstring = _("passing arg %d of '%s'");
new_opname = (char *) alloca (IDENTIFIER_LENGTH (function)
+ strlen (argstring) + 1 + 25 /*%d*/ + 1);
sprintf (new_opname, argstring, argnum,
@@ -3943,7 +3949,7 @@ error_init (const char *msgid)
error ("%s", _(msgid));
ofwhat = print_spelling ((char *) alloca (spelling_length () + 1));
if (*ofwhat)
- error ("(near initialization for `%s')", ofwhat);
+ error ("(near initialization for %qs)", ofwhat);
}
/* Issue a pedantic warning for a bad initializer component.
@@ -3958,7 +3964,7 @@ pedwarn_init (const char *msgid)
pedwarn ("%s", _(msgid));
ofwhat = print_spelling ((char *) alloca (spelling_length () + 1));
if (*ofwhat)
- pedwarn ("(near initialization for `%s')", ofwhat);
+ pedwarn ("(near initialization for %qs)", ofwhat);
}
/* Issue a warning for a bad initializer component.
@@ -3973,7 +3979,7 @@ warning_init (const char *msgid)
warning ("%s", _(msgid));
ofwhat = print_spelling ((char *) alloca (spelling_length () + 1));
if (*ofwhat)
- warning ("(near initialization for `%s')", ofwhat);
+ warning ("(near initialization for %qs)", ofwhat);
}
/* If TYPE is an array type and EXPR is a parenthesized string
@@ -5144,7 +5150,7 @@ set_init_label (tree fieldname)
}
if (tail == 0)
- error ("unknown field `%s' specified in initializer",
+ error ("unknown field %qs specified in initializer",
IDENTIFIER_POINTER (fieldname));
else
{
@@ -6313,7 +6319,7 @@ tree
c_finish_goto_ptr (tree expr)
{
if (pedantic)
- pedwarn ("ISO C forbids `goto *expr;'");
+ pedwarn ("ISO C forbids %<goto *expr;%>");
expr = convert (ptr_type_node, expr);
return add_stmt (build1 (GOTO_EXPR, void_type_node, expr));
}
@@ -6327,20 +6333,21 @@ 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 ("function declared %<noreturn%> has a %<return%> statement");
if (!retval)
{
current_function_returns_null = 1;
if ((warn_return_type || flag_isoc99)
&& valtype != 0 && TREE_CODE (valtype) != VOID_TYPE)
- pedwarn_c99 ("`return' with no value, in function returning non-void");
+ pedwarn_c99 ("%<return%> with no value, in "
+ "function returning non-void");
}
else if (valtype == 0 || TREE_CODE (valtype) == VOID_TYPE)
{
current_function_returns_null = 1;
if (pedantic || TREE_CODE (TREE_TYPE (retval)) != VOID_TYPE)
- pedwarn ("`return' with a value, in function returning void");
+ pedwarn ("%<return%> with a value, in function returning void");
}
else
{
@@ -6468,7 +6475,8 @@ 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 `int' in ISO C");
+ warning ("%<long%> switch expression not converted to "
+ "%<int%> in ISO C");
exp = default_conversion (exp);
type = TREE_TYPE (exp);
@@ -6506,7 +6514,7 @@ do_case (tree low_value, tree high_value
else if (low_value)
error ("case label not within a switch statement");
else
- error ("`default' label not within a switch statement");
+ error ("%<default%> label not within a switch statement");
return label;
}
@@ -6570,7 +6578,7 @@ c_finish_if_stmt (location_t if_locus, t
found:
if (COND_EXPR_ELSE (inner_if))
- warning ("%Hsuggest explicit braces to avoid ambiguous `else'",
+ warning ("%Hsuggest explicit braces to avoid ambiguous %<else%>",
&if_locus);
}
@@ -7227,13 +7235,15 @@ build_binary_op (enum tree_code code, tr
whose value is 0 but which isn't a valid null ptr const. */
if (pedantic && (!integer_zerop (op0) || op0 != orig_op0)
&& TREE_CODE (tt1) == FUNCTION_TYPE)
- pedwarn ("ISO C forbids comparison of `void *' with function pointer");
+ pedwarn ("ISO C forbids comparison of %<void *%>"
+ " with function pointer");
}
else if (VOID_TYPE_P (tt1))
{
if (pedantic && (!integer_zerop (op1) || op1 != orig_op1)
&& TREE_CODE (tt0) == FUNCTION_TYPE)
- pedwarn ("ISO C forbids comparison of `void *' with function pointer");
+ pedwarn ("ISO C forbids comparison of %<void *%>"
+ " with function pointer");
}
else
pedwarn ("comparison of distinct pointer types lacks a cast");
diff -rupN GCC.orig/gcc/testsuite/g++.dg/warn/Wswitch-1.C GCC/gcc/testsuite/g++.dg/warn/Wswitch-1.C
--- GCC.orig/gcc/testsuite/g++.dg/warn/Wswitch-1.C 2004-05-13 08:47:51.000000000 +0000
+++ GCC/gcc/testsuite/g++.dg/warn/Wswitch-1.C 2004-09-12 19:07:27.000000000 +0000
@@ -19,14 +19,14 @@ foo (int i, int j, enum e ei, enum e ej,
case 4: return 3;
default: break;
}
- switch (ei) /* { dg-warning "enumeration value `e1' not handled in switch" "enum e1" } */
- { /* { dg-warning "enumeration value `e2' not handled in switch" "enum e2" { target *-*-* } 22 } */
+ switch (ei) /* { dg-warning "enumeration value 'e1' not handled in switch" "enum e1" } */
+ { /* { dg-warning "enumeration value 'e2' not handled in switch" "enum e2" { target *-*-* } 22 } */
}
switch (ej)
{
default: break;
}
- switch (ek) /* { dg-warning "enumeration value `e2' not handled in switch" "enum e2" } */
+ switch (ek) /* { dg-warning "enumeration value 'e2' not handled in switch" "enum e2" } */
{
case e1: return 1;
}
@@ -50,7 +50,7 @@ foo (int i, int j, enum e ei, enum e ej,
{
case e1: return 1;
case e2: return 2;
- case 3: return 3; /* { dg-warning "case value `3' not in enumerated type `e'" "excess 3" } */
+ case 3: return 3; /* { dg-warning "case value '3' not in enumerated type 'e'" "excess 3" } */
}
switch (ep)
{
diff -rupN GCC.orig/gcc/testsuite/g++.dg/warn/Wswitch-2.C GCC/gcc/testsuite/g++.dg/warn/Wswitch-2.C
--- GCC.orig/gcc/testsuite/g++.dg/warn/Wswitch-2.C 2004-05-13 08:47:51.000000000 +0000
+++ GCC/gcc/testsuite/g++.dg/warn/Wswitch-2.C 2004-09-12 19:07:34.000000000 +0000
@@ -13,7 +13,7 @@ foo (enum e ei, int j)
case e3: return 2;
case e4: return 3;
} /* No warning here since e2 has the same value as e3. */
- switch (ei) /* { dg-warning "enumeration value `e4' not handled in switch" "enum e4" } */
+ switch (ei) /* { dg-warning "enumeration value 'e4' not handled in switch" "enum e4" } */
{
case e1: return 1;
case e2: return 2;
@@ -22,7 +22,7 @@ foo (enum e ei, int j)
{
case e1: return 1;
} /* No warning here since switch condition was cast to int. */
- switch ((enum e) j) /* { dg-warning "enumeration value `e1' not handled in switch" "enum e1" } */
+ switch ((enum e) j) /* { dg-warning "enumeration value 'e1' not handled in switch" "enum e1" } */
{
case e2: return 1;
case e4: return 2;
diff -rupN GCC.orig/gcc/testsuite/gcc.dg/Wswitch-2.c GCC/gcc/testsuite/gcc.dg/Wswitch-2.c
--- GCC.orig/gcc/testsuite/gcc.dg/Wswitch-2.c 2004-05-13 08:47:52.000000000 +0000
+++ GCC/gcc/testsuite/gcc.dg/Wswitch-2.c 2004-09-12 19:09:44.000000000 +0000
@@ -13,7 +13,7 @@ foo (enum e ei, int j)
case e3: return 2;
case e4: return 3;
} /* No warning here since e2 has the same value as e3. */
- switch (ei) /* { dg-warning "enumeration value `e4' not handled in switch" "enum e4" } */
+ switch (ei) /* { dg-warning "enumeration value 'e4' not handled in switch" "enum e4" } */
{
case e1: return 1;
case e2: return 2;
@@ -22,7 +22,7 @@ foo (enum e ei, int j)
{
case e1: return 1;
} /* No warning here since switch condition was cast to int. */
- switch ((enum e) j) /* { dg-warning "enumeration value `e1' not handled in switch" "enum e1" } */
+ switch ((enum e) j) /* { dg-warning "enumeration value 'e1' not handled in switch" "enum e1" } */
{
case e2: return 1;
case e4: return 2;
diff -rupN GCC.orig/gcc/testsuite/gcc.dg/Wswitch-enum.c GCC/gcc/testsuite/gcc.dg/Wswitch-enum.c
--- GCC.orig/gcc/testsuite/gcc.dg/Wswitch-enum.c 2004-07-01 08:44:58.000000000 +0000
+++ GCC/gcc/testsuite/gcc.dg/Wswitch-enum.c 2004-09-12 19:09:53.000000000 +0000
@@ -19,18 +19,18 @@ foo (int i, int j, enum e ei, enum e ej,
case 4: return 3;
default: break;
}
- switch (ei) /* { dg-warning "enumeration value `e1' not handled in switch" "enum e1" } */
- { /* { dg-warning "enumeration value `e2' not handled in switch" "enum e2" { target *-*-* } 22 } */
+ switch (ei) /* { dg-warning "enumeration value 'e1' not handled in switch" "enum e1" } */
+ { /* { dg-warning "enumeration value 'e2' not handled in switch" "enum e2" { target *-*-* } 22 } */
}
- switch (ej) /* { dg-warning "enumeration value `e1' not handled in switch" "enum e1" } */
- { /* { dg-warning "enumeration value `e2' not handled in switch" "enum e2" { target *-*-* } 25 } */
+ switch (ej) /* { dg-warning "enumeration value 'e1' not handled in switch" "enum e1" } */
+ { /* { dg-warning "enumeration value 'e2' not handled in switch" "enum e2" { target *-*-* } 25 } */
default: break;
}
- switch (ek) /* { dg-warning "enumeration value `e2' not handled in switch" "enum e2" } */
+ switch (ek) /* { dg-warning "enumeration value 'e2' not handled in switch" "enum e2" } */
{
case e1: return 1;
}
- switch (el) /* { dg-warning "enumeration value `e2' not handled in switch" "enum e2" } */
+ switch (el) /* { dg-warning "enumeration value 'e2' not handled in switch" "enum e2" } */
{
case e1: return 1;
default: break;
@@ -50,13 +50,13 @@ foo (int i, int j, enum e ei, enum e ej,
{
case e1: return 1;
case e2: return 2;
- case 3: return 3; /* { dg-warning "case value `3' not in enumerated type `enum e'" "excess 3" } */
+ case 3: return 3; /* { dg-warning "case value '3' not in enumerated type 'enum e'" "excess 3" } */
}
switch (ep)
{
case e1: return 1;
case e2: return 2;
- case 3: return 3; /* { dg-warning "case value `3' not in enumerated type `enum e'" "excess 3" } */
+ case 3: return 3; /* { dg-warning "case value '3' not in enumerated type 'enum e'" "excess 3" } */
default: break;
}
return 0;
diff -rupN GCC.orig/gcc/testsuite/gcc.dg/Wswitch.c GCC/gcc/testsuite/gcc.dg/Wswitch.c
--- GCC.orig/gcc/testsuite/gcc.dg/Wswitch.c 2004-07-01 08:44:58.000000000 +0000
+++ GCC/gcc/testsuite/gcc.dg/Wswitch.c 2004-09-12 19:10:43.000000000 +0000
@@ -19,14 +19,14 @@ foo (int i, int j, enum e ei, enum e ej,
case 4: return 3;
default: break;
}
- switch (ei) /* { dg-warning "enumeration value `e1' not handled in switch" "enum e1" } */
- { /*{ dg-warning "enumeration value `e2' not handled in switch" "enum e2" { target *-*-* } 22 } */
+ switch (ei) /* { dg-warning "enumeration value 'e1' not handled in switch" "enum e1" } */
+ { /*{ dg-warning "enumeration value 'e2' not handled in switch" "enum e2" { target *-*-* } 22 } */
}
switch (ej)
{
default: break;
}
- switch (ek) /* { dg-warning "enumeration value `e2' not handled in switch" "enum e2" } */
+ switch (ek) /* { dg-warning "enumeration value 'e2' not handled in switch" "enum e2" } */
{
case e1: return 1;
}
@@ -50,7 +50,7 @@ foo (int i, int j, enum e ei, enum e ej,
{
case e1: return 1;
case e2: return 2;
- case 3: return 3; /* { dg-warning "case value `3' not in enumerated type `enum e'" "excess 3" } */
+ case 3: return 3; /* { dg-warning "case value '3' not in enumerated type 'enum e'" "excess 3" } */
}
switch (ep)
{
diff -rupN GCC.orig/gcc/testsuite/gcc.dg/declspec-10.c GCC/gcc/testsuite/gcc.dg/declspec-10.c
--- GCC.orig/gcc/testsuite/gcc.dg/declspec-10.c 2004-09-11 21:23:10.000000000 +0000
+++ GCC/gcc/testsuite/gcc.dg/declspec-10.c 2004-09-12 19:10:15.000000000 +0000
@@ -15,31 +15,31 @@ void f5 (register int);
void f6 (static int); /* { dg-error "error: storage class specified for parameter 'type name'" } */
void f7 (typedef int); /* { dg-error "error: storage class specified for parameter 'type name'" } */
-auto int x; /* { dg-error "error: file-scope declaration of `x' specifies `auto'" } */
+auto int x; /* { dg-error "error: file-scope declaration of 'x' specifies 'auto'" } */
register int y; /* { dg-warning "warning: file-scope declaration of 'y' specifies 'register'" } */
-void h (void) { extern void x (void) {} } /* { dg-error "error: nested function `x' declared `extern'" } */
+void h (void) { extern void x (void) {} } /* { dg-error "error: nested function 'x' declared 'extern'" } */
/* { dg-warning "warning: ISO C forbids nested functions" "nested" { target *-*-* } 21 } */
void
g (void)
{
- void a; /* { dg-error "error: variable or field `a' declared void" } */
- const void b; /* { dg-error "error: variable or field `b' declared void" } */
- static void c; /* { dg-error "error: variable or field `c' declared void" } */
+ void a; /* { dg-error "error: variable or field 'a' declared void" } */
+ const void b; /* { dg-error "error: variable or field 'b' declared void" } */
+ static void c; /* { dg-error "error: variable or field 'c' declared void" } */
}
void p;
const void p1;
extern void q;
extern const void q1;
-static void r; /* { dg-error "error: variable or field `r' declared void" } */
-static const void r1; /* { dg-error "error: variable or field `r1' declared void" } */
+static void r; /* { dg-error "error: variable or field 'r' declared void" } */
+static const void r1; /* { dg-error "error: variable or field 'r1' declared void" } */
-register void f8 (void); /* { dg-error "error: invalid storage class for function `f8'" } */
+register void f8 (void); /* { dg-error "error: invalid storage class for function 'f8'" } */
/* { dg-warning "warning: file-scope declaration of 'f8' specifies 'register'" "register function" { target *-*-* } 39 } */
void i (void) { auto void y (void) {} } /* { dg-warning "warning: ISO C forbids nested functions" } */
/* { dg-warning "warning: function definition declared 'auto'" "nested" { target *-*-* } 42 } */
-inline int main (void) { return 0; } /* { dg-warning "warning: cannot inline function `main'" } */
+inline int main (void) { return 0; } /* { dg-warning "warning: cannot inline function 'main'" } */
diff -rupN GCC.orig/gcc/testsuite/gcc.dg/declspec-11.c GCC/gcc/testsuite/gcc.dg/declspec-11.c
--- GCC.orig/gcc/testsuite/gcc.dg/declspec-11.c 2004-09-11 21:23:10.000000000 +0000
+++ GCC/gcc/testsuite/gcc.dg/declspec-11.c 2004-09-12 19:10:23.000000000 +0000
@@ -15,31 +15,31 @@ void f5 (register int);
void f6 (static int); /* { dg-error "error: storage class specified for parameter 'type name'" } */
void f7 (typedef int); /* { dg-error "error: storage class specified for parameter 'type name'" } */
-auto int x; /* { dg-error "error: file-scope declaration of `x' specifies `auto'" } */
+auto int x; /* { dg-error "error: file-scope declaration of 'x' specifies 'auto'" } */
register int y; /* { dg-error "error: file-scope declaration of 'y' specifies 'register'" } */
-void h (void) { extern void x (void) {} } /* { dg-error "error: nested function `x' declared `extern'" } */
+void h (void) { extern void x (void) {} } /* { dg-error "error: nested function 'x' declared 'extern'" } */
/* { dg-error "error: ISO C forbids nested functions" "nested" { target *-*-* } 21 } */
void
g (void)
{
- void a; /* { dg-error "error: variable or field `a' declared void" } */
- const void b; /* { dg-error "error: variable or field `b' declared void" } */
- static void c; /* { dg-error "error: variable or field `c' declared void" } */
+ void a; /* { dg-error "error: variable or field 'a' declared void" } */
+ const void b; /* { dg-error "error: variable or field 'b' declared void" } */
+ static void c; /* { dg-error "error: variable or field 'c' declared void" } */
}
void p;
const void p1;
extern void q;
extern const void q1;
-static void r; /* { dg-error "error: variable or field `r' declared void" } */
-static const void r1; /* { dg-error "error: variable or field `r1' declared void" } */
+static void r; /* { dg-error "error: variable or field 'r' declared void" } */
+static const void r1; /* { dg-error "error: variable or field 'r1' declared void" } */
-register void f8 (void); /* { dg-error "error: invalid storage class for function `f8'" } */
+register void f8 (void); /* { dg-error "error: invalid storage class for function 'f8'" } */
/* { dg-error "error: file-scope declaration of 'f8' specifies 'register'" "register function" { target *-*-* } 39 } */
void i (void) { auto void y (void) {} } /* { dg-error "error: ISO C forbids nested functions" } */
/* { dg-error "error: function definition declared 'auto'" "nested" { target *-*-* } 42 } */
-inline int main (void) { return 0; } /* { dg-warning "warning: cannot inline function `main'" } */
+inline int main (void) { return 0; } /* { dg-warning "warning: cannot inline function 'main'" } */
diff -rupN GCC.orig/gcc/testsuite/gcc.dg/declspec-9.c GCC/gcc/testsuite/gcc.dg/declspec-9.c
--- GCC.orig/gcc/testsuite/gcc.dg/declspec-9.c 2004-09-11 21:23:10.000000000 +0000
+++ GCC/gcc/testsuite/gcc.dg/declspec-9.c 2004-09-12 19:10:06.000000000 +0000
@@ -16,28 +16,28 @@ void f5 (register int);
void f6 (static int); /* { dg-error "error: storage class specified for parameter 'type name'" } */
void f7 (typedef int); /* { dg-error "error: storage class specified for parameter 'type name'" } */
-auto int x; /* { dg-error "error: file-scope declaration of `x' specifies `auto'" } */
+auto int x; /* { dg-error "error: file-scope declaration of 'x' specifies 'auto'" } */
register int y;
-void h (void) { extern void x (void) {} } /* { dg-error "error: nested function `x' declared `extern'" } */
+void h (void) { extern void x (void) {} } /* { dg-error "error: nested function 'x' declared 'extern'" } */
void
g (void)
{
- void a; /* { dg-error "error: variable or field `a' declared void" } */
- const void b; /* { dg-error "error: variable or field `b' declared void" } */
- static void c; /* { dg-error "error: variable or field `c' declared void" } */
+ void a; /* { dg-error "error: variable or field 'a' declared void" } */
+ const void b; /* { dg-error "error: variable or field 'b' declared void" } */
+ static void c; /* { dg-error "error: variable or field 'c' declared void" } */
}
void p;
const void p1;
extern void q;
extern const void q1;
-static void r; /* { dg-error "error: variable or field `r' declared void" } */
-static const void r1; /* { dg-error "error: variable or field `r1' declared void" } */
+static void r; /* { dg-error "error: variable or field 'r' declared void" } */
+static const void r1; /* { dg-error "error: variable or field 'r1' declared void" } */
-register void f8 (void); /* { dg-error "error: invalid storage class for function `f8'" } */
+register void f8 (void); /* { dg-error "error: invalid storage class for function 'f8'" } */
void i (void) { auto void y (void) {} }
-inline int main (void) { return 0; } /* { dg-warning "warning: cannot inline function `main'" } */
+inline int main (void) { return 0; } /* { dg-warning "warning: cannot inline function 'main'" } */
diff -rupN GCC.orig/gcc/testsuite/gcc.dg/m-un-2.c GCC/gcc/testsuite/gcc.dg/m-un-2.c
--- GCC.orig/gcc/testsuite/gcc.dg/m-un-2.c 2003-10-04 07:36:35.000000000 +0000
+++ GCC/gcc/testsuite/gcc.dg/m-un-2.c 2004-09-12 19:10:57.000000000 +0000
@@ -16,7 +16,7 @@ struct vtable mtable = {
malloc,
free
}; /* { dg-warning "missing initializer" "warning regression" { target *-*-* } {18} } */
- /* { dg-warning "initialization for `mtable._realloc'" "warning regression" { target *-*-* } {18} } */
+ /* { dg-warning "initialization for 'mtable._realloc'" "warning regression" { target *-*-* } {18} } */
/* With designated initializers, we assume you meant to leave out the
initialization of any blank fields. */
diff -rupN GCC.orig/gcc/testsuite/gcc.dg/noreturn-1.c GCC/gcc/testsuite/gcc.dg/noreturn-1.c
--- GCC.orig/gcc/testsuite/gcc.dg/noreturn-1.c 2004-06-23 08:58:12.000000000 +0000
+++ GCC/gcc/testsuite/gcc.dg/noreturn-1.c 2004-09-12 22:32:17.000000000 +0000
@@ -34,7 +34,7 @@ extern void foo5(void) __attribute__ ((_
void
foo5(void)
{
- return; /* { dg-warning "`noreturn' has a `return' statement" "detect invalid return" } */
+ return; /* { dg-warning "'noreturn' has a 'return' statement" "detect invalid return" } */
} /* { dg-warning "function does return" "detect return from noreturn" } */
extern void foo6(void);
diff -rupN GCC.orig/gcc/testsuite/gcc.dg/wtr-conversion-1.c GCC/gcc/testsuite/gcc.dg/wtr-conversion-1.c
--- GCC.orig/gcc/testsuite/gcc.dg/wtr-conversion-1.c 2002-07-04 16:09:25.000000000 +0000
+++ GCC/gcc/testsuite/gcc.dg/wtr-conversion-1.c 2004-09-12 19:11:06.000000000 +0000
@@ -23,8 +23,8 @@ testfunc1 ()
foo_i (cd); /* { dg-warning "as integer rather than complex" "prototype conversion warning" } */
foo_f (i); /* { dg-warning "as floating rather than integer" "prototype conversion warning" } */
- foo_f (f); /* { dg-warning "as `float' rather than `double'" "prototype conversion warning" } */
- foo_f (ld); /* { dg-warning "as `float' rather than `double'" "prototype conversion warning" } */
+ foo_f (f); /* { dg-warning "as 'float' rather than 'double'" "prototype conversion warning" } */
+ foo_f (ld); /* { dg-warning "as 'float' rather than 'double'" "prototype conversion warning" } */
foo_f (cd); /* { dg-warning "as floating rather than complex" "prototype conversion warning" } */
foo_ld (i); /* { dg-warning "as floating rather than integer" "prototype conversion warning" } */