From 9fce4a170f03e6864109f99687e7728f68322f54 Mon Sep 17 00:00:00 2001 From: Pierre-Emmanuel Patry Date: Mon, 23 Feb 2026 11:23:08 +0100 Subject: [PATCH] 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 --- 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 a30e85ed0ad..e813ea9d7f5 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 497f84aae91..cb281de8eee 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