c-common.c, [...]: Use %D for declarations in diagnostics and %E for identifiers...
authorJoseph Myers <joseph@codesourcery.com>
Fri, 18 Mar 2005 20:47:27 +0000 (20:47 +0000)
committerJoseph Myers <jsm28@gcc.gnu.org>
Fri, 18 Mar 2005 20:47:27 +0000 (20:47 +0000)
* 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

gcc/ChangeLog
gcc/c-common.c
gcc/c-decl.c
gcc/c-format.c
gcc/c-typeck.c

index 73d040985354ab21e84e1f26c5e519eabc75fae3..a35d25843560034b6362475a818e733848b28e7c 100644 (file)
@@ -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>
 
index 313b554249de2d2bac83a1250a32ebf28f51d821..651728616357bc7e7d4f4f0e0e3de0bf2d17ba09 100644 (file)
@@ -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),
index eee7b66a7b5a29b3eb51684fa7f61a1c95cc6122..103b50db0fc0cf476676432d54acd0a618c98168 100644 (file)
@@ -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;
            }
        }
index a0ae154ab4f44f45e2b3bd2c6320e83a8e7a236f..914d6cc97928293ad5121ed6a14874d1e40fa69b 100644 (file)
@@ -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;
        }
     }
index 9c94b034b6aa0b92821b08247ef108275e42f110..6f2a6bcb2382118f0211e44fb0e4f09db7e71b98 100644 (file)
@@ -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;