From 22a4158c6afcab145ec63f3bd81907a19754b04f Mon Sep 17 00:00:00 2001 From: Gabriel Dos Reis Date: Fri, 25 Aug 2000 12:31:00 +0000 Subject: [PATCH] * error.c (cp_tree_printer): Rework. From-SVN: r35981 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/error.c | 73 +++++++++++++++++++++++++++++++------------------------- 2 files changed, 44 insertions(+), 33 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index e68534c..7a7514c 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2000-08-25 Gabriel Dos Reis + + * error.c (cp_tree_printer): Rework. + 2000-08-25 Mark Mitchell * Make-lang.in (CXX_LIB2FUNCS): Remove cp-demangle.o and diff --git a/gcc/cp/error.c b/gcc/cp/error.c index 74d3cba..8a48360 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -2651,43 +2651,50 @@ cp_tree_printer (buffer) ++output_buffer_text_cursor (buffer); } - if (*output_buffer_text_cursor (buffer) == 'P') + switch (*output_buffer_text_cursor (buffer)) + { + case 'A': + tree_being_formatted (&tfi) = + va_arg (output_buffer_format_args (buffer), tree); + print_function_argument_list (buffer, &tfi); + break; + + case 'D': + tree_being_formatted (&tfi) = + va_arg (output_buffer_format_args (buffer), tree); + print_declaration (buffer, &tfi); + break; + + case 'E': + tree_being_formatted (&tfi) = + va_arg (output_buffer_format_args (buffer), tree); + print_expression (buffer, &tfi); + break; + + case 'F': + tree_being_formatted (&tfi) = + va_arg (output_buffer_format_args (buffer), tree); + print_function_declaration (buffer, &tfi); + break; + + case 'P': print_function_parameter (buffer, va_arg (output_buffer_format_args (buffer), int)); - else - { + + case 'T': tree_being_formatted (&tfi) = va_arg (output_buffer_format_args (buffer), tree); - - switch (*output_buffer_text_cursor (buffer)) - { - case 'A': - print_function_argument_list (buffer, &tfi); - break; - - case 'D': - print_declaration (buffer, &tfi); - break; - - case 'E': - print_expression (buffer, &tfi); - break; - - case 'F': - print_function_declaration (buffer, &tfi); - break; - - case 'T': - print_type (buffer, &tfi); - break; - - case 'V': - print_cv_qualifier (buffer, &tfi); - break; - - default: - return 0; - } + print_type (buffer, &tfi); + break; + + case 'V': + tree_being_formatted (&tfi) = + va_arg (output_buffer_format_args (buffer), tree); + print_cv_qualifier (buffer, &tfi); + break; + + default: + return 0; } return 1; -- 2.7.4