[gcc r16-8210] gccrs: Add global scope debug function for crate

Arthur Cohen cohenarthur@gcc.gnu.org
Fri Mar 20 17:24:48 GMT 2026


https://gcc.gnu.org/g:9fce4a170f03e6864109f99687e7728f68322f54

commit r16-8210-g9fce4a170f03e6864109f99687e7728f68322f54
Author: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Date:   Mon Feb 23 11:23:08 2026 +0100

    gccrs: Add global scope debug function for crate
    
    A crate is not a visitable and thus cannot be used with the debug
    function. Until it is made visitable this commit provides a function
    to dump the content of a crate.
    
    gcc/rust/ChangeLog:
    
            * ast/rust-ast-dump.cc (debug): Add debug function which calls debug
            on every crate field.
            * ast/rust-ast-dump.h (debug): Add function prototype.
    
    Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>

Diff:
---
 gcc/rust/ast/rust-ast-dump.cc | 13 +++++++++++++
 gcc/rust/ast/rust-ast-dump.h  |  1 +
 2 files changed, 14 insertions(+)

diff --git a/gcc/rust/ast/rust-ast-dump.cc b/gcc/rust/ast/rust-ast-dump.cc
index a30e85ed0add..e813ea9d7f55 100644
--- a/gcc/rust/ast/rust-ast-dump.cc
+++ b/gcc/rust/ast/rust-ast-dump.cc
@@ -105,3 +105,16 @@ debug (Rust::AST::Visitable &v)
 {
   Rust::AST::Dump::debug (v);
 }
+
+void
+debug (Rust::AST::Crate &crate)
+{
+  for (auto &inner_attr : crate.get_inner_attrs ())
+    {
+      debug (inner_attr);
+    }
+  for (auto &item : crate.items)
+    {
+      debug (*item);
+    }
+}
diff --git a/gcc/rust/ast/rust-ast-dump.h b/gcc/rust/ast/rust-ast-dump.h
index 497f84aae918..cb281de8eee7 100644
--- a/gcc/rust/ast/rust-ast-dump.h
+++ b/gcc/rust/ast/rust-ast-dump.h
@@ -143,5 +143,6 @@ private:
 
 // In the global namespace to make it easier to call from debugger
 void debug (Rust::AST::Visitable &v);
+void debug (Rust::AST::Crate &v);
 
 #endif // !RUST_AST_DUMP_H


More information about the Gcc-cvs mailing list