diff options
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; } |