diff options
author | gdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-09-25 21:20:19 +0000 |
---|---|---|
committer | gdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-09-25 21:20:19 +0000 |
commit | 8f8953434c28ca55b6974eee9c8a94a913411787 (patch) | |
tree | f128e42344fe386dab97b5430694219834c7bcd5 /gcc/diagnostic.c | |
parent | 93033aae615ca060d7cbf72acd049b7052c98974 (diff) | |
download | gcc-8f8953434c28ca55b6974eee9c8a94a913411787.tar.gz |
* diagnostic.c (output_last_position): Define.
(set_real_maximum_length): Tweek.
* diagnostic.h (output_last_position): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36629 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/diagnostic.c')
-rw-r--r-- | gcc/diagnostic.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c index afb25c1ef3b..56ed9574bb9 100644 --- a/gcc/diagnostic.c +++ b/gcc/diagnostic.c @@ -230,8 +230,12 @@ static void set_real_maximum_length (buffer) output_buffer *buffer; { - /* If we're told not to wrap lines then do the obvious thing. */ - if (! output_is_line_wrapping (buffer)) + /* If we're told not to wrap lines then do the obvious thing. In case + we'll emit prefix only once per diagnostic message, it is appropriate + not to increase unncessarily the line-length cut-off. */ + if (! output_is_line_wrapping (buffer) + || prefixing_policy (buffer) == DIAGNOSTICS_SHOW_PREFIX_ONCE + || prefixing_policy (buffer) == DIAGNOSTICS_SHOW_PREFIX_NEVER) line_wrap_cutoff (buffer) = ideal_line_wrap_cutoff (buffer); else { @@ -271,6 +275,19 @@ output_set_prefix (buffer, prefix) output_indentation (buffer) = 0; } +/* Return a pointer to the last character emitted in the output + BUFFER area. A NULL pointer means no character available. */ +const char * +output_last_position (buffer) + const output_buffer *buffer; +{ + const char *p = NULL; + + if (obstack_base (&buffer->obstack) != obstack_next_free (&buffer->obstack)) + p = ((const char *) obstack_next_free (&buffer->obstack)) - 1; + return p; +} + /* Free BUFFER's prefix, a previously malloc'd string. */ void |