(print_error_function): New function hook.
authorPer Bothner <bothner@gcc.gnu.org>
Tue, 21 Mar 1995 02:44:26 +0000 (18:44 -0800)
committerPer Bothner <bothner@gcc.gnu.org>
Tue, 21 Mar 1995 02:44:26 +0000 (18:44 -0800)
(default_print_error_function):  New function.  Default value
of print_error_function.  Code moved here from report_error_function.
(report_error_function):  Use print_error_function hook.

From-SVN: r9215

gcc/toplev.c

index b206128c9547d71ea68329b3fb3c11fc6ae1b447..e40f756c23dde8d193bfdd1eea46735bd73427a2 100644 (file)
@@ -1141,21 +1141,13 @@ announce_function (decl)
     }
 }
 
-/* Prints out, if necessary, the name of the current function
-   which caused an error.  Called from all error and warning functions.  */
+/* The default function to print out name of current function that caused
+   an error.  */
 
 void
-report_error_function (file)
+default_print_error_function (file)
      char *file;
 {
-  struct file_stack *p;
-
-  if (need_error_newline)
-    {
-      fprintf (stderr, "\n");
-      need_error_newline = 0;
-    }
-
   if (last_error_function != current_function_decl)
     {
       char *kind = "function";
@@ -1176,6 +1168,30 @@ report_error_function (file)
 
       last_error_function = current_function_decl;
     }
+}
+
+/* Called by report_error_function to print out function name.
+ * Default may be overridden by language front-ends. */
+
+void (*print_error_function) PROTO((char*)) = default_print_error_function;
+
+/* Prints out, if necessary, the name of the current function
+  that caused an error.  Called from all error and warning functions.  */
+
+void
+report_error_function (file)
+     char *file;
+{
+  struct file_stack *p;
+
+  if (need_error_newline)
+    {
+      fprintf (stderr, "\n");
+      need_error_newline = 0;
+    }
+
+  (*print_error_function) (file);
+
   if (input_file_stack && input_file_stack->next != 0
       && input_file_stack_tick != last_error_tick)
     {