From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7905) id 95E78385828D; Tue, 31 Jan 2023 13:14:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 95E78385828D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1675170845; bh=sVFmPtX6hMmKbwgows7u5ND+xcIApJ8KeCxF4Etnpsk=; h=From:To:Subject:Date:From; b=W3AWyw7XhfSWlyOGQqW1pEv70qrVWrC/mGLgMYexMBdN+Smag2oq0TS08D3GmexR5 I107jgKBtn9fjWlD+lAYjg3fa0SBRRD9lxkOq3td5ihwSLGYqTSKsKtrUvNWdyR3R6 8XxbEy+UBibXMzI5K/FWz5onVCUEWjds65ERFOBc= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Arthur Cohen To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-5532] gccrs: session-manager: Add ast-pretty-expanded dump X-Act-Checkin: gcc X-Git-Author: Arthur Cohen X-Git-Refname: refs/heads/master X-Git-Oldrev: 9e56306f4d7c15e7667d8ac0b62ae6efb93ba756 X-Git-Newrev: 5be4c2687a89e4bdcbd95c439b22b694c3880afe Message-Id: <20230131131405.95E78385828D@sourceware.org> Date: Tue, 31 Jan 2023 13:14:05 +0000 (GMT) List-Id: https://gcc.gnu.org/g:5be4c2687a89e4bdcbd95c439b22b694c3880afe commit r13-5532-g5be4c2687a89e4bdcbd95c439b22b694c3880afe Author: Arthur Cohen Date: Thu Aug 11 17:16:24 2022 +0200 gccrs: session-manager: Add ast-pretty-expanded dump gcc/rust/ChangeLog: * rust-session-manager.cc (Session::compile_crate): Allow the dump of prettified AST (Session::dump_ast_pretty): New * rust-session-manager.h: Add new output file for pretty AST dump Diff: --- gcc/rust/rust-session-manager.cc | 10 ++++++++-- gcc/rust/rust-session-manager.h | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc index 2b33ddfa601..157f5099155 100644 --- a/gcc/rust/rust-session-manager.cc +++ b/gcc/rust/rust-session-manager.cc @@ -58,6 +58,7 @@ namespace Rust { const char *kLexDumpFile = "gccrs.lex.dump"; const char *kASTDumpFile = "gccrs.ast.dump"; const char *kASTPrettyDumpFile = "gccrs.ast-pretty.dump"; +const char *kASTPrettyDumpFileExpanded = "gccrs.ast-pretty-expanded.dump"; const char *kASTExpandedDumpFile = "gccrs.ast-expanded.dump"; const char *kHIRDumpFile = "gccrs.hir.dump"; const char *kHIRPrettyDumpFile = "gccrs.hir-pretty.dump"; @@ -531,6 +532,7 @@ Session::compile_crate (const char *filename) // dump AST with expanded stuff rust_debug ("BEGIN POST-EXPANSION AST DUMP"); dump_ast_expanded (parser, parsed_crate); + dump_ast_pretty (parsed_crate, true); rust_debug ("END POST-EXPANSION AST DUMP"); } @@ -832,10 +834,14 @@ Session::dump_ast (Parser &parser, AST::Crate &crate) const } void -Session::dump_ast_pretty (AST::Crate &crate) const +Session::dump_ast_pretty (AST::Crate &crate, bool expanded) const { std::ofstream out; - out.open (kASTPrettyDumpFile); + if (expanded) + out.open (kASTPrettyDumpFileExpanded); + else + out.open (kASTPrettyDumpFile); + if (out.fail ()) { rust_error_at (Linemap::unknown_location (), "cannot open %s:%m; ignored", diff --git a/gcc/rust/rust-session-manager.h b/gcc/rust/rust-session-manager.h index 055aea6b7e6..db915991809 100644 --- a/gcc/rust/rust-session-manager.h +++ b/gcc/rust/rust-session-manager.h @@ -319,7 +319,7 @@ private: void dump_lex (Parser &parser) const; void dump_ast (Parser &parser, AST::Crate &crate) const; - void dump_ast_pretty (AST::Crate &crate) const; + void dump_ast_pretty (AST::Crate &crate, bool expanded = false) const; void dump_ast_expanded (Parser &parser, AST::Crate &crate) const; void dump_hir (HIR::Crate &crate) const; void dump_hir_pretty (HIR::Crate &crate) const;