diff options
author | jjasmine <tanghocle456@gmail.com> | 2024-05-31 16:09:40 -0700 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2025-03-17 16:35:44 +0100 |
commit | d7f480b7693d3d02bbd5d8bb9baaa54c1bf7feab (patch) | |
tree | 36218b2d2633dbd4f1c1e709374945c140c1262c /gcc/rust/checks/errors/rust-unsafe-checker.cc | |
parent | bfc249cc179ab1097598bcc5baa726768f5c39c0 (diff) | |
download | gcc-d7f480b7693d3d02bbd5d8bb9baaa54c1bf7feab.zip gcc-d7f480b7693d3d02bbd5d8bb9baaa54c1bf7feab.tar.gz gcc-d7f480b7693d3d02bbd5d8bb9baaa54c1bf7feab.tar.bz2 |
gccrs: Partial unsafe support for inline asm
gcc/rust/ChangeLog:
* checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit):
Partial unsafe support for inline asm
* checks/errors/rust-unsafe-checker.h: Likewise.
* hir/tree/rust-hir-expr.h: Likewise.
* hir/tree/rust-hir.cc (InlineAsm::accept_vis): Likewise.
Diffstat (limited to 'gcc/rust/checks/errors/rust-unsafe-checker.cc')
-rw-r--r-- | gcc/rust/checks/errors/rust-unsafe-checker.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/rust/checks/errors/rust-unsafe-checker.cc b/gcc/rust/checks/errors/rust-unsafe-checker.cc index 8d986c7..c6ed922 100644 --- a/gcc/rust/checks/errors/rust-unsafe-checker.cc +++ b/gcc/rust/checks/errors/rust-unsafe-checker.cc @@ -637,6 +637,17 @@ UnsafeChecker::visit (AsyncBlockExpr &) } void +UnsafeChecker::visit (InlineAsm &expr) +{ + if (unsafe_context.is_in_context ()) + return; + + rust_error_at ( + expr.get_locus (), ErrorCode::E0133, + "use of inline assembly is unsafe and requires unsafe function or block"); +} + +void UnsafeChecker::visit (TypeParam &) {} |