Commit dba65e79 by Gabriel Dos Reis Committed by Gabriel Dos Reis

langhooks.c (lhd_print_error_function): Move from diagnostic.c.

	* langhooks.c (lhd_print_error_function): Move from diagnostic.c.
	* Makefile.in (langhooks.o): Depend on diagnostic.h

From-SVN: r71165
parent 687f4bc1
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
......
......@@ -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
......
......@@ -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. */
......
......@@ -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"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment