diff options
author | jjasmine <tanghocle456@gmail.com> | 2024-06-22 14:33:47 -0700 |
---|---|---|
committer | CohenArthur <arthur.cohen@embecosm.com> | 2024-09-02 09:44:55 +0000 |
commit | c3e69be4e6b44974f7eee2977778248723fec72e (patch) | |
tree | 8d07f7cff5a8ea0631be250efb15cd7d9d3bfd90 | |
parent | b088273a2caf5260e0d22c0b4ec2c7d1213c50ee (diff) | |
download | gcc-c3e69be4e6b44974f7eee2977778248723fec72e.zip gcc-c3e69be4e6b44974f7eee2977778248723fec72e.tar.gz gcc-c3e69be4e6b44974f7eee2977778248723fec72e.tar.bz2 |
Make sure CompileExpr::visit is reached
gcc/rust/ChangeLog:
* hir/tree/rust-hir.cc (InlineAsm::accept_vis):
Make sure CompileExpr::visit is reached
* typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
Likewise
gcc/testsuite/ChangeLog:
* rust/compile/inline_asm_compile_nop.rs: New test.
-rw-r--r-- | gcc/rust/hir/tree/rust-hir.cc | 4 | ||||
-rw-r--r-- | gcc/rust/typecheck/rust-hir-type-check-expr.cc | 4 | ||||
-rw-r--r-- | gcc/testsuite/rust/compile/inline_asm_compile_nop.rs | 12 |
3 files changed, 16 insertions, 4 deletions
diff --git a/gcc/rust/hir/tree/rust-hir.cc b/gcc/rust/hir/tree/rust-hir.cc index 797a7fb..d5ca95c 100644 --- a/gcc/rust/hir/tree/rust-hir.cc +++ b/gcc/rust/hir/tree/rust-hir.cc @@ -3833,7 +3833,9 @@ BorrowExpr::accept_vis (HIRFullVisitor &vis) void InlineAsm::accept_vis (HIRExpressionVisitor &vis) -{} +{ + vis.visit (*this); +} void InlineAsm::accept_vis (HIRFullVisitor &vis) diff --git a/gcc/rust/typecheck/rust-hir-type-check-expr.cc b/gcc/rust/typecheck/rust-hir-type-check-expr.cc index cd41f86..0ce5c78 100644 --- a/gcc/rust/typecheck/rust-hir-type-check-expr.cc +++ b/gcc/rust/typecheck/rust-hir-type-check-expr.cc @@ -777,9 +777,7 @@ TypeCheckExpr::visit (HIR::RangeToExpr &expr) void TypeCheckExpr::visit (HIR::InlineAsm &expr) -{ - return; -} +{} void TypeCheckExpr::visit (HIR::RangeFullExpr &expr) diff --git a/gcc/testsuite/rust/compile/inline_asm_compile_nop.rs b/gcc/testsuite/rust/compile/inline_asm_compile_nop.rs new file mode 100644 index 0000000..c49667c --- /dev/null +++ b/gcc/testsuite/rust/compile/inline_asm_compile_nop.rs @@ -0,0 +1,12 @@ +#![feature(rustc_attrs)] + +#[rustc_builtin_macro] +macro_rules! asm { + () => {} +} + +fn main() { + unsafe { + asm!("nop"); + } +}
\ No newline at end of file |