diff options
author | Arthur Cohen <arthur.cohen@embecosm.com> | 2022-08-11 17:16:24 +0200 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2022-08-25 12:00:45 +0200 |
commit | a9055d8294f28ae84023cc93ae8d8b14747a2d0c (patch) | |
tree | a78b71c36000744b2c44bac59306a4bd6cce6bbe /gcc | |
parent | b1ddbf1851aab77fd945046c73359b58e9c8383b (diff) | |
download | gcc-a9055d8294f28ae84023cc93ae8d8b14747a2d0c.zip gcc-a9055d8294f28ae84023cc93ae8d8b14747a2d0c.tar.gz gcc-a9055d8294f28ae84023cc93ae8d8b14747a2d0c.tar.bz2 |
session-manager: Add ast-pretty-expanded dump
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/rust-session-manager.cc | 10 | ||||
-rw-r--r-- | 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 6d7f1a8..fc66b69 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"; @@ -509,6 +510,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"); } @@ -810,10 +812,14 @@ Session::dump_ast (Parser<Lexer> &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 99dd107..b3724c5 100644 --- a/gcc/rust/rust-session-manager.h +++ b/gcc/rust/rust-session-manager.h @@ -319,7 +319,7 @@ private: void dump_lex (Parser<Lexer> &parser) const; void dump_ast (Parser<Lexer> &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<Lexer> &parser, AST::Crate &crate) const; void dump_hir (HIR::Crate &crate) const; void dump_hir_pretty (HIR::Crate &crate) const; |