]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
diagnostics: SARIF output: eliminate some uses of "line_table" global
authorDavid Malcolm <dmalcolm@redhat.com>
Thu, 1 Aug 2024 00:38:40 +0000 (20:38 -0400)
committerDavid Malcolm <dmalcolm@redhat.com>
Thu, 1 Aug 2024 00:38:40 +0000 (20:38 -0400)
No functional change intended.

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 <dmalcolm@redhat.com>
gcc/diagnostic-format-sarif.cc
gcc/diagnostic.cc
gcc/diagnostic.h

index 5900b9ea9b75e7ff3c51819a89fc7f601903e7bb..2232883281bfab1693f278209ea8e8b730990007 100644 (file)
@@ -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));
index 46cddfe94d1d06f727f57ef8c309324a63f4cf13..71d2f44e40c8fcc5654aa3d2213274ca226b6577 100644 (file)
@@ -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);
index 36a4c23b0737683c202446e1a0e483b625785073..79386ccbf85651a548f19a2ebe5ab0b646fadeb0 100644 (file)
@@ -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);