No functional change intended.

Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.
Successful run of analyzer integration tests on x86_64-pc-linux-gnu.
Pushed to trunk as r15-2464-gc990667996ff79.

gcc/ChangeLog:
        * diagnostic-format-sarif.cc (sarif_builder::sarif_builder): Assert
        that m_line_maps is nonnull.
        (diagnostic_output_format_init_sarif_stderr): Add "line_maps"
        param and pass to format ctor.
        (diagnostic_output_format_init_sarif_file): Likewise.
        (diagnostic_output_format_init_sarif_stream): Likewise.
        * diagnostic.cc (diagnostic_output_format_init): Pass "line_table"
        as line_maps param to the above.
        * diagnostic.h (diagnostic_output_format_init_sarif_stderr): Add
        "line_maps" param.
        (diagnostic_output_format_init_sarif_file): Likewise.
        (diagnostic_output_format_init_sarif_stream): Likewise.

Signed-off-by: David Malcolm <dmalc...@redhat.com>
---
 gcc/diagnostic-format-sarif.cc | 14 +++++++++++---
 gcc/diagnostic.cc              |  2 ++
 gcc/diagnostic.h               |  3 +++
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/gcc/diagnostic-format-sarif.cc b/gcc/diagnostic-format-sarif.cc
index 5900b9ea9b7..2232883281b 100644
--- a/gcc/diagnostic-format-sarif.cc
+++ b/gcc/diagnostic-format-sarif.cc
@@ -1302,6 +1302,8 @@ sarif_builder::sarif_builder (diagnostic_context &context,
   m_tabstop (context.m_tabstop),
   m_formatted (formatted)
 {
+  gcc_assert (m_line_maps);
+
   /* Mark MAIN_INPUT_FILENAME_ as the artifact that the tool was
      instructed to scan.
      Only quote the contents if it gets referenced by physical locations,
@@ -2988,13 +2990,15 @@ diagnostic_output_format_init_sarif (diagnostic_context 
&context)
 
 void
 diagnostic_output_format_init_sarif_stderr (diagnostic_context &context,
+                                           const line_maps *line_maps,
                                            const char *main_input_filename_,
                                            bool formatted)
 {
+  gcc_assert (line_maps);
   diagnostic_output_format_init_sarif (context);
   context.set_output_format
     (new sarif_stream_output_format (context,
-                                    line_table,
+                                    line_maps,
                                     main_input_filename_,
                                     formatted,
                                     stderr));
@@ -3005,14 +3009,16 @@ diagnostic_output_format_init_sarif_stderr 
(diagnostic_context &context,
 
 void
 diagnostic_output_format_init_sarif_file (diagnostic_context &context,
+                                         const line_maps *line_maps,
                                          const char *main_input_filename_,
                                          bool formatted,
                                          const char *base_file_name)
 {
+  gcc_assert (line_maps);
   diagnostic_output_format_init_sarif (context);
   context.set_output_format
     (new sarif_file_output_format (context,
-                                  line_table,
+                                  line_maps,
                                   main_input_filename_,
                                   formatted,
                                   base_file_name));
@@ -3022,14 +3028,16 @@ diagnostic_output_format_init_sarif_file 
(diagnostic_context &context,
 
 void
 diagnostic_output_format_init_sarif_stream (diagnostic_context &context,
+                                           const line_maps *line_maps,
                                            const char *main_input_filename_,
                                            bool formatted,
                                            FILE *stream)
 {
+  gcc_assert (line_maps);
   diagnostic_output_format_init_sarif (context);
   context.set_output_format
     (new sarif_stream_output_format (context,
-                                    line_table,
+                                    line_maps,
                                     main_input_filename_,
                                     formatted,
                                     stream));
diff --git a/gcc/diagnostic.cc b/gcc/diagnostic.cc
index 46cddfe94d1..71d2f44e40c 100644
--- a/gcc/diagnostic.cc
+++ b/gcc/diagnostic.cc
@@ -1857,12 +1857,14 @@ diagnostic_output_format_init (diagnostic_context 
&context,
 
     case DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR:
       diagnostic_output_format_init_sarif_stderr (context,
+                                                 line_table,
                                                  main_input_filename_,
                                                  json_formatting);
       break;
 
     case DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE:
       diagnostic_output_format_init_sarif_file (context,
+                                               line_table,
                                                main_input_filename_,
                                                json_formatting,
                                                base_file_name);
diff --git a/gcc/diagnostic.h b/gcc/diagnostic.h
index 36a4c23b073..79386ccbf85 100644
--- a/gcc/diagnostic.h
+++ b/gcc/diagnostic.h
@@ -1115,13 +1115,16 @@ extern void diagnostic_output_format_init_json_file 
(diagnostic_context &context
                                                     bool formatted,
                                                     const char 
*base_file_name);
 extern void diagnostic_output_format_init_sarif_stderr (diagnostic_context 
&context,
+                                                       const line_maps 
*line_maps,
                                                        const char 
*main_input_filename_,
                                                        bool formatted);
 extern void diagnostic_output_format_init_sarif_file (diagnostic_context 
&context,
+                                                     const line_maps 
*line_maps,
                                                      const char 
*main_input_filename_,
                                                      bool formatted,
                                                      const char 
*base_file_name);
 extern void diagnostic_output_format_init_sarif_stream (diagnostic_context 
&context,
+                                                       const line_maps 
*line_maps,
                                                        const char 
*main_input_filename_,
                                                        bool formatted,
                                                        FILE *stream);
-- 
2.26.3

Reply via email to