aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorLewis Hyatt <lhyatt@gmail.com>2020-08-13 13:05:46 -0400
committerLewis Hyatt <lhyatt@gmail.com>2020-08-14 09:29:19 -0400
commit129a1319c0ab73f4bfc5598dffedb06378b00fc0 (patch)
tree968c9d5710c2a4431c5c98d8e15ca9474b7ca9be /gcc/doc
parent22dc89f8073cd0126efa72aa3ab88e80c78d45e3 (diff)
downloadgcc-129a1319c0ab73f4bfc5598dffedb06378b00fc0.zip
gcc-129a1319c0ab73f4bfc5598dffedb06378b00fc0.tar.gz
gcc-129a1319c0ab73f4bfc5598dffedb06378b00fc0.tar.bz2
diagnostics: Add new option -fdiagnostics-plain-output
Adds the new option -fdiagnostics-plain-output, which is an alias for several others: -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers -fdiagnostics-color=never -fdiagnostics-urls=never The idea is that in the future, if the default behavior of diagnostics is changed to add some fancy feature or other, then the -fdiagnostics-plain-output option will also be changed accordingly so that the old behavior is preserved in the presence of this option. This allows us to use -fdiagnostics-plain-output in in the testsuite, such that the testsuite (specifically the setting of TEST_ALWAYS_FLAGS in prune.exp) does not need to be touched whenever diagnostics get a new look. This also removes the need to add workarounds to compat.exp for every new option that may be needed in a newer version of the compiler, but is not supported in older versions. gcc/ChangeLog: * common.opt: Add new option -fdiagnostics-plain-output. * doc/invoke.texi: Document it. * opts-common.c (decode_cmdline_options_to_array): Implement it. (decode_cmdline_option): Add missing const qualifier to argv. libstdc++-v3/ChangeLog: * testsuite/lib/libstdc++.exp: Use the new option -fdiagnostics-plain-output. gcc/testsuite/ChangeLog: * lib/prune.exp: Change TEST_ALWAYS_FLAGS to use -fdiagnostics-plain-output. * lib/c-compat.exp: Adapt to the prune.exp change.
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/invoke.texi14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index dea1e18..70dc1ab 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -280,6 +280,7 @@ Objective-C and Objective-C++ Dialects}.
@item Diagnostic Message Formatting Options
@xref{Diagnostic Message Formatting Options,,Options to Control Diagnostic Messages Formatting}.
@gccoptlist{-fmessage-length=@var{n} @gol
+-fdiagnostics-plain-output @gol
-fdiagnostics-show-location=@r{[}once@r{|}every-line@r{]} @gol
-fdiagnostics-color=@r{[}auto@r{|}never@r{|}always@r{]} @gol
-fdiagnostics-urls=@r{[}auto@r{|}never@r{|}always@r{]} @gol
@@ -4291,6 +4292,19 @@ Note - this option also affects the display of the @samp{#error} and
function/type/variable attribute. It does not however affect the
@samp{pragma GCC warning} and @samp{pragma GCC error} pragmas.
+@item -fdiagnostics-plain-output
+This option requests that diagnostic output look as plain as possible, which
+may be useful when running @command{dejagnu} or other utilities that need to
+parse diagnostics output and prefer that it remain more stable over time.
+@option{-fdiagnostics-plain-output} is currently equivalent to the following
+options:
+@gccoptlist{-fno-diagnostics-show-caret @gol
+-fno-diagnostics-show-line-numbers @gol
+-fdiagnostics-color=never @gol
+-fdiagnostics-urls=never}
+In the future, if GCC changes the default appearance of its diagnostics, the
+corresponding option to disable the new behavior will be added to this list.
+
@item -fdiagnostics-show-location=once
@opindex fdiagnostics-show-location
Only meaningful in line-wrapping mode. Instructs the diagnostic messages