OSDN Git Service

Revert bogus commit.
[pf3gnuchains/gcc-fork.git] / gcc / diagnostic.c
index d566401..4ff157d 100644 (file)
@@ -867,8 +867,8 @@ format_with_decl (buffer, decl)
   if (*p == '%')               /* Print the name.  */
     {
       const char *const n = (DECL_NAME (decl)
-                ? (*decl_printable_name) (decl, 2)
-                : _("((anonymous))"));
+                            ? (*decl_printable_name) (decl, 2)
+                            : _("((anonymous))"));
       output_add_string (buffer, n);
       while (*p)
        {
@@ -1221,12 +1221,14 @@ internal_error VPARAMS ((const char *msgid, ...))
   if (diagnostic_lock)
     error_recursion ();
 
+#ifndef ENABLE_CHECKING
   if (errorcount > 0 || sorrycount > 0)
     {
       fnotice (stderr, "%s:%d: confused by earlier errors, bailing out\n",
               input_filename, lineno);
       exit (FATAL_EXIT_CODE);
     }
+#endif
 
   if (internal_error_function != 0)
     (*internal_error_function) (_(msgid), &ap);
@@ -1520,3 +1522,41 @@ default_diagnostic_finalizer (buffer, dc)
 {
   output_destroy_prefix (buffer);
 }
+
+void 
+warn_deprecated_use (node)
+     tree node;
+{
+  if (node == 0 || !warn_deprecated_decl)
+    return;
+
+  if (DECL_P (node))
+    warning ("`%s' is deprecated (declared at %s:%d)",
+            IDENTIFIER_POINTER (DECL_NAME (node)),
+            DECL_SOURCE_FILE (node), DECL_SOURCE_LINE (node));
+  else if (TYPE_P (node))
+    {
+      const char *what = NULL;
+      tree decl = TYPE_STUB_DECL (node);
+
+      if (TREE_CODE (TYPE_NAME (node)) == IDENTIFIER_NODE)
+       what = IDENTIFIER_POINTER (TYPE_NAME (node));
+      else if (TREE_CODE (TYPE_NAME (node)) == TYPE_DECL
+              && DECL_NAME (TYPE_NAME (node)))
+       what = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (node)));
+       
+      if (what)
+       {
+         if (decl)
+           warning ("`%s' is deprecated (declared at %s:%d)", what,
+                    DECL_SOURCE_FILE (decl), DECL_SOURCE_LINE (decl));
+         else
+           warning ("`%s' is deprecated", what);
+       }
+      else if (decl)
+       warning ("type is deprecated (declared at %s:%d)",
+                DECL_SOURCE_FILE (decl), DECL_SOURCE_LINE (decl));
+      else
+       warning ("type is deprecated");
+    }
+}