diff options
author | jjasmine <tanghocle456@gmail.com> | 2024-06-04 19:34:58 -0700 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2025-03-17 16:35:45 +0100 |
commit | fe3dd57b568e333656cb332f1a8b3c0dea0df976 (patch) | |
tree | 1deee3d4f0e465959b3702e18ac5770e6660db97 /gcc/rust/ast | |
parent | c3c045746ece1ccbfcd8d96c3b8ead99f08dd194 (diff) | |
download | gcc-fe3dd57b568e333656cb332f1a8b3c0dea0df976.zip gcc-fe3dd57b568e333656cb332f1a8b3c0dea0df976.tar.gz gcc-fe3dd57b568e333656cb332f1a8b3c0dea0df976.tar.bz2 |
gccrs: Scaffolding ast visitor for InlineAsm
gcc/rust/ChangeLog:
* ast/rust-ast-visitor.h:
Scaffolding ast visitor for InlineAsm
* ast/rust-ast.cc (InlineAsm::accept_vis): Likewise.
* ast/rust-expr.h: Likewise.
Diffstat (limited to 'gcc/rust/ast')
-rw-r--r-- | gcc/rust/ast/rust-ast-visitor.h | 2 | ||||
-rw-r--r-- | gcc/rust/ast/rust-ast.cc | 7 | ||||
-rw-r--r-- | gcc/rust/ast/rust-expr.h | 2 |
3 files changed, 10 insertions, 1 deletions
diff --git a/gcc/rust/ast/rust-ast-visitor.h b/gcc/rust/ast/rust-ast-visitor.h index 1d96304..6c64d71 100644 --- a/gcc/rust/ast/rust-ast-visitor.h +++ b/gcc/rust/ast/rust-ast-visitor.h @@ -23,6 +23,7 @@ // full include not required - only forward decls #include "rust-ast-full-decls.h" #include "rust-ast.h" +#include "rust-expr.h" #include "rust-item.h" #include "rust-system.h" @@ -128,6 +129,7 @@ public: virtual void visit (MatchExpr &expr) = 0; virtual void visit (AwaitExpr &expr) = 0; virtual void visit (AsyncBlockExpr &expr) = 0; + virtual void visit (InlineAsm &expr){}; // rust-item.h virtual void visit (TypeParam ¶m) = 0; diff --git a/gcc/rust/ast/rust-ast.cc b/gcc/rust/ast/rust-ast.cc index 38cb7cf..2ff2e13 100644 --- a/gcc/rust/ast/rust-ast.cc +++ b/gcc/rust/ast/rust-ast.cc @@ -21,6 +21,7 @@ along with GCC; see the file COPYING3. If not see #include "optional.h" #include "rust-builtin-ast-nodes.h" #include "rust-common.h" +#include "rust-expr.h" #include "rust-system.h" #include "rust-ast-full.h" #include "rust-diagnostics.h" @@ -4656,6 +4657,12 @@ AsyncBlockExpr::accept_vis (ASTVisitor &vis) } void +InlineAsm::accept_vis (ASTVisitor &vis) +{ + vis.visit (*this); +} + +void TypeParam::accept_vis (ASTVisitor &vis) { vis.visit (*this); diff --git a/gcc/rust/ast/rust-expr.h b/gcc/rust/ast/rust-expr.h index cc8c6ea..5f60ec7 100644 --- a/gcc/rust/ast/rust-expr.h +++ b/gcc/rust/ast/rust-expr.h @@ -4980,8 +4980,8 @@ public: InlineAsm (location_t locus, bool is_global_asm) : locus (locus), is_global_asm (is_global_asm) {} - void accept_vis (ASTVisitor &vis) override{}; + void accept_vis (ASTVisitor &vis) override; std::string as_string () const override { return "InlineAsm AST Node"; } location_t get_locus () const override { return locus; } |