public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: David Malcolm <dmalcolm@redhat.com>
To: gcc-patches@gcc.gnu.org
Cc: David Malcolm <dmalcolm@redhat.com>
Subject: [PATCH 10/49] Add -fdiagnostics-nn-line-numbers
Date: Sat, 16 Nov 2019 01:21:00 -0000	[thread overview]
Message-ID: <1573867416-55618-11-git-send-email-dmalcolm@redhat.com> (raw)
In-Reply-To: <1573867416-55618-1-git-send-email-dmalcolm@redhat.com>

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 and 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.
---
 gcc/common.opt              |  4 ++++
 gcc/diagnostic-show-locus.c | 51 ++++++++++++++++++++++++++++++++-------------
 gcc/diagnostic.c            | 13 ++++++++++--
 gcc/diagnostic.h            |  6 +++++-
 gcc/doc/invoke.texi         |  7 +++++++
 gcc/dwarf2out.c             |  1 +
 gcc/lto-wrapper.c           |  3 +++
 gcc/opts.c                  |  4 ++++
 gcc/toplev.c                |  2 ++
 9 files changed, 73 insertions(+), 18 deletions(-)

diff --git a/gcc/common.opt b/gcc/common.opt
index 124e8cf..3c024b3 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -1257,6 +1257,10 @@ fdiagnostics-show-line-numbers
 Common Var(flag_diagnostics_show_line_numbers) Init(1)
 Show line numbers in the left margin when showing source.
 
+fdiagnostics-nn-line-numbers
+Common Var(flag_diagnostics_nn_line_numbers) Init(0)
+Replace line numbers with 'NN' when showing source.
+
 fdiagnostics-color
 Common Alias(fdiagnostics-color=,always,never)
 ;
diff --git a/gcc/diagnostic-show-locus.c b/gcc/diagnostic-show-locus.c
index 412b0d4..ec5fdc0 100644
--- a/gcc/diagnostic-show-locus.c
+++ b/gcc/diagnostic-show-locus.c
@@ -303,6 +303,7 @@ class layout
   bool m_colorize_source_p;
   bool m_show_labels_p;
   bool m_show_line_numbers_p;
+  bool m_use_nn_for_line_numbers_p;
   auto_vec <layout_range> m_layout_ranges;
   auto_vec <const fixit_hint *> m_fixit_hints;
   auto_vec <line_span> m_line_spans;
@@ -849,6 +850,7 @@ layout::layout (diagnostic_context * context,
   m_colorize_source_p (context->colorize_source_p),
   m_show_labels_p (context->show_labels_p),
   m_show_line_numbers_p (context->show_line_numbers_p),
+  m_use_nn_for_line_numbers_p (context->use_nn_for_line_numbers_p),
   m_layout_ranges (richloc->get_num_locations ()),
   m_fixit_hints (richloc->get_num_fixit_hints ()),
   m_line_spans (1 + richloc->get_num_locations ()),
@@ -884,7 +886,7 @@ layout::layout (diagnostic_context * context,
   int highest_line = last_span->m_last_line;
   if (highest_line < 0)
     highest_line = 0;
-  m_linenum_width = num_digits (highest_line);
+  m_linenum_width = num_digits (highest_line, m_use_nn_for_line_numbers_p);
   /* If we're showing jumps in the line-numbering, allow at least 3 chars.  */
   if (m_line_spans.length () > 1)
     m_linenum_width = MAX (m_linenum_width, 3);
@@ -1272,10 +1274,13 @@ layout::print_source_line (linenum_type row, const char *line, int line_width,
 
   if (m_show_line_numbers_p)
     {
-      int width = num_digits (row);
+      int width = num_digits (row, m_use_nn_for_line_numbers_p);
       for (int i = 0; i < m_linenum_width - width; i++)
 	pp_space (m_pp);
-      pp_printf (m_pp, "%i | ", row);
+      if (m_use_nn_for_line_numbers_p)
+	pp_printf (m_pp, "%s | ", "NN");
+      else
+	pp_printf (m_pp, "%i | ", row);
     }
   else
     pp_space (m_pp);
@@ -3778,18 +3783,34 @@ test_line_numbers_multiline_range ()
     = linemap_position_for_line_and_column (line_table, ord_map, 11, 4);
   location_t loc = make_location (caret, start, finish);
 
-  test_diagnostic_context dc;
-  dc.show_line_numbers_p = true;
-  dc.min_margin_width = 0;
-  gcc_rich_location richloc (loc);
-  diagnostic_show_locus (&dc, &richloc, DK_ERROR);
-  ASSERT_STREQ (" 9 | this is line 9\n"
-		"   |         ~~~~~~\n"
-		"10 | this is line 10\n"
-		"   | ~~~~~^~~~~~~~~~\n"
-		"11 | this is line 11\n"
-		"   | ~~~~  \n",
-		pp_formatted_text (dc.printer));
+  {
+    test_diagnostic_context dc;
+    dc.show_line_numbers_p = true;
+    dc.min_margin_width = 0;
+    gcc_rich_location richloc (loc);
+    diagnostic_show_locus (&dc, &richloc, DK_ERROR);
+    ASSERT_STREQ (" 9 | this is line 9\n"
+		  "   |         ~~~~~~\n"
+		  "10 | this is line 10\n"
+		  "   | ~~~~~^~~~~~~~~~\n"
+		  "11 | this is line 11\n"
+		  "   | ~~~~  \n",
+		  pp_formatted_text (dc.printer));
+  }
+
+  /* Verify that obscuring line numbers via "NN" works (and always uses
+     at least two columns).  */
+  {
+    test_diagnostic_context dc;
+    dc.show_line_numbers_p = true;
+    dc.use_nn_for_line_numbers_p = true;
+    dc.min_margin_width = 0;
+    gcc_rich_location richloc (start);
+    diagnostic_show_locus (&dc, &richloc, DK_ERROR);
+    ASSERT_STREQ ("NN | this is line 9\n"
+		  "   |         ^\n",
+		  pp_formatted_text (dc.printer));
+  }
 }
 
 /* Run all of the selftests within this file.  */
diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c
index d6604e6..81e0a10 100644
--- a/gcc/diagnostic.c
+++ b/gcc/diagnostic.c
@@ -209,6 +209,7 @@ diagnostic_initialize (diagnostic_context *context, int n_opts)
   context->colorize_source_p = false;
   context->show_labels_p = false;
   context->show_line_numbers_p = false;
+  context->use_nn_for_line_numbers_p = false;
   context->min_margin_width = 0;
   context->show_ruler_p = false;
   context->parseable_fixits_p = false;
@@ -1078,15 +1079,21 @@ diagnostic_report_diagnostic (diagnostic_context *context,
   return true;
 }
 
-/* Get the number of digits in the decimal representation of VALUE.  */
+/* Get the number of digits in the decimal representation of VALUE.
+
+   If USE_NN_P is true, return 2 (for the case where all numbers are to
+   be printed as just "NN").  */
 
 int
-num_digits (int value)
+num_digits (int value, bool use_nn_p)
 {
   /* Perhaps simpler to use log10 for this, but doing it this way avoids
      using floating point.  */
   gcc_assert (value >= 0);
 
+  if (use_nn_p)
+    return 2;
+
   if (value == 0)
     return 1;
 
@@ -1885,6 +1892,8 @@ test_num_digits ()
   ASSERT_EQ (7, num_digits (9999999));
   ASSERT_EQ (8, num_digits (10000000));
   ASSERT_EQ (8, num_digits (99999999));
+
+  ASSERT_EQ (2, num_digits (1000, true));
 }
 
 /* Run all of the selftests within this file.  */
diff --git a/gcc/diagnostic.h b/gcc/diagnostic.h
index 91e4c50..2fb75e6 100644
--- a/gcc/diagnostic.h
+++ b/gcc/diagnostic.h
@@ -233,6 +233,10 @@ struct diagnostic_context
      showing line numbers?  */
   bool show_line_numbers_p;
 
+  /* When printing line numbers, should the actual numbers be replaced with
+     "NN"? (for ease of DejaGnu testing)  */
+  bool use_nn_for_line_numbers_p;
+
   /* If printing source code, what should the minimum width of the margin
      be?  Line numbers will be right-aligned, and padded to this width.  */
   int min_margin_width;
@@ -432,6 +436,6 @@ extern void diagnostic_output_format_init (diagnostic_context *,
 					   enum diagnostics_output_format);
 
 /* Compute the number of digits in the decimal representation of an integer.  */
-extern int num_digits (int);
+extern int num_digits (int, bool use_nn_p = false);
 
 #endif /* ! GCC_DIAGNOSTIC_H */
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 384848a..fc92913 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -278,6 +278,7 @@ Objective-C and Objective-C++ Dialects}.
 -fdiagnostics-format=@r{[}text@r{|}json@r{]}  @gol
 -fno-diagnostics-show-option  -fno-diagnostics-show-caret @gol
 -fno-diagnostics-show-labels  -fno-diagnostics-show-line-numbers @gol
+-fdiagnostics-nn-line-numbers @gol
 -fdiagnostics-minimum-margin-width=@var{width} @gol
 -fdiagnostics-parseable-fixits  -fdiagnostics-generate-patch @gol
 -fdiagnostics-show-template-tree  -fno-elide-type @gol
@@ -4018,6 +4019,12 @@ By default, when printing source code (via @option{-fdiagnostics-show-caret}),
 a left margin is printed, showing line numbers.  This option suppresses this
 left margin.
 
+@item -fdiagnostics-nn-line-numbers
+@opindex fdiagnostics-nn-line-numbers
+When printing source code in diagnostics, replace line numbers ``NN''.
+This option is intended for GCC developers, to make it easier to write
+certain kinds of automated test.
+
 @item -fdiagnostics-minimum-margin-width=@var{width}
 @opindex fdiagnostics-minimum-margin-width
 This option controls the minimum width of the left margin printed by
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index bf69ce4..3207040 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -24490,6 +24490,7 @@ gen_producer_string (void)
       case OPT_fdiagnostics_show_caret:
       case OPT_fdiagnostics_show_labels:
       case OPT_fdiagnostics_show_line_numbers:
+      case OPT_fdiagnostics_nn_line_numbers:
       case OPT_fdiagnostics_color_:
       case OPT_fdiagnostics_format_:
       case OPT_fverbose_asm:
diff --git a/gcc/lto-wrapper.c b/gcc/lto-wrapper.c
index 9a7bbd0..aabfe6d 100644
--- a/gcc/lto-wrapper.c
+++ b/gcc/lto-wrapper.c
@@ -260,6 +260,7 @@ merge_and_complain (struct cl_decoded_option **decoded_options,
 	case OPT_fdiagnostics_show_caret:
 	case OPT_fdiagnostics_show_labels:
 	case OPT_fdiagnostics_show_line_numbers:
+	case OPT_fdiagnostics_nn_line_numbers:
 	case OPT_fdiagnostics_show_option:
 	case OPT_fdiagnostics_show_location_:
 	case OPT_fshow_column:
@@ -605,6 +606,7 @@ append_compiler_options (obstack *argv_obstack, struct cl_decoded_option *opts,
 	case OPT_fdiagnostics_show_caret:
 	case OPT_fdiagnostics_show_labels:
 	case OPT_fdiagnostics_show_line_numbers:
+	case OPT_fdiagnostics_nn_line_numbers:
 	case OPT_fdiagnostics_show_option:
 	case OPT_fdiagnostics_show_location_:
 	case OPT_fshow_column:
@@ -653,6 +655,7 @@ append_diag_options (obstack *argv_obstack, struct cl_decoded_option *opts,
 	case OPT_fdiagnostics_format_:
 	case OPT_fdiagnostics_show_caret:
 	case OPT_fdiagnostics_show_labels:
+	case OPT_fdiagnostics_nn_line_numbers:
 	case OPT_fdiagnostics_show_line_numbers:
 	case OPT_fdiagnostics_show_option:
 	case OPT_fdiagnostics_show_location_:
diff --git a/gcc/opts.c b/gcc/opts.c
index 32869ca..9928d01 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -2470,6 +2470,10 @@ common_handle_option (struct gcc_options *opts,
       dc->show_line_numbers_p = value;
       break;
 
+    case OPT_fdiagnostics_nn_line_numbers:
+      dc->use_nn_for_line_numbers_p = value;
+      break;
+
     case OPT_fdiagnostics_color_:
       diagnostic_color_init (dc, value);
       break;
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 1c7002f..2d0a390 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1100,6 +1100,8 @@ general_init (const char *argv0, bool init_signals)
     = global_options_init.x_flag_diagnostics_show_labels;
   global_dc->show_line_numbers_p
     = global_options_init.x_flag_diagnostics_show_line_numbers;
+  global_dc->use_nn_for_line_numbers_p
+    = global_options_init.x_flag_diagnostics_nn_line_numbers;
   global_dc->show_option_requested
     = global_options_init.x_flag_diagnostics_show_option;
   global_dc->min_margin_width
-- 
1.8.5.3

  parent reply	other threads:[~2019-11-16  1:17 UTC|newest]

Thread overview: 160+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-16  1:21 [PATCH 00/49] RFC: Add a static analysis framework to GCC David Malcolm
2019-11-16  1:17 ` [PATCH 09/49] gimple const-correctness fixes David Malcolm
2019-12-04 17:06   ` Martin Sebor
2019-12-06 10:52   ` Richard Biener
2019-12-06 17:47     ` David Malcolm
2019-12-09  8:27       ` Richard Biener
2019-12-07 14:28   ` Jeff Law
2019-12-09  8:18     ` Richard Biener
2019-11-16  1:17 ` [PATCH 01/49] analyzer: user-facing documentation David Malcolm
2019-12-06 19:57   ` Eric Gallager
2019-12-07  1:41     ` David Malcolm
2019-12-09  5:36   ` Sandra Loosemore
2019-11-16  1:17 ` [PATCH 08/49] Introduce pretty_printer::clone vfunc David Malcolm
2019-12-07 14:36   ` Jeff Law
2019-11-16  1:17 ` [PATCH 11/49] Add diagnostic_metadata and CWE support David Malcolm
2019-12-04 17:36   ` Martin Sebor
2019-12-13  3:00     ` David Malcolm
2019-12-13 16:44       ` Martin Sebor
2019-12-13 17:32         ` David Malcolm
2019-11-16  1:17 ` [PATCH 02/49] analyzer: internal documentation David Malcolm
2019-11-16  1:17 ` [PATCH 14/49] hash-map-tests.c: add a selftest involving int_hash David Malcolm
2019-12-07 14:38   ` Jeff Law
2019-11-16  1:18 ` [PATCH 28/49] analyzer: new files: analyzer.{cc|h} David Malcolm
2019-12-07  3:38   ` Eric Gallager
2019-12-09 23:22     ` David Malcolm
2019-12-10 19:59       ` Eric Gallager
2019-12-07 15:02   ` Jeff Law
2019-12-11 19:49     ` David Malcolm
2019-12-20  1:21       ` [PATCH 0/4] analyzer: add class function_set and use in various places David Malcolm
2019-12-20  1:22         ` [PATCH 2/4] analyzer: introduce a set of known async-signal-unsafe functions David Malcolm
2019-12-20  1:22         ` [PATCH 1/4] analyzer: add function-set.cc/h David Malcolm
2019-12-20  1:22         ` [PATCH 3/4] analyzer: add known stdio functions to sm-file.cc (PR analyzer/58237) David Malcolm
2019-12-20  6:34         ` [PATCH 4/4] analyzer: add -Wanalyzer-use-of-closed-file David Malcolm
2019-12-10 17:17   ` [PATCH 28/49] analyzer: new files: analyzer.{cc|h} Martin Sebor
2019-11-16  1:18 ` [PATCH 17/49] Support for adding selftests via a plugin David Malcolm
2019-12-07 14:41   ` Jeff Law
2019-12-09 23:18     ` David Malcolm
2019-11-16  1:18 ` [PATCH 29/49] analyzer: new files: tristate.{cc|h} David Malcolm
2019-12-07 15:03   ` Jeff Law
2019-12-09 23:16     ` David Malcolm
2019-12-10  0:59   ` Martin Sebor
2019-11-16  1:18 ` [PATCH 27/49] analyzer: new files: supergraph.{cc|h} David Malcolm
2019-11-16  1:18 ` [PATCH 35/49] analyzer: new file: sm-file.cc David Malcolm
2019-12-07 15:15   ` Jeff Law
2019-11-16  1:18 ` [PATCH 07/49] Replace label_text ctor with "borrow" and "take" David Malcolm
2019-12-07 14:34   ` Jeff Law
2019-11-16  1:18 ` [PATCH 33/49] analyzer: new files: sm.{cc|h} David Malcolm
2019-12-11 19:24   ` Jeff Law
2020-01-10  2:28     ` David Malcolm
2019-11-16  1:18 ` [PATCH 05/49] vec.h: add auto_delete_vec David Malcolm
2019-12-04 16:29   ` Martin Sebor
2019-12-18 16:00     ` David Malcolm
2020-01-08 21:52       ` Jeff Law
2019-11-16  1:18 ` [PATCH 36/49] analyzer: new file: sm-pattern-test.cc David Malcolm
2019-12-07 15:16   ` Jeff Law
2019-11-16  1:18 ` [PATCH 16/49] Add support for in-tree plugins David Malcolm
2019-12-06 22:41   ` Eric Gallager
2019-12-07 14:39   ` Jeff Law
2019-12-08 14:32     ` David Malcolm
2019-11-16  1:18 ` [PATCH 32/49] analyzer: new files: pending-diagnostic.{cc|h} David Malcolm
2019-12-07 15:05   ` Jeff Law
2019-12-08 14:43     ` David Malcolm
2019-12-08 22:25       ` Jeff Law
2019-11-16  1:18 ` [PATCH 06/49] timevar.h: add auto_client_timevar class David Malcolm
2019-12-04 16:39   ` Martin Sebor
2019-12-04 17:28     ` Tom Tromey
2019-12-04 21:15       ` David Malcolm
2019-12-07 14:29   ` Jeff Law
2019-12-08 14:30     ` David Malcolm
2019-11-16  1:18 ` [PATCH 18/49] Add in-tree plugin: "analyzer" David Malcolm
2019-11-16  1:18 ` [PATCH 23/49] analyzer: logging support David Malcolm
2019-12-04 18:56   ` Martin Sebor
2019-11-16  1:18 ` [PATCH 03/49] diagnostic_show_locus: move initial newline to callers David Malcolm
2019-12-07 14:30   ` Jeff Law
2019-12-10  1:51     ` David Malcolm
2019-11-16  1:18 ` [PATCH 26/49] analyzer: new files: digraph.{cc|h} and shortest-paths.h David Malcolm
2019-12-07 14:58   ` Jeff Law
2019-12-09 23:15     ` David Malcolm
2019-12-10  0:45   ` Martin Sebor
2019-11-16  1:18 ` [PATCH 12/49] Add diagnostic paths David Malcolm
2019-12-07 14:45   ` Jeff Law
2019-12-19  2:49     ` David Malcolm
2019-11-16  1:18 ` [PATCH 30/49] analyzer: new files: constraint-manager.{cc|h} David Malcolm
2019-11-16  1:18 ` [PATCH 19/49] analyzer: new files: analyzer-selftests.{cc|h} David Malcolm
2019-12-07 14:48   ` Jeff Law
2019-11-16  1:18 ` [PATCH 22/49] analyzer: params.def: new parameters David Malcolm
2019-12-07 14:49   ` Jeff Law
2019-12-08  5:42     ` Eric Gallager
2019-12-08 14:34       ` David Malcolm
2019-11-16  1:18 ` [PATCH 24/49] analyzer: new file: analyzer-pass.cc David Malcolm
2019-12-07 14:51   ` Jeff Law
2019-12-08 14:38     ` David Malcolm
2019-11-16  1:18 ` [PATCH 21/49] analyzer: command-line options David Malcolm
2019-12-04 18:35   ` Martin Sebor
2019-12-06 18:14     ` Eric Gallager
2019-11-16  1:20 ` [PATCH 04/49] sbitmap.h: add operator const sbitmap & to auto_sbitmap David Malcolm
2019-12-04 16:54   ` Martin Sebor
2019-11-16  1:20 ` [PATCH 34/49] analyzer: new file: sm-malloc.cc David Malcolm
2019-12-07 15:11   ` Jeff Law
2019-11-16  1:20 ` [PATCH 39/49] analyzer: new files: analysis-plan.{cc|h} David Malcolm
2019-12-07 15:24   ` Jeff Law
2019-11-16  1:21 ` [PATCH 15/49] Add ordered_hash_map David Malcolm
2019-12-04 17:59   ` Martin Sebor
2020-01-08 23:47     ` David Malcolm
2020-01-09 11:56       ` Jonathan Wakely
2020-01-10  2:58         ` [PATCH] Add ordered_hash_map (v6) David Malcolm
2019-11-16  1:21 ` [PATCH 48/49] gdbinit.in: add break-on-saved-diagnostic David Malcolm
2019-11-16  1:21 ` [PATCH 13/49] function-tests.c: expose selftest::make_fndecl for use elsewhere David Malcolm
2019-12-07 14:37   ` Jeff Law
2019-11-16  1:21 ` [PATCH 37/49] analyzer: new file: sm-sensitive.cc David Malcolm
2019-12-07 15:18   ` Jeff Law
2019-11-16  1:21 ` [PATCH 38/49] analyzer: new file: sm-taint.cc David Malcolm
2019-12-07 15:22   ` Jeff Law
2019-11-16  1:21 ` [PATCH 42/49] analyzer: new files: program-state.{cc|h} David Malcolm
2019-11-16  1:21 ` [PATCH 25/49] analyzer: new files: graphviz.{cc|h} David Malcolm
2019-12-07 14:54   ` Jeff Law
2019-12-09 23:13     ` David Malcolm
2019-11-16  1:21 ` [PATCH 45/49] analyzer: new files: engine.{cc|h} David Malcolm
2019-11-16  1:21 ` [PATCH 43/49] analyzer: new file: exploded-graph.h David Malcolm
2019-12-11 20:04   ` Jeff Law
2019-12-12 15:29     ` David Malcolm
2019-12-12 18:22       ` David Malcolm
2020-01-10  2:41     ` David Malcolm
2019-11-16  1:21 ` [PATCH 40/49] analyzer: new files: call-string.{cc|h} David Malcolm
2019-12-11 19:28   ` Jeff Law
2019-11-16  1:21 ` [PATCH 44/49] analyzer: new files: state-purge.{cc|h} David Malcolm
2019-12-11 20:11   ` Jeff Law
2019-11-16  1:21 ` [PATCH 47/49] analyzer: new files: diagnostic-manager.{cc|h} David Malcolm
2019-12-11 20:42   ` Jeff Law
2019-12-11 21:11     ` David Malcolm
2019-11-16  1:21 ` [PATCH 46/49] analyzer: new files: checker-path.{cc|h} David Malcolm
2019-12-11 20:50   ` Jeff Law
2019-11-16  1:21 ` [PATCH 31/49] analyzer: new files: region-model.{cc|h} David Malcolm
2019-11-16  1:21 ` [PATCH 41/49] analyzer: new files: program-point.{cc|h} David Malcolm
2019-12-11 19:54   ` Jeff Law
2019-12-11 19:58     ` David Malcolm
2019-11-16  1:21 ` David Malcolm [this message]
2019-12-04 17:18   ` [PATCH 10/49] Add -fdiagnostics-nn-line-numbers Martin Sebor
2019-12-04 17:24   ` Martin Sebor
2019-11-16  1:21 ` [PATCH 49/49] analyzer: test suite David Malcolm
2019-11-16  1:23 ` [PATCH 20/49] analyzer: new builtins David Malcolm
2019-12-04 18:11   ` Martin Sebor
2019-12-19 15:16     ` David Malcolm
2019-11-16 21:47 ` [PATCH 00/49] RFC: Add a static analysis framework to GCC Thomas Schwinge
2019-11-19 22:05   ` David Malcolm
2019-11-20 10:26     ` Richard Biener
2019-12-02  3:03       ` Eric Gallager
2019-12-03 16:52       ` David Malcolm
2019-12-03 17:17         ` Jakub Jelinek
2019-12-16 14:33           ` David Malcolm
2019-12-04 12:41         ` Richard Biener
2019-12-06 22:25         ` Jeff Law
2019-12-08 14:28           ` [PATCH 0/2] v3 of analyzer patch kit (unsquashed) David Malcolm
2019-12-08 14:28             ` [PATCH 2/2] Rework as a non-plugin David Malcolm
2019-12-08 14:28             ` [PATCH 1/2] Fixup for rebase: c-format.c: get_pointer_to_named_type -> get_named_type David Malcolm
2019-12-02  3:20   ` [PATCH 00/49] RFC: Add a static analysis framework to GCC Eric Gallager
2019-12-04 19:55 ` Martin Sebor
2019-12-06 22:31   ` Jeff Law
2019-12-09  8:10     ` Richard Biener
2019-12-11 20:11       ` David Malcolm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1573867416-55618-11-git-send-email-dmalcolm@redhat.com \
    --to=dmalcolm@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).