https://gcc.gnu.org/g:fe3dd57b568e333656cb332f1a8b3c0dea0df976

commit r15-8194-gfe3dd57b568e333656cb332f1a8b3c0dea0df976
Author: jjasmine <tanghocle...@gmail.com>
Date:   Tue Jun 4 19:34:58 2024 -0700

    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.

Diff:
---
 gcc/rust/ast/rust-ast-visitor.h | 2 ++
 gcc/rust/ast/rust-ast.cc        | 7 +++++++
 gcc/rust/ast/rust-expr.h        | 2 +-
 3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/gcc/rust/ast/rust-ast-visitor.h b/gcc/rust/ast/rust-ast-visitor.h
index 1d96304f1880..6c64d7194462 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 &param) = 0;
diff --git a/gcc/rust/ast/rust-ast.cc b/gcc/rust/ast/rust-ast.cc
index 38cb7cfdc64d..2ff2e1330373 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"
@@ -4655,6 +4656,12 @@ AsyncBlockExpr::accept_vis (ASTVisitor &vis)
   vis.visit (*this);
 }
 
+void
+InlineAsm::accept_vis (ASTVisitor &vis)
+{
+  vis.visit (*this);
+}
+
 void
 TypeParam::accept_vis (ASTVisitor &vis)
 {
diff --git a/gcc/rust/ast/rust-expr.h b/gcc/rust/ast/rust-expr.h
index cc8c6ea03500..5f60ec79b583 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; }

Reply via email to