https://gcc.gnu.org/g:4dbb4af7aafdd67eb4d8247c83e92d2d1e9bbbd7

commit 4dbb4af7aafdd67eb4d8247c83e92d2d1e9bbbd7
Author: David Malcolm <dmalc...@redhat.com>
Date:   Wed Jul 24 18:07:51 2024 -0400

    json: add dump overload for easier debugging
    
    This has saved me a lot of typing in the debugger.
    
    gcc/ChangeLog:
            * json.cc (value::dump): New overload, taking no params.
            * json.h (value::dump): New decl.
    
    Signed-off-by: David Malcolm <dmalc...@redhat.com>

Diff:
---
 gcc/json.cc | 10 ++++++++++
 gcc/json.h  |  1 +
 2 files changed, 11 insertions(+)

diff --git a/gcc/json.cc b/gcc/json.cc
index b3106f39cedf..53edca520556 100644
--- a/gcc/json.cc
+++ b/gcc/json.cc
@@ -90,6 +90,16 @@ value::dump (FILE *outf, bool formatted) const
   pp_flush (&pp);
 }
 
+/* A convenience function for debugging.
+   Dump to stderr with formatting, and a trailing newline. */
+
+void
+value::dump () const
+{
+  dump (stderr, true);
+  fprintf (stderr, "\n");
+}
+
 /* class json::object, a subclass of json::value, representing
    an ordered collection of key/value pairs.  */
 
diff --git a/gcc/json.h b/gcc/json.h
index 97c68116b329..ad4f8c448f8c 100644
--- a/gcc/json.h
+++ b/gcc/json.h
@@ -83,6 +83,7 @@ class value
   virtual void print (pretty_printer *pp, bool formatted) const = 0;
 
   void dump (FILE *, bool formatted) const;
+  void DEBUG_FUNCTION dump () const;
 };
 
 /* Subclass of value for objects: a collection of key/value pairs

Reply via email to