]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Scaffolding ast visitor for InlineAsm
authorjjasmine <tanghocle456@gmail.com>
Wed, 5 Jun 2024 02:34:58 +0000 (19:34 -0700)
committerCohenArthur <arthur.cohen@embecosm.com>
Thu, 13 Jun 2024 15:31:07 +0000 (15:31 +0000)
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.

gcc/rust/ast/rust-ast-visitor.h
gcc/rust/ast/rust-ast.cc
gcc/rust/ast/rust-expr.h

index 2bc58d57a9c6336cd8122ae797e81905748629c6..6a2bb7a8aff677af6b12680ebdc5dbb719bec679 100644 (file)
@@ -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;
index 5dd8537aee6dd40ff84b82aca505428fc7fc25c9..2a173c4610df15efacd2b29818f9046f86450067 100644 (file)
@@ -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)
 {
index cc8c6ea03500d0192c5f92a16d283eb749ccd195..5f60ec79b583090a8a1f7f5fd220749633ea8503 100644 (file)
@@ -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; }