From 39ce81c9c560d14c746714e6ec1621cad38bae93 Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Thu, 30 Jun 2005 23:09:06 +0000 Subject: pretty-print.h (PP_NL_ARGMAX): New. gcc: * pretty-print.h (PP_NL_ARGMAX): New. (text_info): Add locus. (struct chunk_info): New. (output_buffer): Add formatted_obstack, chunk_obstack, and cur_chunk_array. Change obstack to a pointer. (pp_wrapping_mode_t, pp_wrapping_mode, pp_set_verbatim_wrapping): New. (struct pretty_print_info): Replace ideal_maximum_length and prefixing_rule with wrapping. (pp_line_cutoff, pp_prefixing_rule): Update to match. Update prototypes and wrapper macros throughout. * pretty-print.c (pp_formatted_text_data, pp_append_r) (pp_base_clear_output_area, pp_construct, pp_base_formatted_text) (pp_base_last_position_in_text, pp_base_newline, pp_base_character): Update for changes to pp structure. (pp_base_prepare_to_format, pp_base_format_text): Delete. (pp_base_format, pp_base_output_formatted_text): New functions. (pp_base_format_verbatim): Use pp_set_verbatim_wrapping. (pp_verbatim): Clear text.locus. (pp_printf): Likewise. Use pp_format and pp_output_formatted_text. * c-objc-common.c (c_tree_printer): Update function signature. * diagnostic.c (diagnostic_initialize): Update for changes to pp structure. (diagnostic_report_diagnostic): Call pp_format and then pp_output_formatted_text. (verbatim): Clear text.locus. * diagnostic.h (diagnostic_prefixing_rule, diagnostic_line_cutoff): Update for changes to pp structure. * c-lang.c: No need to include c-pretty-print.h. * Makefile.in: Remove bogus line containing only a tab. (c-lang.o): Update dependencies. * toplev.c (announce_function): Don't use verbatim. (default_tree_printer): Update signature. * objc/objc-lang.c: No need to include c-pretty-print.h. * objc/Make-lang.in: Update dependencies. gcc/cp: * cp-lang.c: No need to include cxx-pretty-print.h. * error.c (cp_printer): Update signature. No need to process flags. (print_instantiation_partial_context): Output last newline with pp_base_newline. * Make-lang.in: Update dependencies. gcc/objcp: * objcp-lang.c: No need to include cxx-pretty-print.h. * Make-lang.in: Update dependencies. Co-Authored-By: Jakub Jelinek From-SVN: r101481 --- gcc/toplev.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'gcc/toplev.c') diff --git a/gcc/toplev.c b/gcc/toplev.c index 17f75fe..0cfbcd2 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -442,9 +442,9 @@ announce_function (tree decl) if (!quiet_flag) { if (rtl_dump_and_exit) - verbatim ("%s ", IDENTIFIER_POINTER (DECL_NAME (decl))); + fprintf (stderr, "%s ", IDENTIFIER_POINTER (DECL_NAME (decl))); else - verbatim (" %s", lang_hooks.decl_printable_name (decl, 2)); + fprintf (stderr, " %s", lang_hooks.decl_printable_name (decl, 2)); fflush (stderr); pp_needs_newline (global_dc->printer) = true; diagnostic_set_last_function (global_dc); @@ -1355,11 +1355,16 @@ default_pch_valid_p (const void *data_p, size_t len) /* Default tree printer. Handles declarations only. */ static bool -default_tree_printer (pretty_printer * pp, text_info *text) +default_tree_printer (pretty_printer * pp, text_info *text, const char *spec, + int precision, bool wide, bool plus, bool hash) { tree t; - switch (*text->format_spec) + /* FUTURE: %+x should set the locus. */ + if (precision != 0 || wide || plus || hash) + return false; + + switch (*spec) { case 'D': t = va_arg (*text->args_ptr, tree); -- cgit v1.1