aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/Makefile.in2
-rw-r--r--gcc/diagnostic.c34
-rw-r--r--gcc/langhooks.c35
4 files changed, 41 insertions, 35 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7669b77..492f6d7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
+ * Makefile.in (langhooks.o): Depend on diagnostic.h
+
2003-09-06 James E Wilson <wilson@tuliptree.org>
* loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 679a7d4..732e8f8 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1462,7 +1462,7 @@ convert.o: convert.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) flags
langhooks.o : langhooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) toplev.h \
tree-inline.h $(RTL_H) insn-config.h $(INTEGRATE_H) langhooks.h \
- $(LANGHOOKS_DEF_H) flags.h $(GGC_H) gt-langhooks.h
+ $(LANGHOOKS_DEF_H) flags.h $(GGC_H) gt-langhooks.h diagnostic.h
tree.o : tree.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) flags.h function.h \
toplev.h $(GGC_H) $(HASHTAB_H) $(TARGET_H) output.h $(TM_P_H) langhooks.h \
real.h gt-tree.h
diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c
index 8d01a2b..8c8a86c 100644
--- a/gcc/diagnostic.c
+++ b/gcc/diagnostic.c
@@ -279,40 +279,6 @@ diagnostic_action_after_output (diagnostic_context *context,
}
}
-/* The default function to print out name of current function that caused
- an error. */
-void
-lhd_print_error_function (diagnostic_context *context, const char *file)
-{
- if (diagnostic_last_function_changed (context))
- {
- const char *old_prefix = context->printer->prefix;
- char *new_prefix = file ? build_message_string ("%s: ", file) : NULL;
-
- pp_set_prefix (context->printer, new_prefix);
-
- if (current_function_decl == NULL)
- pp_string (context->printer, _("At top level:"));
- else
- {
- if (TREE_CODE (TREE_TYPE (current_function_decl)) == METHOD_TYPE)
- pp_printf
- (context->printer, "In member function `%s':",
- (*lang_hooks.decl_printable_name) (current_function_decl, 2));
- else
- pp_printf
- (context->printer, "In function `%s':",
- (*lang_hooks.decl_printable_name) (current_function_decl, 2));
- }
- pp_newline (context->printer);
-
- diagnostic_set_last_function (context);
- pp_flush (context->printer);
- context->printer->prefix = old_prefix;
- free ((char*) new_prefix);
- }
-}
-
/* Prints out, if necessary, the name of the current function
that caused an error. Called from all error and warning functions.
We ignore the FILE parameter, as it cannot be relied upon. */
diff --git a/gcc/langhooks.c b/gcc/langhooks.c
index 665a06a..622e062 100644
--- a/gcc/langhooks.c
+++ b/gcc/langhooks.c
@@ -33,6 +33,7 @@ Boston, MA 02111-1307, USA. */
#include "langhooks.h"
#include "langhooks-def.h"
#include "ggc.h"
+#include "diagnostic.h"
/* Do nothing; in many cases the default hook. */
@@ -493,4 +494,38 @@ lhd_initialize_diagnostics (struct diagnostic_context *ctx ATTRIBUTE_UNUSED)
{
}
+/* The default function to print out name of current function that caused
+ an error. */
+void
+lhd_print_error_function (diagnostic_context *context, const char *file)
+{
+ if (diagnostic_last_function_changed (context))
+ {
+ const char *old_prefix = context->printer->prefix;
+ char *new_prefix = file ? file_name_as_prefix (file) : NULL;
+
+ pp_set_prefix (context->printer, new_prefix);
+
+ if (current_function_decl == NULL)
+ pp_printf (context->printer, "At top level:");
+ else
+ {
+ if (TREE_CODE (TREE_TYPE (current_function_decl)) == METHOD_TYPE)
+ pp_printf
+ (context->printer, "In member function `%s':",
+ (*lang_hooks.decl_printable_name) (current_function_decl, 2));
+ else
+ pp_printf
+ (context->printer, "In function `%s':",
+ (*lang_hooks.decl_printable_name) (current_function_decl, 2));
+ }
+ pp_newline (context->printer);
+
+ diagnostic_set_last_function (context);
+ pp_flush (context->printer);
+ context->printer->prefix = old_prefix;
+ free ((char*) new_prefix);
+ }
+}
+
#include "gt-langhooks.h"