about summary refs log tree commit diff
path: root/src/test/codegen/stack-probes-inline.rs
diff options
context:
space:
mode:
authorJosh Stone <jistone@redhat.com>2022-09-26 13:40:24 -0700
committerJosh Stone <jistone@redhat.com>2022-09-26 13:40:24 -0700
commitad8f519ed75ebaf12e2a2b56f2a580cfae87a75a (patch)
treed7b9f941cfea344dc6788a5a79d393980efd6db3 /src/test/codegen/stack-probes-inline.rs
parente1d7dec558d863fb76f98453088b36cb1a926d48 (diff)
downloadrust-ad8f519ed75ebaf12e2a2b56f2a580cfae87a75a.tar.gz
rust-ad8f519ed75ebaf12e2a2b56f2a580cfae87a75a.zip
Enable inline stack probes on PowerPC and SystemZ
Diffstat (limited to 'src/test/codegen/stack-probes-inline.rs')
-rw-r--r--src/test/codegen/stack-probes-inline.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/codegen/stack-probes-inline.rs b/src/test/codegen/stack-probes-inline.rs
new file mode 100644
index 00000000000..837a1610810
--- /dev/null
+++ b/src/test/codegen/stack-probes-inline.rs
@@ -0,0 +1,26 @@
+// Check the "probe-stack" attribute for targets with `StackProbeType::Inline`,
+// or `StackProbeType::InlineOrCall` when running on newer LLVM.
+
+// compile-flags: -C no-prepopulate-passes
+// revisions: powerpc powerpc64 powerpc64le s390x
+//[powerpc] compile-flags: --target powerpc-unknown-linux-gnu
+//[powerpc] needs-llvm-components: powerpc
+//[powerpc64] compile-flags: --target powerpc64-unknown-linux-gnu
+//[powerpc64] needs-llvm-components: powerpc
+//[powerpc64le] compile-flags: --target powerpc64le-unknown-linux-gnu
+//[powerpc64le] needs-llvm-components: powerpc
+//[s390x] compile-flags: --target s390x-unknown-linux-gnu
+//[s390x] needs-llvm-components: systemz
+
+#![crate_type = "rlib"]
+#![feature(no_core, lang_items)]
+#![no_core]
+
+#[lang = "sized"]
+trait Sized {}
+
+#[no_mangle]
+pub fn foo() {
+// CHECK: @foo() unnamed_addr #0
+// CHECK: attributes #0 = { {{.*}}"probe-stack"="inline-asm"{{.*}} }
+}