On Wed, 2020-01-08 at 23:35 -0500, David Malcolm wrote: > On Wed, 2020-01-08 at 21:17 -0700, Jeff Law wrote: > > On Wed, 2020-01-08 at 04:02 -0500, David Malcolm wrote: > > > I may be able to self-approve this. It's used by the > > > diagnostic_path > > > patch, and by the analyzer test suite. Perhaps better to make > > > undocumeted, or do it via a DejaGnu pruning directive, but I wanted > > > to get v5 of the kit posted. > > > > > > This patch implements -fdiagnostics-nn-line-numbers, a new option > > > which makes diagnostic_show_locus print "NN" rather than specific > > > line numbers when printing the left margin. > > > > > > This is intended purely to make it easier to write certain kinds of > > > DejaGnu test; various integration tests for diagnostic paths later > > > in the patch kit make use of it. > > > > > > gcc/ChangeLog: > > > * common.opt (fdiagnostics-nn-line-numbers): New option. > > > * diagnostic-show-locus.c > > > (layout::m_use_nn_for_line_numbers_p): > > > New field. > > > (layout::layout): Initialize it. > > > (layout::calculate_linenum_width): Use it when computing > > > m_linenum_width. > > > (layout::print_source_line): Implement printing "NN" rather > > > than > > > the line number. > > > (selftest::test_line_numbers_multiline_range): Add a test of > > > "NN" > > > printing. > > > * diagnostic.c (diagnostic_initialize): Initialize > > > use_nn_for_line_numbers_p. > > > (num_digits): Add "use_nn_p" param. > > > (selftest::test_num_digits): Add a test for use_nn_p==true. > > > * diagnostic.h (diagnostic_context::use_nn_for_line_numbers_p): > > > New field. > > > (num_digits): Add optional "use_nn_p" param. > > > * doc/invoke.texi (-fdiagnostics-nn-line-numbers): New option. > > > * dwarf2out.c (gen_producer_string): Ignore > > > OPT_fdiagnostics_nn_line_numbers. > > > * lto-wrapper.c (merge_and_complain): Handle > > > OPT_fdiagnostics_nn_line_numbers. > > > (append_compiler_options): Likewise. > > > (append_diag_options): Likewise. > > > * opts.c (common_handle_option): Likewise. > > > * toplev.c (general_init): Initialize > > > global_dc->use_nn_for_line_numbers_p. > > Reminds me a lot of the option to not print insn numbers and certain > > addresses in RTL dumps -- which makes comparing them easier. > > > > OK > > jeff > > Thanks. I've actually reworked my working copy to use a DejaGnu-based > postprocessing approach instead: > https://gcc.gnu.org/ml/gcc-patches/2020-01/msg00398.html > which avoids adding an option. > > Does this latter approach look OK? (and is the other patch OK?) After looking at it, I prefer the dejagnu approach. Not because I like expect/tcl implementations of *anything* but because it doesn't pollute the actual compiler with a feature that's really just to make life easier for the dejagnu testsuite.
jeff >