aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorjjasmine <tanghocle456@gmail.com>2024-06-04 19:34:58 -0700
committerArthur Cohen <arthur.cohen@embecosm.com>2025-03-17 16:35:45 +0100
commitfe3dd57b568e333656cb332f1a8b3c0dea0df976 (patch)
tree1deee3d4f0e465959b3702e18ac5770e6660db97 /gcc
parentc3c045746ece1ccbfcd8d96c3b8ead99f08dd194 (diff)
downloadgcc-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')
-rw-r--r--gcc/rust/ast/rust-ast-visitor.h2
-rw-r--r--gcc/rust/ast/rust-ast.cc7
-rw-r--r--gcc/rust/ast/rust-expr.h2
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 &param) = 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; }