mirror of git://gcc.gnu.org/git/gcc.git
c-common.c, [...]: Use %D for declarations in diagnostics and %E for identifiers, not %s.
* c-common.c, c-decl.c, c-format.c, c-typeck.c: Use %D for declarations in diagnostics and %E for identifiers, not %s. From-SVN: r96701
This commit is contained in:
parent
33156717fa
commit
c51a1ba9d9
|
|
@ -1,3 +1,8 @@
|
|||
2005-03-18 Joseph S. Myers <joseph@codesourcery.com>
|
||||
|
||||
* c-common.c, c-decl.c, c-format.c, c-typeck.c: Use %D for
|
||||
declarations in diagnostics and %E for identifiers, not %s.
|
||||
|
||||
2005-03-18 Jan Hubicka <jh@suse.cz>
|
||||
Dale Johannesen <dalej@apple.com>
|
||||
|
||||
|
|
|
|||
|
|
@ -1146,8 +1146,7 @@ warn_for_collisions_1 (tree written, tree writer, struct tlist *list,
|
|||
&& DECL_NAME (list->expr))
|
||||
{
|
||||
warned_ids = new_tlist (warned_ids, written, NULL_TREE);
|
||||
warning ("operation on %qs may be undefined",
|
||||
IDENTIFIER_POINTER (DECL_NAME (list->expr)));
|
||||
warning ("operation on %qE may be undefined", list->expr);
|
||||
}
|
||||
list = list->next;
|
||||
}
|
||||
|
|
@ -3958,7 +3957,7 @@ handle_packed_attribute (tree *node, tree name, tree ARG_UNUSED (args),
|
|||
that changes what the typedef is typing. */
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -3977,7 +3976,7 @@ handle_nocommon_attribute (tree *node, tree name,
|
|||
DECL_COMMON (*node) = 0;
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -3995,7 +3994,7 @@ handle_common_attribute (tree *node, tree name, tree ARG_UNUSED (args),
|
|||
DECL_COMMON (*node) = 1;
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -4022,7 +4021,7 @@ handle_noreturn_attribute (tree *node, tree name, tree ARG_UNUSED (args),
|
|||
TYPE_READONLY (TREE_TYPE (type)), 1));
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -4041,7 +4040,7 @@ handle_noinline_attribute (tree *node, tree name,
|
|||
DECL_UNINLINABLE (*node) = 1;
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -4064,7 +4063,7 @@ handle_always_inline_attribute (tree *node, tree name,
|
|||
}
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -4088,7 +4087,7 @@ handle_used_attribute (tree *pnode, tree name, tree ARG_UNUSED (args),
|
|||
}
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -4114,7 +4113,7 @@ handle_unused_attribute (tree *node, tree name, tree ARG_UNUSED (args),
|
|||
TREE_USED (decl) = 1;
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
}
|
||||
|
|
@ -4148,7 +4147,7 @@ handle_const_attribute (tree *node, tree name, tree ARG_UNUSED (args),
|
|||
TREE_THIS_VOLATILE (TREE_TYPE (type))));
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -4192,7 +4191,7 @@ handle_transparent_union_attribute (tree *node, tree name,
|
|||
DECL_TRANSPARENT_UNION (decl) = 1;
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -4220,7 +4219,7 @@ handle_constructor_attribute (tree *node, tree name,
|
|||
}
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -4248,7 +4247,7 @@ handle_destructor_attribute (tree *node, tree name,
|
|||
}
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -4267,7 +4266,7 @@ handle_mode_attribute (tree *node, tree name, tree args,
|
|||
*no_add_attrs = true;
|
||||
|
||||
if (TREE_CODE (TREE_VALUE (args)) != IDENTIFIER_NODE)
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
else
|
||||
{
|
||||
int j;
|
||||
|
|
@ -4598,7 +4597,7 @@ handle_alias_attribute (tree *node, tree name, tree args,
|
|||
}
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -4622,14 +4621,13 @@ handle_visibility_attribute (tree *node, tree name, tree args,
|
|||
{
|
||||
if (TREE_CODE (*node) != RECORD_TYPE && TREE_CODE (*node) != UNION_TYPE)
|
||||
{
|
||||
warning ("%qs attribute ignored on non-class types",
|
||||
IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored on non-class types", name);
|
||||
return NULL_TREE;
|
||||
}
|
||||
}
|
||||
else if (decl_function_context (decl) != 0 || !TREE_PUBLIC (decl))
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
return NULL_TREE;
|
||||
}
|
||||
|
||||
|
|
@ -4721,7 +4719,7 @@ handle_tls_model_attribute (tree *node, tree name, tree args,
|
|||
|
||||
if (!DECL_THREAD_LOCAL (decl))
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
else
|
||||
|
|
@ -4788,7 +4786,7 @@ handle_malloc_attribute (tree *node, tree name, tree ARG_UNUSED (args),
|
|||
/* ??? TODO: Support types. */
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -4806,7 +4804,7 @@ handle_returns_twice_attribute (tree *node, tree name, tree ARG_UNUSED (args),
|
|||
DECL_IS_RETURNS_TWICE (*node) = 1;
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -4852,7 +4850,7 @@ handle_pure_attribute (tree *node, tree name, tree ARG_UNUSED (args),
|
|||
/* ??? TODO: Support types. */
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -4882,7 +4880,7 @@ handle_deprecated_attribute (tree *node, tree name,
|
|||
{
|
||||
tree type = NULL_TREE;
|
||||
int warn = 0;
|
||||
const char *what = NULL;
|
||||
tree what = NULL_TREE;
|
||||
|
||||
if (DECL_P (*node))
|
||||
{
|
||||
|
|
@ -4914,17 +4912,15 @@ handle_deprecated_attribute (tree *node, tree name,
|
|||
if (type && TYPE_NAME (type))
|
||||
{
|
||||
if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE)
|
||||
what = IDENTIFIER_POINTER (TYPE_NAME (*node));
|
||||
what = TYPE_NAME (*node);
|
||||
else if (TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
|
||||
&& DECL_NAME (TYPE_NAME (type)))
|
||||
what = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type)));
|
||||
what = DECL_NAME (TYPE_NAME (type));
|
||||
}
|
||||
if (what)
|
||||
warning ("%qs attribute ignored for %qs",
|
||||
IDENTIFIER_POINTER (name), what);
|
||||
warning ("%qE attribute ignored for %qE", name, what);
|
||||
else
|
||||
warning ("%qs attribute ignored",
|
||||
IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
}
|
||||
|
||||
return NULL_TREE;
|
||||
|
|
@ -4952,7 +4948,7 @@ handle_vector_size_attribute (tree *node, tree name, tree args,
|
|||
|
||||
if (!host_integerp (size, 1))
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
return NULL_TREE;
|
||||
}
|
||||
|
||||
|
|
@ -4981,8 +4977,7 @@ handle_vector_size_attribute (tree *node, tree name, tree args,
|
|||
&& GET_MODE_CLASS (orig_mode) != MODE_INT)
|
||||
|| !host_integerp (TYPE_SIZE_UNIT (type), 1))
|
||||
{
|
||||
error ("invalid vector type for attribute %qs",
|
||||
IDENTIFIER_POINTER (name));
|
||||
error ("invalid vector type for attribute %qE", name);
|
||||
return NULL_TREE;
|
||||
}
|
||||
|
||||
|
|
@ -5231,7 +5226,7 @@ handle_nothrow_attribute (tree *node, tree name, tree ARG_UNUSED (args),
|
|||
/* ??? TODO: Support types. */
|
||||
else
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -5254,7 +5249,7 @@ handle_cleanup_attribute (tree *node, tree name, tree args,
|
|||
we'd be missing too much, since we do have attribute constructor. */
|
||||
if (TREE_CODE (decl) != VAR_DECL || TREE_STATIC (decl))
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
return NULL_TREE;
|
||||
}
|
||||
|
|
@ -5293,7 +5288,7 @@ handle_warn_unused_result_attribute (tree *node, tree name,
|
|||
/* Ignore the attribute for functions not returning any value. */
|
||||
if (VOID_TYPE_P (TREE_TYPE (*node)))
|
||||
{
|
||||
warning ("%qs attribute ignored", IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute ignored", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
|
||||
|
|
@ -5310,8 +5305,7 @@ handle_sentinel_attribute (tree *node, tree name, tree args,
|
|||
|
||||
if (!params)
|
||||
{
|
||||
warning ("%qs attribute requires prototypes with named arguments",
|
||||
IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute requires prototypes with named arguments", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
else
|
||||
|
|
@ -5321,8 +5315,7 @@ handle_sentinel_attribute (tree *node, tree name, tree args,
|
|||
|
||||
if (VOID_TYPE_P (TREE_VALUE (params)))
|
||||
{
|
||||
warning ("%qs attribute only applies to variadic functions",
|
||||
IDENTIFIER_POINTER (name));
|
||||
warning ("%qE attribute only applies to variadic functions", name);
|
||||
*no_add_attrs = true;
|
||||
}
|
||||
}
|
||||
|
|
@ -5567,8 +5560,8 @@ c_parse_error (const char *msgid, enum cpp_ttype token, tree value)
|
|||
message = catenate_messages (msgid, " before numeric constant");
|
||||
else if (token == CPP_NAME)
|
||||
{
|
||||
message = catenate_messages (msgid, " before %qs");
|
||||
error (message, IDENTIFIER_POINTER (value));
|
||||
message = catenate_messages (msgid, " before %qE");
|
||||
error (message, value);
|
||||
free (message);
|
||||
message = NULL;
|
||||
}
|
||||
|
|
@ -5712,7 +5705,7 @@ fold_offsetof_1 (tree expr)
|
|||
if (DECL_C_BIT_FIELD (t))
|
||||
{
|
||||
error ("attempt to take address of bit-field structure "
|
||||
"member %qs", IDENTIFIER_POINTER (DECL_NAME (t)));
|
||||
"member %qD", t);
|
||||
return error_mark_node;
|
||||
}
|
||||
off = size_binop (PLUS_EXPR, DECL_FIELD_OFFSET (t),
|
||||
|
|
|
|||
42
gcc/c-decl.c
42
gcc/c-decl.c
|
|
@ -2370,8 +2370,7 @@ lookup_label (tree name)
|
|||
|
||||
if (current_function_decl == 0)
|
||||
{
|
||||
error ("label %qs referenced outside of any function",
|
||||
IDENTIFIER_POINTER (name));
|
||||
error ("label %qE referenced outside of any function", name);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -2413,7 +2412,7 @@ declare_label (tree name)
|
|||
at this scope */
|
||||
if (b && B_IN_CURRENT_SCOPE (b))
|
||||
{
|
||||
error ("duplicate label declaration %qs", IDENTIFIER_POINTER (name));
|
||||
error ("duplicate label declaration %qE", name);
|
||||
locate_old_decl (b->decl, error);
|
||||
|
||||
/* Just use the previous declaration. */
|
||||
|
|
@ -2471,8 +2470,7 @@ define_label (location_t location, tree name)
|
|||
|
||||
if (warn_traditional && !in_system_header && lookup_name (name))
|
||||
warning ("%Htraditional C lacks a separate namespace for labels, "
|
||||
"identifier %qs conflicts", &location,
|
||||
IDENTIFIER_POINTER (name));
|
||||
"identifier %qE conflicts", &location, name);
|
||||
|
||||
/* Mark label as having been defined. */
|
||||
DECL_INITIAL (label) = error_mark_node;
|
||||
|
|
@ -2536,9 +2534,8 @@ void
|
|||
pending_xref_error (void)
|
||||
{
|
||||
if (pending_invalid_xref != 0)
|
||||
error ("%H%qs defined as wrong kind of tag",
|
||||
&pending_invalid_xref_location,
|
||||
IDENTIFIER_POINTER (pending_invalid_xref));
|
||||
error ("%H%qE defined as wrong kind of tag",
|
||||
&pending_invalid_xref_location, pending_invalid_xref);
|
||||
pending_invalid_xref = 0;
|
||||
}
|
||||
|
||||
|
|
@ -5008,18 +5005,16 @@ start_struct (enum tree_code code, tree name)
|
|||
if (TYPE_SIZE (ref))
|
||||
{
|
||||
if (code == UNION_TYPE)
|
||||
error ("redefinition of %<union %s%>", IDENTIFIER_POINTER (name));
|
||||
error ("redefinition of %<union %E%>", name);
|
||||
else
|
||||
error ("redefinition of %<struct %s%>", IDENTIFIER_POINTER (name));
|
||||
error ("redefinition of %<struct %E%>", name);
|
||||
}
|
||||
else if (C_TYPE_BEING_DEFINED (ref))
|
||||
{
|
||||
if (code == UNION_TYPE)
|
||||
error ("nested redefinition of %<union %s%>",
|
||||
IDENTIFIER_POINTER (name));
|
||||
error ("nested redefinition of %<union %E%>", name);
|
||||
else
|
||||
error ("nested redefinition of %<struct %s%>",
|
||||
IDENTIFIER_POINTER (name));
|
||||
error ("nested redefinition of %<struct %E%>", name);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -5454,14 +5449,14 @@ start_enum (tree name)
|
|||
}
|
||||
|
||||
if (C_TYPE_BEING_DEFINED (enumtype))
|
||||
error ("nested redefinition of %<enum %s%>", IDENTIFIER_POINTER (name));
|
||||
error ("nested redefinition of %<enum %E%>", name);
|
||||
|
||||
C_TYPE_BEING_DEFINED (enumtype) = 1;
|
||||
|
||||
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 %E%>", name);
|
||||
|
||||
/* Completely replace its old definition.
|
||||
The old enumerators remain defined, however. */
|
||||
|
|
@ -6799,7 +6794,7 @@ declspecs_add_qual (struct c_declspecs *specs, tree qual)
|
|||
gcc_unreachable ();
|
||||
}
|
||||
if (dupe && pedantic && !flag_isoc99)
|
||||
pedwarn ("duplicate %qs", IDENTIFIER_POINTER (qual));
|
||||
pedwarn ("duplicate %qE", qual);
|
||||
return specs;
|
||||
}
|
||||
|
||||
|
|
@ -6950,7 +6945,7 @@ declspecs_add_type (struct c_declspecs *specs, struct c_typespec spec)
|
|||
}
|
||||
|
||||
if (dupe)
|
||||
error ("duplicate %qs", IDENTIFIER_POINTER (type));
|
||||
error ("duplicate %qE", type);
|
||||
|
||||
return specs;
|
||||
}
|
||||
|
|
@ -7079,8 +7074,7 @@ declspecs_add_type (struct c_declspecs *specs, struct c_typespec spec)
|
|||
{
|
||||
tree t = lookup_name (type);
|
||||
if (!t || TREE_CODE (t) != TYPE_DECL)
|
||||
error ("%qs fails to be a typedef or built in type",
|
||||
IDENTIFIER_POINTER (type));
|
||||
error ("%qE fails to be a typedef or built in type", type);
|
||||
else if (TREE_TYPE (t) == error_mark_node)
|
||||
;
|
||||
else
|
||||
|
|
@ -7112,8 +7106,7 @@ declspecs_add_scspec (struct c_declspecs *specs, tree scspec)
|
|||
&& C_IS_RESERVED_WORD (scspec));
|
||||
i = C_RID_CODE (scspec);
|
||||
if (extra_warnings && specs->non_sc_seen_p)
|
||||
warning ("%qs is not at beginning of declaration",
|
||||
IDENTIFIER_POINTER (scspec));
|
||||
warning ("%qE is not at beginning of declaration", scspec);
|
||||
switch (i)
|
||||
{
|
||||
case RID_INLINE:
|
||||
|
|
@ -7162,7 +7155,7 @@ declspecs_add_scspec (struct c_declspecs *specs, tree scspec)
|
|||
if (n != csc_none && n == specs->storage_class)
|
||||
dupe = true;
|
||||
if (dupe)
|
||||
error ("duplicate %qs", IDENTIFIER_POINTER (scspec));
|
||||
error ("duplicate %qE", scspec);
|
||||
if (n != csc_none)
|
||||
{
|
||||
if (specs->storage_class != csc_none && n != specs->storage_class)
|
||||
|
|
@ -7174,8 +7167,7 @@ declspecs_add_scspec (struct c_declspecs *specs, tree scspec)
|
|||
specs->storage_class = n;
|
||||
if (n != csc_extern && n != csc_static && specs->thread_p)
|
||||
{
|
||||
error ("%<__thread%> used with %qs",
|
||||
IDENTIFIER_POINTER (scspec));
|
||||
error ("%<__thread%> used with %qE", scspec);
|
||||
specs->thread_p = false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -199,7 +199,8 @@ decode_format_attr (tree args, function_format_info *info, int validated_p)
|
|||
if (info->format_type == format_type_error)
|
||||
{
|
||||
gcc_assert (!validated_p);
|
||||
warning ("%qs is an unrecognized format function type", p);
|
||||
warning ("%qE is an unrecognized format function type",
|
||||
format_type_id);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -136,8 +136,7 @@ c_incomplete_type_error (tree value, tree type)
|
|||
|
||||
if (value != 0 && (TREE_CODE (value) == VAR_DECL
|
||||
|| TREE_CODE (value) == PARM_DECL))
|
||||
error ("%qs has an incomplete type",
|
||||
IDENTIFIER_POINTER (DECL_NAME (value)));
|
||||
error ("%qD has an incomplete type", value);
|
||||
else
|
||||
{
|
||||
retry:
|
||||
|
|
@ -180,12 +179,11 @@ c_incomplete_type_error (tree value, tree type)
|
|||
}
|
||||
|
||||
if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE)
|
||||
error ("invalid use of undefined type %<%s %s%>",
|
||||
type_code_string, IDENTIFIER_POINTER (TYPE_NAME (type)));
|
||||
error ("invalid use of undefined type %<%s %E%>",
|
||||
type_code_string, TYPE_NAME (type));
|
||||
else
|
||||
/* If this type has a typedef-name, the TYPE_NAME is a TYPE_DECL. */
|
||||
error ("invalid use of incomplete typedef %qs",
|
||||
IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type))));
|
||||
error ("invalid use of incomplete typedef %qD", TYPE_NAME (type));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1556,8 +1554,7 @@ build_component_ref (tree datum, tree component)
|
|||
|
||||
if (!field)
|
||||
{
|
||||
error ("%qT has no member named %qs", type,
|
||||
IDENTIFIER_POINTER (component));
|
||||
error ("%qT has no member named %qE", type, component);
|
||||
return error_mark_node;
|
||||
}
|
||||
|
||||
|
|
@ -1592,8 +1589,8 @@ build_component_ref (tree datum, tree component)
|
|||
return ref;
|
||||
}
|
||||
else if (code != ERROR_MARK)
|
||||
error ("request for member %qs in something not a structure or union",
|
||||
IDENTIFIER_POINTER (component));
|
||||
error ("request for member %qE in something not a structure or union",
|
||||
component);
|
||||
|
||||
return error_mark_node;
|
||||
}
|
||||
|
|
@ -2811,16 +2808,16 @@ readonly_error (tree arg, enum lvalue_use use)
|
|||
if (TYPE_READONLY (TREE_TYPE (TREE_OPERAND (arg, 0))))
|
||||
readonly_error (TREE_OPERAND (arg, 0), use);
|
||||
else
|
||||
error (READONLY_MSG (N_("assignment of read-only member %qs"),
|
||||
N_("increment of read-only member %qs"),
|
||||
N_("decrement of read-only member %qs")),
|
||||
IDENTIFIER_POINTER (DECL_NAME (TREE_OPERAND (arg, 1))));
|
||||
error (READONLY_MSG (N_("assignment of read-only member %qD"),
|
||||
N_("increment of read-only member %qD"),
|
||||
N_("decrement of read-only member %qD")),
|
||||
TREE_OPERAND (arg, 1));
|
||||
}
|
||||
else if (TREE_CODE (arg) == VAR_DECL)
|
||||
error (READONLY_MSG (N_("assignment of read-only variable %qs"),
|
||||
N_("increment of read-only variable %qs"),
|
||||
N_("decrement of read-only variable %qs")),
|
||||
IDENTIFIER_POINTER (DECL_NAME (arg)));
|
||||
error (READONLY_MSG (N_("assignment of read-only variable %qD"),
|
||||
N_("increment of read-only variable %qD"),
|
||||
N_("decrement of read-only variable %qD")),
|
||||
arg);
|
||||
else
|
||||
error (READONLY_MSG (N_("assignment of read-only location"),
|
||||
N_("increment of read-only location"),
|
||||
|
|
@ -5293,8 +5290,7 @@ set_init_label (tree fieldname)
|
|||
}
|
||||
|
||||
if (tail == 0)
|
||||
error ("unknown field %qs specified in initializer",
|
||||
IDENTIFIER_POINTER (fieldname));
|
||||
error ("unknown field %qE specified in initializer", fieldname);
|
||||
else
|
||||
{
|
||||
constructor_fields = tail;
|
||||
|
|
|
|||
Loading…
Reference in New Issue