https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116792
--- Comment #11 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by David Malcolm <dmalc...@gcc.gnu.org>: https://gcc.gnu.org/g:82de4cada8669639a8474808db48d63ffade2bcb commit r16-1344-g82de4cada8669639a8474808db48d63ffade2bcb Author: David Malcolm <dmalc...@redhat.com> Date: Mon Jun 9 09:40:06 2025 -0400 diagnostics: fix <title> of experimental-html output [PR116792] Add a new vfunc diagnostic_output_format::set_main_input_filename so that we can separate setting the <title> of HTML output and the diagnostic_artifact_role::analysis_target of SARIF output from creation of the sinks. Calling it is done by the various creators of the sinks. gcc/ChangeLog: PR other/116792 * diagnostic-format-html.cc (html_builder::m_title_element): New field. (html_builder::html_builder): Initialize it. Don't add placeholder text. (html_builder::set_main_input_filename): New. (html_output_format::set_main_input_filename): New. (test_html_diagnostic_context::test_html_diagnostic_context): Call set_main_input_filename on the new sink. (seldtest::test_simple_log): Update expected <title> text. * diagnostic-format-json.cc (diagnostic_output_format_init_json): Return a reference to the new sink. (diagnostic_output_format_init_json_stderr): Likewise. (diagnostic_output_format_init_json_file): Likewise. * diagnostic-format-sarif.cc (sarif_builder::sarif_builder): Drop "main_input_filename_" param, and move adding an artifact for it with diagnostic_artifact_role::analysis_target to... (sarif_builder::set_main_input_filename): ...this new function. (sarif_output_format::set_main_input_filename): New. (sarif_output_format::sarif_output_format): Drop "main_input_filename_" param. (sarif_stream_output_format::sarif_stream_output_format): Likewise. (sarif_file_output_format::sarif_file_output_format): Likewise. (diagnostic_output_format_init_sarif): Return a reference to *FMT. (diagnostic_output_format_init_sarif_stderr): Return a refererence to the new sink. Drop "main_input_filename_" param. (diagnostic_output_format_init_sarif_file): Likewise. (diagnostic_output_format_init_sarif_stream): Likewise. (make_sarif_sink): Drop "main_input_filename_" param. (selftest::test_sarif_diagnostic_context::test_sarif_diagnostic_context): Likewise. Call set_main_input_filename on the new format. (selftest::test_sarif_diagnostic_context::buffered_output_format::buffered_output_format): Drop "main_input_filename_" param. (selftest::test_make_location_object): Likewise. * diagnostic-format-sarif.h (diagnostic_output_format_init_sarif_stderr): Return a refererence to the new sink. Drop "main_input_filename_" param. (diagnostic_output_format_init_sarif_file): Likewise. (diagnostic_output_format_init_sarif_stream): Likewise. (make_sarif_sink): Drop "main_input_filename_" param. * diagnostic-format.h (diagnostic_output_format::set_main_input_filename): New vfunc. (diagnostic_output_format_init_json_stderr): Return a refererence to the new sink. (diagnostic_output_format_init_json_file): Likewise. * diagnostic.cc (diagnostic_output_format_init): Likewise. Call set_main_input_filename on the new sink. * libgdiagnostics.cc (sarif_sink::sarif_sink): Update for above changes. * opts-diagnostic.cc (sarif_scheme_handler::make_sink): Likewise. (handle_OPT_fdiagnostics_add_output_): Likewise. (handle_OPT_fdiagnostics_set_output_): Likewise. gcc/testsuite/ChangeLog: PR other/116792 * gcc.dg/html-output/missing-semicolon.py: Update expected <title> text. Drop out-of-date comment. Signed-off-by: David Malcolm <dmalc...@redhat.com>