]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: Scaffolding ast visitor for InlineAsm
authorjjasmine <tanghocle456@gmail.com>
Wed, 5 Jun 2024 02:34:58 +0000 (19:34 -0700)
committerArthur Cohen <arthur.cohen@embecosm.com>
Mon, 17 Mar 2025 15:35:45 +0000 (16:35 +0100)
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 1d96304f1880a90f0392c11c0ba071356ea71556..6c64d7194462d0cc06b7057da4088977677a5f6b 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 38cb7cfdc64d01cf9cc35f3f67d8c621b423e0ce..2ff2e133037327068c287fa0d148d9aa9b69a9a4 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; }