From: gdr Date: Sun, 14 Apr 2002 23:35:36 +0000 (+0000) Subject: * diagnostic.h (output_buffer_state): Redefine. X-Git-Tag: upstream/4.9.2~87307 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=06c7407ce2d0227b214b52799b5bd729448228b7;p=platform%2Fupstream%2Flinaro-gcc.git * diagnostic.h (output_buffer_state): Redefine. (output_format_decoder): New macro. (output_prefixing_rule): Likewise. (output_line_cutoff): Likewise. (diagnostic_format_decoder): Adjust. (diagnostic_prefixing_rule): Likewise. (diagnostic_line_cutoff): Likewise. (diagnostic_state): Likewise. (diagnostic_kind_count): Likewise. (diagnostic_buffer): Now a macro. * diagnostic.c (diagnostic_buffer): Remove definition. (output_is_line_wrapping): Adjust. (set_real_maximum_length): Likewise. (output_set_maximum_length): Likewise. (init_output_buffer): Likewise. (lhd_print_error_function): Likewise. (output_do_verbatim): Likewise. cp/ * error.c (cxx_print_error_function): Adjust call to macros. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52307 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8461ac9..8ff923c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,24 @@ +2002-04-15 Gabriel Dos Reis + + * diagnostic.h (output_buffer_state): Redefine. + (output_format_decoder): New macro. + (output_prefixing_rule): Likewise. + (output_line_cutoff): Likewise. + (diagnostic_format_decoder): Adjust. + (diagnostic_prefixing_rule): Likewise. + (diagnostic_line_cutoff): Likewise. + (diagnostic_state): Likewise. + (diagnostic_kind_count): Likewise. + (diagnostic_buffer): Now a macro. + + * diagnostic.c (diagnostic_buffer): Remove definition. + (output_is_line_wrapping): Adjust. + (set_real_maximum_length): Likewise. + (output_set_maximum_length): Likewise. + (init_output_buffer): Likewise. + (lhd_print_error_function): Likewise. + (output_do_verbatim): Likewise. + 2002-04-14 Neil Booth * cpperror.c (print_location): Don't print include chain diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 2f37e25..2863b77 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2002-04-15 Gabriel Dos Reis + + * error.c (cxx_print_error_function): Adjust call to macros. + 2002-04-14 Jakub Jelinek * class.c (layout_virtual_bases): Do all dsize computation on trees. diff --git a/gcc/cp/error.c b/gcc/cp/error.c index 579f584..63b09be 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -2382,10 +2382,10 @@ cxx_print_error_function (context, file) output_state os; lhd_print_error_function (context, file); - os = output_buffer_state (context); + os = diagnostic_state (context); output_set_prefix ((output_buffer *)context, file); maybe_print_instantiation_context ((output_buffer *)context); - output_buffer_state (context) = os; + diagnostic_state (context) = os; } static void diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c index 247ee1d..3e45e36 100644 --- a/gcc/diagnostic.c +++ b/gcc/diagnostic.c @@ -103,9 +103,6 @@ extern int warnings_are_errors; static diagnostic_context global_diagnostic_context; diagnostic_context *global_dc = &global_diagnostic_context; -/* This will be removed shortly. */ -output_buffer *diagnostic_buffer = &global_diagnostic_context.buffer; - /* Function of last error message; more generally, function such that if next error message is in it then we don't have to mention the function name. */ @@ -177,7 +174,7 @@ int output_is_line_wrapping (buffer) output_buffer *buffer; { - return diagnostic_line_cutoff (buffer) > 0; + return output_line_cutoff (buffer) > 0; } /* Return BUFFER's prefix. */ @@ -200,19 +197,19 @@ set_real_maximum_length (buffer) we'll emit prefix only once per diagnostic message, it is appropriate not to increase unnecessarily the line-length cut-off. */ if (! output_is_line_wrapping (buffer) - || diagnostic_prefixing_rule (buffer) == DIAGNOSTICS_SHOW_PREFIX_ONCE - || diagnostic_prefixing_rule (buffer) == DIAGNOSTICS_SHOW_PREFIX_NEVER) - line_wrap_cutoff (buffer) = diagnostic_line_cutoff (buffer); + || output_prefixing_rule (buffer) == DIAGNOSTICS_SHOW_PREFIX_ONCE + || output_prefixing_rule (buffer) == DIAGNOSTICS_SHOW_PREFIX_NEVER) + line_wrap_cutoff (buffer) = output_line_cutoff (buffer); else { int prefix_length = output_prefix (buffer) ? strlen (output_prefix (buffer)) : 0; /* If the prefix is ridiculously too long, output at least 32 characters. */ - if (diagnostic_line_cutoff (buffer) - prefix_length < 32) - line_wrap_cutoff (buffer) = diagnostic_line_cutoff (buffer) + 32; + if (output_line_cutoff (buffer) - prefix_length < 32) + line_wrap_cutoff (buffer) = output_line_cutoff (buffer) + 32; else - line_wrap_cutoff (buffer) = diagnostic_line_cutoff (buffer); + line_wrap_cutoff (buffer) = output_line_cutoff (buffer); } } @@ -224,7 +221,7 @@ output_set_maximum_length (buffer, length) output_buffer *buffer; int length; { - diagnostic_line_cutoff (buffer) = length; + output_line_cutoff (buffer) = length; set_real_maximum_length (buffer); } @@ -301,8 +298,8 @@ init_output_buffer (buffer, prefix, maximum_length) memset (buffer, 0, sizeof (output_buffer)); obstack_init (&buffer->obstack); output_buffer_attached_stream (buffer) = stderr; - diagnostic_line_cutoff (buffer) = maximum_length; - diagnostic_prefixing_rule (buffer) = diagnostic_prefixing_rule (global_dc); + output_line_cutoff (buffer) = maximum_length; + output_prefixing_rule (buffer) = diagnostic_prefixing_rule (global_dc); output_set_prefix (buffer, prefix); output_text_length (buffer) = 0; clear_diagnostic_info (buffer); @@ -354,7 +351,7 @@ output_emit_prefix (buffer) { if (output_prefix (buffer) != NULL) { - switch (diagnostic_prefixing_rule (buffer)) + switch (output_prefixing_rule (buffer)) { default: case DIAGNOSTICS_SHOW_PREFIX_NEVER: @@ -1091,7 +1088,7 @@ lhd_print_error_function (context, file) char *prefix = file ? build_message_string ("%s: ", file) : NULL; output_state os; - os = output_buffer_state (context); + os = diagnostic_state (context); output_set_prefix ((output_buffer *) context, prefix); if (current_function_decl == NULL) @@ -1111,7 +1108,7 @@ lhd_print_error_function (context, file) record_last_error_function (); output_buffer_to_stream ((output_buffer *) context); - output_buffer_state (context) = os; + diagnostic_state (context) = os; free ((char*) prefix); } } @@ -1307,7 +1304,7 @@ output_do_verbatim (buffer, msgid, args_ptr) os = output_buffer_state (buffer); output_prefix (buffer) = NULL; - diagnostic_prefixing_rule (buffer) = DIAGNOSTICS_SHOW_PREFIX_NEVER; + output_prefixing_rule (buffer) = DIAGNOSTICS_SHOW_PREFIX_NEVER; output_buffer_text_cursor (buffer) = _(msgid); output_buffer_ptr_to_format_args (buffer) = args_ptr; output_set_maximum_length (buffer, 0); diff --git a/gcc/diagnostic.h b/gcc/diagnostic.h index 360b64b..925134a 100644 --- a/gcc/diagnostic.h +++ b/gcc/diagnostic.h @@ -130,9 +130,8 @@ struct output_buffer printer_fn format_decoder; }; -/* Current state of the diagnostic_context' output_buffer. This macro - accepts both `diagnostic_context *' and `output_buffer *'. */ -#define output_buffer_state(BUFFER) ((output_buffer *)(BUFFER))->state +/* Current state of an output_buffer. */ +#define output_buffer_state(BUFFER) (BUFFER)->state /* The stream attached to the output_buffer, where the formatted diagnostics will ultimately go. Works only on `output_buffer *'. */ @@ -157,6 +156,16 @@ struct output_buffer #define output_message_text(BUFFER) \ ((const char *) obstack_base (&(BUFFER)->obstack)) +/* Client supplied function used to decode formats. */ +#define output_format_decoder(BUFFER) (BUFFER)->format_decoder + +/* Prefixing rule used in formatting a diagnostic message. */ +#define output_prefixing_rule(BUFFER) (BUFFER)->state.prefixing_rule + +/* Maximum characters per line in automatic line wrapping mode. + Zero means don't wrap lines. */ +#define output_line_cutoff(BUFFER) (BUFFER)->state.ideal_maximum_length + /* This data structure bundles altogether any information relevant to the context of a diagnostic message. */ struct diagnostic_context @@ -224,31 +233,29 @@ struct diagnostic_context /* Extension hook for client. */ #define diagnostic_auxiliary_data(DC) (DC)->x_data -/* Client supplied function used to decode formats. Can operate on both - `output_buffer *' and `diagnostic_context *'. */ -#define diagnostic_format_decoder(DC) ((output_buffer *)(DC))->format_decoder +/* Same as output_format_decoder. Works on 'diagnostic_context *'. */ +#define diagnostic_format_decoder(DC) output_format_decoder (&(DC)->buffer) -/* Prefixing rule used in formatting a diagnostic message. Accepts both - `output_buffer *' and `diagnostic_context *'. */ -#define diagnostic_prefixing_rule(DC) \ - ((output_buffer *)(DC))->state.prefixing_rule +/* Same as output_prefixing_rule. Works on 'diagnostic_context *'. */ +#define diagnostic_prefixing_rule(DC) output_prefixing_rule (&(DC)->buffer) /* Maximum characters per line in automatic line wrapping mode. Zero means don't wrap lines. */ -#define diagnostic_line_cutoff(DC) \ - ((output_buffer *)(DC))->state.ideal_maximum_length +#define diagnostic_line_cutoff(DC) output_line_cutoff (&(DC)->buffer) + +/* Same as output_buffer_state, but works on 'diagnostic_context *'. */ +#define diagnostic_state(DC) output_buffer_state (&(DC)->buffer) + +#define diagnostic_buffer (&global_dc->buffer) /* This diagnostic context is used by front-ends that directly output diagnostic messages without going through `error', `warning', and similar functions. */ extern diagnostic_context *global_dc; -/* This will be removed shortly. */ -extern output_buffer *diagnostic_buffer; - /* The total count of a KIND of diagnostics meitted so far. */ #define diagnostic_kind_count(DC, DK) \ - ((output_buffer *)(DC))->state.diagnostic_count[(int) (DK)] + (DC)->buffer.state.diagnostic_count[(int) (DK)] /* The number of errors that have been issued so far. Ideally, these would take an output_buffer as an argument. */