]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
diagnostics: xml: add add_text_from_pp
authorDavid Malcolm <dmalcolm@redhat.com>
Wed, 11 Jun 2025 00:06:38 +0000 (20:06 -0400)
committerDavid Malcolm <dmalcolm@redhat.com>
Wed, 11 Jun 2025 00:06:38 +0000 (20:06 -0400)
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>
gcc/diagnostic-path-output.cc
gcc/diagnostic-show-locus.cc
gcc/xml-printer.h
gcc/xml.cc
gcc/xml.h

index 199028ea7f3ac86d27f8f6ea1f2847f3b57dee55..bae24bf01a707d70276a84789529cccf8ed8fc52 100644 (file)
@@ -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");
index 575c7ec8d709ad012c64d224fbedd576b07b9881..ffb72da138d95dcf3ae3c18115d13b861738802a 100644 (file)
@@ -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)
index 24ac2f42e7356a95aa1cffa6544440c787ba5049..428da0a4245d448f27978640231f0c25e13fdf32 100644 (file)
@@ -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);
 
index 0a925619f5d30fc4df1ec6abeea97a5793993159..9077c1ab1300bee90da55a5bf6335cd260e7ef95 100644 (file)
@@ -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)
 {
index 3c5813a22862fa43247cfe22cc0ec7b6d9ba5864..952cfa4376b081c0481ffd625abbcecfd38e6de5 100644 (file)
--- 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;
 };