]> git.proxmox.com Git - rustc.git/blame - tests/codegen/frame-pointer.rs
New upstream version 1.69.0+dfsg1
[rustc.git] / tests / codegen / frame-pointer.rs
CommitLineData
9c376795 1// compile-flags: --crate-type=rlib -Copt-level=0
136023e0
XL
2// revisions: aarch64-apple aarch64-linux force x64-apple x64-linux
3// [aarch64-apple] needs-llvm-components: aarch64
4// [aarch64-apple] compile-flags: --target=aarch64-apple-darwin
5// [aarch64-linux] needs-llvm-components: aarch64
6// [aarch64-linux] compile-flags: --target=aarch64-unknown-linux-gnu
7// [force] needs-llvm-components: x86
8// [force] compile-flags: --target=x86_64-unknown-linux-gnu -Cforce-frame-pointers=yes
9// [x64-apple] needs-llvm-components: x86
10// [x64-apple] compile-flags: --target=x86_64-apple-darwin
11// [x64-linux] needs-llvm-components: x86
12// [x64-linux] compile-flags: --target=x86_64-unknown-linux-gnu
13
14#![feature(no_core, lang_items)]
15#![no_core]
16#[lang="sized"]
17trait Sized { }
18#[lang="copy"]
19trait Copy { }
5e7ed085 20impl Copy for u32 {}
136023e0
XL
21
22
23// CHECK: define i32 @peach{{.*}}[[PEACH_ATTRS:\#[0-9]+]] {
24#[no_mangle]
25pub fn peach(x: u32) -> u32 {
26 x
27}
28
29// CHECK: attributes [[PEACH_ATTRS]] = {
30// x64-linux-NOT: {{.*}}"frame-pointer"{{.*}}
31// aarch64-linux-NOT: {{.*}}"frame-pointer"{{.*}}
32// x64-apple-SAME: {{.*}}"frame-pointer"="all"
33// force-SAME: {{.*}}"frame-pointer"="all"
34// aarch64-apple-SAME: {{.*}}"frame-pointer"="non-leaf"
35// CHECK-SAME: }