aboutsummaryrefslogtreecommitdiff
path: root/gcc/opts-diagnostic.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/opts-diagnostic.cc')
-rw-r--r--gcc/opts-diagnostic.cc26
1 files changed, 25 insertions, 1 deletions
diff --git a/gcc/opts-diagnostic.cc b/gcc/opts-diagnostic.cc
index 34c3906..3a1dc52 100644
--- a/gcc/opts-diagnostic.cc
+++ b/gcc/opts-diagnostic.cc
@@ -545,21 +545,40 @@ 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;
for (auto& iter : parsed_arg.m_kvs)
{
const std::string &key = iter.first;
const std::string &value = iter.second;
+ if (key == "css")
+ {
+ if (!parse_bool_value (ctxt, unparsed_arg, key, value,
+ css))
+ return nullptr;
+ continue;
+ }
if (key == "file")
{
filename = label_text::take (xstrdup (value.c_str ()));
continue;
}
+ if (key == "javascript")
+ {
+ if (!parse_bool_value (ctxt, unparsed_arg, key, value,
+ javascript))
+ return nullptr;
+ continue;
+ }
/* Key not found. */
auto_vec<const char *> known_keys;
+ known_keys.safe_push ("css");
known_keys.safe_push ("file");
- ctxt.report_unknown_key (unparsed_arg, key, get_scheme_name (), known_keys);
+ known_keys.safe_push ("javascript");
+ ctxt.report_unknown_key (unparsed_arg, key, get_scheme_name (),
+ known_keys);
return nullptr;
}
@@ -579,8 +598,13 @@ 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;
+
auto sink = make_html_sink (ctxt.m_dc,
*line_table,
+ html_gen_opts,
std::move (output_file));
return sink;
}