aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2025-06-23 11:06:33 -0400
committerDavid Malcolm <dmalcolm@redhat.com>2025-06-23 11:06:33 -0400
commit5a64c96cfe7a4d5783319c2fb8472bc75d702e9a (patch)
treefd758a8c19d912dcd96a4ceedf9b3064a113ef05 /gcc
parent11811e698b460b5fe45777f4c333aa74655cff39 (diff)
downloadgcc-5a64c96cfe7a4d5783319c2fb8472bc75d702e9a.zip
gcc-5a64c96cfe7a4d5783319c2fb8472bc75d702e9a.tar.gz
gcc-5a64c96cfe7a4d5783319c2fb8472bc75d702e9a.tar.bz2
diagnostics: handle pp_token::kind::event_id in experimental-html sink [PR116792]
gcc/ChangeLog: PR other/116792 * diagnostic-format-html.cc (html_token_printer::print_tokens): Handle pp_token::kind::event_id. (selftest::test_token_printer): Add coverage of printing an event id. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/diagnostic-format-html.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/diagnostic-format-html.cc b/gcc/diagnostic-format-html.cc
index 45d0881..5668b50 100644
--- a/gcc/diagnostic-format-html.cc
+++ b/gcc/diagnostic-format-html.cc
@@ -799,6 +799,16 @@ public:
case pp_token::kind::end_url:
m_xp.pop_tag ("a");
break;
+
+ case pp_token::kind::event_id:
+ {
+ pp_token_event_id *sub = as_a <pp_token_event_id *> (iter);
+ gcc_assert (sub->m_event_id.known_p ());
+ m_xp.add_text ("(");
+ m_xp.add_text (std::to_string (sub->m_event_id.one_based ()));
+ m_xp.add_text (")");
+ }
+ break;
}
}
@@ -1375,6 +1385,15 @@ test_token_printer ()
"&apos;"
"</div>\n");
}
+
+ {
+ token_printer_test t;
+ diagnostic_event_id_t event_id (0);
+ pp_printf (&t.m_pp, "foo %@ bar", &event_id);
+ ASSERT_XML_PRINT_EQ
+ (t.m_top_element,
+ "<div>foo (1) bar</div>\n");
+ }
}
/* A subclass of html_output_format for writing selftests.