[gcc r16-1405] diagnostics: xml: add add_text_from_pp
David Malcolm
dmalcolm@gcc.gnu.org
Wed Jun 11 00:13:30 GMT 2025
https://gcc.gnu.org/g:896edb1d0ae90ff1f60a6b894f04eb3c436790f5
commit r16-1405-g896edb1d0ae90ff1f60a6b894f04eb3c436790f5
Author: David Malcolm <dmalcolm@redhat.com>
Date: Tue Jun 10 20:06:38 2025 -0400
diagnostics: xml: add add_text_from_pp
Various places use
xp.add_text (pp_formatted_text (&pp))
Add a helper function for this.
No functional change intended.
gcc/ChangeLog:
* diagnostic-path-output.cc: Use xml::printer::add_text_from_pp.
* diagnostic-show-locus.cc: Likewise.
* xml-printer.h (xml::printer::add_text_from_pp): New decl.
* xml.cc (xml::node_with_children::add_text_from_pp): New.
(xml::printer::add_text_from_pp): New.
* xml.h (xml::node_with_children::add_text_from_pp): New decl.
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diff:
---
gcc/diagnostic-path-output.cc | 6 +++---
gcc/diagnostic-show-locus.cc | 2 +-
gcc/xml-printer.h | 1 +
gcc/xml.cc | 12 ++++++++++++
gcc/xml.h | 1 +
5 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/gcc/diagnostic-path-output.cc b/gcc/diagnostic-path-output.cc
index 199028ea7f3a..bae24bf01a70 100644
--- a/gcc/diagnostic-path-output.cc
+++ b/gcc/diagnostic-path-output.cc
@@ -689,7 +689,7 @@ struct event_range
iter_event.print_desc (pp);
if (event_label_writer)
event_label_writer->begin_label ();
- xp.add_text (pp_formatted_text (&pp));
+ xp.add_text_from_pp (pp);
if (event_label_writer)
event_label_writer->end_label ();
}
@@ -1243,7 +1243,7 @@ print_path_summary_as_html (const path_summary &ps,
else
pp_printf (&pp, "events %i-%i",
range->m_start_idx + 1, range->m_end_idx + 1);
- xp.add_text (pp_formatted_text (&pp));
+ xp.add_text_from_pp (pp);
xp.pop_tag ("span");
}
if (show_depths)
@@ -1252,7 +1252,7 @@ print_path_summary_as_html (const path_summary &ps,
xp.push_tag_with_class ("span", "depth", true);
pretty_printer pp;
pp_printf (&pp, "(depth %i)", range->m_stack_depth);
- xp.add_text (pp_formatted_text (&pp));
+ xp.add_text_from_pp (pp);
xp.pop_tag ("span");
}
xp.pop_tag ("div");
diff --git a/gcc/diagnostic-show-locus.cc b/gcc/diagnostic-show-locus.cc
index 575c7ec8d709..ffb72da138d9 100644
--- a/gcc/diagnostic-show-locus.cc
+++ b/gcc/diagnostic-show-locus.cc
@@ -614,7 +614,7 @@ struct to_html
{
pp_clear_output_area (&m_scratch_pp);
pp_unicode_character (&m_scratch_pp, ch);
- m_xp.add_text (pp_formatted_text (&m_scratch_pp));
+ m_xp.add_text_from_pp (m_scratch_pp);
}
void add_utf8_byte (char b)
diff --git a/gcc/xml-printer.h b/gcc/xml-printer.h
index 24ac2f42e735..428da0a4245d 100644
--- a/gcc/xml-printer.h
+++ b/gcc/xml-printer.h
@@ -44,6 +44,7 @@ public:
void set_attr (const char *name, std::string value);
void add_text (std::string text);
+ void add_text_from_pp (pretty_printer &pp);
void add_raw (std::string text);
diff --git a/gcc/xml.cc b/gcc/xml.cc
index 0a925619f5d3..9077c1ab1300 100644
--- a/gcc/xml.cc
+++ b/gcc/xml.cc
@@ -121,6 +121,11 @@ node_with_children::add_text (std::string str)
add_child (std::make_unique <text> (std::move (str)));
}
+void
+node_with_children::add_text_from_pp (pretty_printer &pp)
+{
+ add_text (pp_formatted_text (&pp));
+}
/* struct document : public node_with_children. */
@@ -251,6 +256,13 @@ printer::add_text (std::string text)
parent->add_text (std::move (text));
}
+void
+printer::add_text_from_pp (pretty_printer &pp)
+{
+ element *parent = m_open_tags.back ();
+ parent->add_text_from_pp (pp);
+}
+
void
printer::add_raw (std::string text)
{
diff --git a/gcc/xml.h b/gcc/xml.h
index 3c5813a22862..952cfa4376b0 100644
--- a/gcc/xml.h
+++ b/gcc/xml.h
@@ -65,6 +65,7 @@ struct node_with_children : public node
{
void add_child (std::unique_ptr<node> node);
void add_text (std::string str);
+ void add_text_from_pp (pretty_printer &pp);
std::vector<std::unique_ptr<node>> m_children;
};
More information about the Gcc-cvs
mailing list