https://gcc.gnu.org/g:1c7c25cc2a14a3af1e041db4c487f40a11752758
commit r16-6834-g1c7c25cc2a14a3af1e041db4c487f40a11752758 Author: Arthur Cohen <[email protected]> Date: Wed Dec 31 16:29:23 2025 +0100 gccrs: forever-stack: Display depth in debug string gcc/rust/ChangeLog: * resolve/rust-forever-stack.h: Add depth parameter to function. * resolve/rust-forever-stack.hxx: Likewise and use it. Diff: --- gcc/rust/resolve/rust-forever-stack.h | 2 +- gcc/rust/resolve/rust-forever-stack.hxx | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/gcc/rust/resolve/rust-forever-stack.h b/gcc/rust/resolve/rust-forever-stack.h index abb2ca318386..fb265582ad17 100644 --- a/gcc/rust/resolve/rust-forever-stack.h +++ b/gcc/rust/resolve/rust-forever-stack.h @@ -787,7 +787,7 @@ private: void stream_rib (std::stringstream &stream, const Rib &rib, const std::string &next, const std::string &next_next) const; void stream_node (std::stringstream &stream, unsigned indentation, - const Node &node) const; + const Node &node, unsigned depth = 0) const; /* Helper types and functions for `resolve_path` */ diff --git a/gcc/rust/resolve/rust-forever-stack.hxx b/gcc/rust/resolve/rust-forever-stack.hxx index 1ba9686feab6..cd13af0158df 100644 --- a/gcc/rust/resolve/rust-forever-stack.hxx +++ b/gcc/rust/resolve/rust-forever-stack.hxx @@ -963,7 +963,8 @@ ForeverStack<N>::stream_rib (std::stringstream &stream, const Rib &rib, template <Namespace N> void ForeverStack<N>::stream_node (std::stringstream &stream, unsigned indentation, - const ForeverStack<N>::Node &node) const + const ForeverStack<N>::Node &node, + unsigned depth) const { auto indent = std::string (indentation, ' '); auto next = std::string (indentation + 4, ' '); @@ -982,12 +983,12 @@ ForeverStack<N>::stream_node (std::stringstream &stream, unsigned indentation, { auto link = kv.first; auto child = kv.second; - stream << indent << "Link (" << link.id << ", " + stream << indent << "Link " << depth << " (" << link.id << ", " << (link.path.has_value () ? link.path.value ().as_string () : "<anon>") << "):\n"; - stream_node (stream, indentation + 4, child); + stream_node (stream, indentation + 4, child, depth + 1); stream << '\n'; }
