https://gcc.gnu.org/g:7039e95a67c062c413857db39b1850e2117d288c
commit r15-8195-g7039e95a67c062c413857db39b1850e2117d288c Author: jjasmine <tanghocle...@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)