summaryrefslogtreecommitdiffstats
path: root/src/test/ui/asm/aarch64/may_unwind.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/asm/aarch64/may_unwind.rs')
-rw-r--r--src/test/ui/asm/aarch64/may_unwind.rs37
1 files changed, 0 insertions, 37 deletions
diff --git a/src/test/ui/asm/aarch64/may_unwind.rs b/src/test/ui/asm/aarch64/may_unwind.rs
deleted file mode 100644
index 6af8728bb..000000000
--- a/src/test/ui/asm/aarch64/may_unwind.rs
+++ /dev/null
@@ -1,37 +0,0 @@
-// only-aarch64
-// run-pass
-// needs-asm-support
-
-#![feature(asm_unwind)]
-
-use std::arch::asm;
-use std::panic::{catch_unwind, resume_unwind, AssertUnwindSafe};
-
-struct Foo<'a>(&'a mut bool);
-
-impl Drop for Foo<'_> {
- fn drop(&mut self) {
- *self.0 = false;
- }
-}
-
-extern "C" fn panicky() {
- resume_unwind(Box::new(()));
-}
-
-fn main() {
- let flag = &mut true;
- catch_unwind(AssertUnwindSafe(|| {
- let _foo = Foo(flag);
- unsafe {
- asm!(
- "bl {}",
- sym panicky,
- clobber_abi("C"),
- options(may_unwind)
- );
- }
- }))
- .expect_err("expected a panic");
- assert_eq!(*flag, false);
-}