[gcc r15-8195] gccrs: Scaffolding HIRFullVisitor for inline asm
Arthur Cohen
cohenarthur@gcc.gnu.org
Mon Mar 17 15:44:47 GMT 2025
https://gcc.gnu.org/g:7039e95a67c062c413857db39b1850e2117d288c
commit r15-8195-g7039e95a67c062c413857db39b1850e2117d288c
Author: jjasmine <tanghocle456@gmail.com>
Date: Tue Jun 4 20:17:23 2024 -0700
gccrs: Scaffolding HIRFullVisitor for inline asm
gcc/rust/ChangeLog:
* ast/rust-ast-visitor.h:
Scaffolding HIRFullVisitor for inline asm
* ast/rust-ast.cc (InlineAsm::accept_vis): Likewise.
* hir/tree/rust-hir-visitor.h (RUST_HIR_VISITOR_H): Likewise.
* hir/tree/rust-hir.cc (InlineAsm::accept_vis): Likewise.
Diff:
---
gcc/rust/ast/rust-ast-visitor.h | 2 +-
gcc/rust/ast/rust-ast.cc | 1 +
gcc/rust/hir/tree/rust-hir-visitor.h | 2 ++
gcc/rust/hir/tree/rust-hir.cc | 9 +++++++--
4 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/gcc/rust/ast/rust-ast-visitor.h b/gcc/rust/ast/rust-ast-visitor.h
index 6c64d7194462..d91ef3da93e0 100644
--- a/gcc/rust/ast/rust-ast-visitor.h
+++ b/gcc/rust/ast/rust-ast-visitor.h
@@ -129,7 +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){};
+ virtual void visit (InlineAsm &expr) { rust_unreachable (); }
// 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 2ff2e1330373..9da908f3d7eb 100644
--- a/gcc/rust/ast/rust-ast.cc
+++ b/gcc/rust/ast/rust-ast.cc
@@ -4659,6 +4659,7 @@ AsyncBlockExpr::accept_vis (ASTVisitor &vis)
void
InlineAsm::accept_vis (ASTVisitor &vis)
{
+ rust_unreachable ();
vis.visit (*this);
}
diff --git a/gcc/rust/hir/tree/rust-hir-visitor.h b/gcc/rust/hir/tree/rust-hir-visitor.h
index 9adee3190acb..be1414905fa3 100644
--- a/gcc/rust/hir/tree/rust-hir-visitor.h
+++ b/gcc/rust/hir/tree/rust-hir-visitor.h
@@ -19,6 +19,7 @@
#ifndef RUST_HIR_VISITOR_H
#define RUST_HIR_VISITOR_H
+#include "rust-hir-expr.h"
#include "rust-hir-full-decls.h"
namespace Rust {
@@ -85,6 +86,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) {}
virtual void visit (TypeParam ¶m) = 0;
virtual void visit (ConstGenericParam ¶m) = 0;
virtual void visit (LifetimeWhereClauseItem &item) = 0;
diff --git a/gcc/rust/hir/tree/rust-hir.cc b/gcc/rust/hir/tree/rust-hir.cc
index 66c6240bfa5a..bcaf66edfb85 100644
--- a/gcc/rust/hir/tree/rust-hir.cc
+++ b/gcc/rust/hir/tree/rust-hir.cc
@@ -3772,11 +3772,16 @@ BorrowExpr::accept_vis (HIRFullVisitor &vis)
void
InlineAsm::accept_vis (HIRExpressionVisitor &vis)
-{}
+{
+ rust_unreachable ();
+}
void
InlineAsm::accept_vis (HIRFullVisitor &vis)
-{}
+{
+ rust_unreachable ();
+ vis.visit (*this);
+}
void
BorrowExpr::accept_vis (HIRExpressionVisitor &vis)
More information about the Gcc-cvs
mailing list