From c94ed7a1ae35d90b76e04cc7d8a9d72a7aa1451c Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 27 Sep 2007 09:24:58 +0200 Subject: builtins.c (expand_builtin, [...]): Use new %K format string specifier for diagnostics. * builtins.c (expand_builtin, expand_builtin_object_size, expand_builtin_memory_chk, maybe_emit_chk_warning, maybe_emit_sprintf_chk_warning): Use new %K format string specifier for diagnostics. * expr.c (expand_expr_real_1): Likewise. * langhooks-def.h (struct diagnostic_info): Add forward decl. (lhd_print_error_function): Add third argument. * langhooks.h (struct diagnostic_info): Add forward decl. (struct lang_hooks): Add third argument to print_error_function. * diagnostic.h (diagnostic_info): Add abstract_origin field. (diagnostic_last_function_changed, diagnostic_set_last_function): Add second argument. (diagnostic_report_current_function): Likewise. * toplev.c (announce_function): Pass NULL as second argument to diagnostic_set_last_function. * diagnostic.c (diagnostic_report_current_function): Add second argument, pass it as third argument to lang_hooks.print_error_function. (default_diagnostic_starter): Pass DIAGNOSTIC as second argument to diagnostic_report_current_function. (diagnostic_report_diagnostic): Initialize diagnostic->abstract_origin and message.abstract_origin. (verbatim): Initialize abstract_origin. * pretty-print.h (text_info): Add abstract_origin field. * pretty-print.c (pp_base_format): Handle %K. * langhooks.c (lhd_print_error_function): Add third argument. If diagnostic->abstract_origin, print virtual backtrace. * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table): Support %K. (init_dynamic_diag_info): Likewise. cp/ * error.c (cxx_print_error_function): Add third argument, pass it over to lhd_print_error_function. (cp_print_error_function): If diagnostic->abstract_origin, print virtual backtrace. * cp-tree.h (struct diagnostic_info): New forward decl. (cxx_print_error_function): Add third argument. java/ * lang.c (java_print_error_function): Add third argument. testsuite/ * lib/prune.exp: Prune also "^In function .*$" lines and "^ inlined from .*$" lines. From-SVN: r128830 --- gcc/langhooks.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gcc/langhooks.h') diff --git a/gcc/langhooks.h b/gcc/langhooks.h index 7efe742..8a44275 100644 --- a/gcc/langhooks.h +++ b/gcc/langhooks.h @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see /* This file should be #include-d after tree.h. */ struct diagnostic_context; +struct diagnostic_info; struct gimplify_omp_ctx; @@ -367,7 +368,8 @@ struct lang_hooks tree (*lang_get_callee_fndecl) (const_tree); /* Called by report_error_function to print out function name. */ - void (*print_error_function) (struct diagnostic_context *, const char *); + void (*print_error_function) (struct diagnostic_context *, const char *, + struct diagnostic_info *); /* Called from expr_size to calculate the size of the value of an expression in a language-dependent way. Returns a tree for the size -- cgit v1.1