toplev.c (display_help): Fix thinko in documentation.

* toplev.c (display_help): Fix thinko in documentation.

	* diagnostic.h (output_buffer::indent_skip): New fields.
	(output_indentation): New macro.

	* diagnostic.c (output_indent): New function.
	(output_set_prefix, clear_diagnostic_info): Use.
	(output_emit_prefix): Predict future indentation.

From-SVN: r36205
This commit is contained in:
Gabriel Dos Reis 2000-09-06 18:43:35 +00:00 committed by Gabriel Dos Reis
parent 112c7aeab1
commit e651302389
4 changed files with 37 additions and 3 deletions

View File

@ -1,3 +1,14 @@
2000-09-06 Gabriel Dos Reis <gdr@codesourcery.com>
* toplev.c (display_help): Fix thinko in documentation.
* diagnostic.h (output_buffer::indent_skip): New fields.
(output_indentation): New macro.
* diagnostic.c (output_indent): New function.
(output_set_prefix, clear_diagnostic_info): Use.
(output_emit_prefix): Predict future indentation.
2000-09-06 DJ Delorie <dj@redhat.com>
* Makefile.in (stage_*): add more dependencies to ensure parallel

View File

@ -67,6 +67,7 @@ static void output_do_verbatim PARAMS ((output_buffer *,
const char *, va_list *));
static void output_to_stream PARAMS ((output_buffer *, FILE *));
static void output_format PARAMS ((output_buffer *));
static void output_indent PARAMS ((output_buffer *));
static char *vbuild_message_string PARAMS ((const char *, va_list));
static char *build_message_string PARAMS ((const char *, ...))
@ -267,6 +268,7 @@ output_set_prefix (buffer, prefix)
output_prefix (buffer) = prefix;
set_real_maximum_length (buffer);
prefix_was_emitted_for (buffer) = 0;
output_indentation (buffer) = 0;
}
/* Free BUFFER's prefix, a previously malloc'd string. */
@ -301,6 +303,7 @@ clear_diagnostic_info (buffer)
output_buffer_text_cursor (buffer) = NULL;
output_buffer_ptr_to_format_args (buffer) = NULL;
prefix_was_emitted_for (buffer) = 0;
output_indentation (buffer) = 0;
}
/* Construct an output BUFFER with PREFIX and of MAXIMUM_LENGTH
@ -395,8 +398,12 @@ output_emit_prefix (buffer)
case DIAGNOSTICS_SHOW_PREFIX_ONCE:
if (prefix_was_emitted_for (buffer))
break;
/* Else fall through. */
{
output_indent (buffer);
break;
}
output_indentation (buffer) += 3;
/* Fall through. */
case DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE:
{
@ -549,6 +556,17 @@ output_append (buffer, start, end)
output_append_r (buffer, start, end - start);
}
static void
output_indent (buffer)
output_buffer *buffer;
{
int n = output_indentation (buffer);
int i;
for (i = 0; i < n; ++i)
output_add_character (buffer, ' ');
}
/* Wrap a text delimited by START and END into BUFFER. */
static void

View File

@ -51,6 +51,10 @@ typedef struct
/* The ideal upper bound of number of characters per line, as suggested
by front-end. */
int ideal_maximum_length;
/* Indentation count. */
int indent_skip;
/* Nonzero if current PREFIX was emitted at least once. */
int emitted_prefix_p;
@ -88,6 +92,7 @@ struct output_buffer
#define output_buffer_format_args(BUFFER) *((BUFFER)->state.format_args)
#define output_needs_newline(BUFFER) (BUFFER)->state.need_newline_p
#define output_buffer_state(BUFFER) (BUFFER)->state
#define output_indentation(BUFFER) (BUFFER)->state.indent_skip
/* This data structure bundles altogether any information relevent to
the context of a diagnostic message. */

View File

@ -3774,7 +3774,7 @@ display_help ()
printf (_(" -fcall-saved-<register> Mark <register> as being preserved across functions\n"));
printf (_(" -finline-limit=<number> Limits the size of inlined functions to <number>\n"));
printf (_(" -fmessage-length=<number> Limits diagnostics messages lengths to <number> characters per line. 0 suppresses line-wrapping\n"));
printf (_(" -fdiagnostics-show-location=[once | never] Indicates how often source location information should be emitted, as prefix, at the beginning of diagnostics when line-wrapping\n"));
printf (_(" -fdiagnostics-show-location=[once | every-line] Indicates how often source location information should be emitted, as prefix, at the beginning of diagnostics when line-wrapping\n"));
for (i = ARRAY_SIZE (f_options); i--;)
{