No functional change intended. Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu. Pushed to trunk as r16-3194-g1da90c533f9446.
gcc/ChangeLog: * diagnostics/output-spec.cc (sarif_scheme_handler::make_sink): Populate sarif_generation_options instance directly, rather than through local variables. (sarif_scheme_handler::make_sarif_gen_opts): Drop. (html_scheme_handler::make_sink): Populate html_generation_options instance directly, rather than through local variables. --- gcc/diagnostics/output-spec.cc | 53 +++++++++------------------------- 1 file changed, 13 insertions(+), 40 deletions(-) diff --git a/gcc/diagnostics/output-spec.cc b/gcc/diagnostics/output-spec.cc index 13565f989b83..e25d25a9a9a4 100644 --- a/gcc/diagnostics/output-spec.cc +++ b/gcc/diagnostics/output-spec.cc @@ -182,10 +182,6 @@ public: const scheme_name_and_params &parsed_arg) const final override; private: - static sarif_generation_options - make_sarif_gen_opts (enum sarif_version version, - bool state_graph); - static std::unique_ptr<sarif_serialization_format> make_sarif_serialization_object (enum sarif_serialization_kind); }; @@ -431,8 +427,7 @@ sarif_scheme_handler::make_sink (const context &ctxt, label_text filename; enum sarif_serialization_kind serialization_kind = sarif_serialization_kind::json; - enum sarif_version version = sarif_version::v2_1_0; - bool state_graph = false; + sarif_generation_options sarif_gen_opts; for (auto& iter : parsed_arg.m_kvs) { const std::string &key = iter.first; @@ -463,17 +458,18 @@ sarif_scheme_handler::make_sink (const context &ctxt, {{{"2.1", sarif_version::v2_1_0}, {"2.2-prerelease", sarif_version::v2_2_prerelease_2024_08_08}}}; - if (!parse_enum_value<enum sarif_version> (ctxt, unparsed_arg, - key, value, - value_names, - version)) + if (!parse_enum_value<enum sarif_version> + (ctxt, unparsed_arg, + key, value, + value_names, + sarif_gen_opts.m_version)) return nullptr; continue; } if (key == "state-graphs") { if (!parse_bool_value (ctxt, unparsed_arg, key, value, - state_graph)) + sarif_gen_opts.m_state_graph)) return nullptr; continue; } @@ -513,8 +509,6 @@ sarif_scheme_handler::make_sink (const context &ctxt, if (!output_file_) return nullptr; - auto sarif_gen_opts = make_sarif_gen_opts (version, state_graph); - auto serialization_obj = make_sarif_serialization_object (serialization_kind); auto sink = make_sarif_sink (dc, @@ -525,16 +519,6 @@ sarif_scheme_handler::make_sink (const context &ctxt, return sink; } -sarif_generation_options -sarif_scheme_handler::make_sarif_gen_opts (enum sarif_version version, - bool state_graph) -{ - sarif_generation_options sarif_gen_opts; - sarif_gen_opts.m_version = version; - sarif_gen_opts.m_state_graph = state_graph; - return sarif_gen_opts; -} - std::unique_ptr<sarif_serialization_format> sarif_scheme_handler:: make_sarif_serialization_object (enum sarif_serialization_kind kind) @@ -557,12 +541,8 @@ html_scheme_handler::make_sink (const context &ctxt, const char *unparsed_arg, const scheme_name_and_params &parsed_arg) const { - bool css = true; label_text filename; - bool javascript = true; - bool show_state_diagrams = false; - bool show_state_diagrams_sarif = false; - bool show_state_diagrams_dot_src = false; + html_generation_options html_gen_opts; for (auto& iter : parsed_arg.m_kvs) { const std::string &key = iter.first; @@ -570,7 +550,7 @@ html_scheme_handler::make_sink (const context &ctxt, if (key == "css") { if (!parse_bool_value (ctxt, unparsed_arg, key, value, - css)) + html_gen_opts.m_css)) return nullptr; continue; } @@ -582,28 +562,28 @@ html_scheme_handler::make_sink (const context &ctxt, if (key == "javascript") { if (!parse_bool_value (ctxt, unparsed_arg, key, value, - javascript)) + html_gen_opts.m_javascript)) return nullptr; continue; } if (key == "show-state-diagrams") { if (!parse_bool_value (ctxt, unparsed_arg, key, value, - show_state_diagrams)) + html_gen_opts.m_show_state_diagrams)) return nullptr; continue; } if (key == "show-state-diagrams-dot-src") { if (!parse_bool_value (ctxt, unparsed_arg, key, value, - show_state_diagrams_dot_src)) + html_gen_opts.m_show_state_diagrams_dot_src)) return nullptr; continue; } if (key == "show-state-diagrams-sarif") { if (!parse_bool_value (ctxt, unparsed_arg, key, value, - show_state_diagrams_sarif)) + html_gen_opts.m_show_state_diagrams_sarif)) return nullptr; continue; } @@ -645,13 +625,6 @@ html_scheme_handler::make_sink (const context &ctxt, if (!output_file_) return nullptr; - html_generation_options html_gen_opts; - html_gen_opts.m_css = css; - html_gen_opts.m_javascript = javascript; - html_gen_opts.m_show_state_diagrams = show_state_diagrams; - html_gen_opts.m_show_state_diagrams_sarif = show_state_diagrams_sarif; - html_gen_opts.m_show_state_diagrams_dot_src = show_state_diagrams_dot_src; - auto sink = make_html_sink (dc, *ctxt.get_affected_location_mgr (), html_gen_opts, -- 2.26.3