Commit e6513023 by Gabriel Dos Reis Committed by Gabriel Dos Reis

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
parent 112c7aea
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> 2000-09-06 DJ Delorie <dj@redhat.com>
* Makefile.in (stage_*): add more dependencies to ensure parallel * Makefile.in (stage_*): add more dependencies to ensure parallel
......
...@@ -67,6 +67,7 @@ static void output_do_verbatim PARAMS ((output_buffer *, ...@@ -67,6 +67,7 @@ static void output_do_verbatim PARAMS ((output_buffer *,
const char *, va_list *)); const char *, va_list *));
static void output_to_stream PARAMS ((output_buffer *, FILE *)); static void output_to_stream PARAMS ((output_buffer *, FILE *));
static void output_format PARAMS ((output_buffer *)); 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 *vbuild_message_string PARAMS ((const char *, va_list));
static char *build_message_string PARAMS ((const char *, ...)) static char *build_message_string PARAMS ((const char *, ...))
...@@ -267,6 +268,7 @@ output_set_prefix (buffer, prefix) ...@@ -267,6 +268,7 @@ output_set_prefix (buffer, prefix)
output_prefix (buffer) = prefix; output_prefix (buffer) = prefix;
set_real_maximum_length (buffer); set_real_maximum_length (buffer);
prefix_was_emitted_for (buffer) = 0; prefix_was_emitted_for (buffer) = 0;
output_indentation (buffer) = 0;
} }
/* Free BUFFER's prefix, a previously malloc'd string. */ /* Free BUFFER's prefix, a previously malloc'd string. */
...@@ -301,6 +303,7 @@ clear_diagnostic_info (buffer) ...@@ -301,6 +303,7 @@ clear_diagnostic_info (buffer)
output_buffer_text_cursor (buffer) = NULL; output_buffer_text_cursor (buffer) = NULL;
output_buffer_ptr_to_format_args (buffer) = NULL; output_buffer_ptr_to_format_args (buffer) = NULL;
prefix_was_emitted_for (buffer) = 0; prefix_was_emitted_for (buffer) = 0;
output_indentation (buffer) = 0;
} }
/* Construct an output BUFFER with PREFIX and of MAXIMUM_LENGTH /* Construct an output BUFFER with PREFIX and of MAXIMUM_LENGTH
...@@ -395,8 +398,12 @@ output_emit_prefix (buffer) ...@@ -395,8 +398,12 @@ output_emit_prefix (buffer)
case DIAGNOSTICS_SHOW_PREFIX_ONCE: case DIAGNOSTICS_SHOW_PREFIX_ONCE:
if (prefix_was_emitted_for (buffer)) 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: case DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE:
{ {
...@@ -549,6 +556,17 @@ output_append (buffer, start, end) ...@@ -549,6 +556,17 @@ output_append (buffer, start, end)
output_append_r (buffer, start, end - start); 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. */ /* Wrap a text delimited by START and END into BUFFER. */
static void static void
......
...@@ -51,6 +51,10 @@ typedef struct ...@@ -51,6 +51,10 @@ typedef struct
/* The ideal upper bound of number of characters per line, as suggested /* The ideal upper bound of number of characters per line, as suggested
by front-end. */ by front-end. */
int ideal_maximum_length; int ideal_maximum_length;
/* Indentation count. */
int indent_skip;
/* Nonzero if current PREFIX was emitted at least once. */ /* Nonzero if current PREFIX was emitted at least once. */
int emitted_prefix_p; int emitted_prefix_p;
...@@ -88,6 +92,7 @@ struct output_buffer ...@@ -88,6 +92,7 @@ struct output_buffer
#define output_buffer_format_args(BUFFER) *((BUFFER)->state.format_args) #define output_buffer_format_args(BUFFER) *((BUFFER)->state.format_args)
#define output_needs_newline(BUFFER) (BUFFER)->state.need_newline_p #define output_needs_newline(BUFFER) (BUFFER)->state.need_newline_p
#define output_buffer_state(BUFFER) (BUFFER)->state #define output_buffer_state(BUFFER) (BUFFER)->state
#define output_indentation(BUFFER) (BUFFER)->state.indent_skip
/* This data structure bundles altogether any information relevent to /* This data structure bundles altogether any information relevent to
the context of a diagnostic message. */ the context of a diagnostic message. */
......
...@@ -3774,7 +3774,7 @@ display_help () ...@@ -3774,7 +3774,7 @@ display_help ()
printf (_(" -fcall-saved-<register> Mark <register> as being preserved across functions\n")); 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 (_(" -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 (_(" -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--;) for (i = ARRAY_SIZE (f_options); i--;)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment