@@ -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));
@@ -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);
@@ -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);
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 <dmalcolm@redhat.com> --- gcc/diagnostic-format-sarif.cc | 14 +++++++++++--- gcc/diagnostic.cc | 2 ++ gcc/diagnostic.h | 3 +++ 3 files changed, 16 insertions(+), 3 deletions(-)