about summary refs log tree commit diff
path: root/tests/codegen-llvm/force-frame-pointers.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen-llvm/force-frame-pointers.rs')
-rw-r--r--tests/codegen-llvm/force-frame-pointers.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/codegen-llvm/force-frame-pointers.rs b/tests/codegen-llvm/force-frame-pointers.rs
new file mode 100644
index 00000000000..88c918945d6
--- /dev/null
+++ b/tests/codegen-llvm/force-frame-pointers.rs
@@ -0,0 +1,18 @@
+//@ revisions: Always NonLeaf
+//@ [Always] compile-flags: -Cforce-frame-pointers=yes
+//@ [NonLeaf] compile-flags: -Cforce-frame-pointers=non-leaf
+//@ compile-flags: -Zunstable-options
+//@ compile-flags: -C no-prepopulate-passes -Copt-level=0
+//@ [NonLeaf] ignore-illumos
+//@ [NonLeaf] ignore-openbsd
+//@ [NonLeaf] ignore-x86
+//@ [NonLeaf] ignore-x86_64-apple-darwin
+//@ [NonLeaf] ignore-windows-gnu
+//@ [NonLeaf] ignore-thumb
+// result is platform-dependent based on platform's frame pointer settings
+
+#![crate_type = "lib"]
+
+// Always: attributes #{{.*}} "frame-pointer"="all"
+// NonLeaf: attributes #{{.*}} "frame-pointer"="non-leaf"
+pub fn foo() {}