summaryrefslogtreecommitdiffstats
path: root/src/test/assembly/sparc-struct-abi.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/assembly/sparc-struct-abi.rs')
-rw-r--r--src/test/assembly/sparc-struct-abi.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/test/assembly/sparc-struct-abi.rs b/src/test/assembly/sparc-struct-abi.rs
index 6a898b297..6309dd420 100644
--- a/src/test/assembly/sparc-struct-abi.rs
+++ b/src/test/assembly/sparc-struct-abi.rs
@@ -44,12 +44,16 @@ pub unsafe extern "C" fn callee(arg: Franta) {
tst_use(arg.b);
tst_use(arg.c);
tst_use(arg.d);
+ tail_call_avoidance_fn();
}
extern "C" {
fn opaque_callee(arg: Franta, intarg: i32);
fn tst_use(arg: f32);
fn clobber();
+ // This exists so that post-https://reviews.llvm.org/D138741 LLVM doesn't
+ // tail-call away some of our assertions.
+ fn tail_call_avoidance_fn();
}
#[no_mangle]
@@ -62,4 +66,5 @@ pub unsafe extern "C" fn caller() {
// CHECK: call opaque_callee
// CHECK: mov 3, %o2
opaque_callee(Franta { a: 1.0, b: 2.0, c: 3.0, d: 4.0 }, 3);
+ tail_call_avoidance_fn();
}