test: avoid infinite loop in out-of-stack.rs
This fixes #13238. It avoids an infinite loop when compiling the tests with `-g`. Without this change, the debuginfo on `black_box` prevents the method from being inlined, which allows llvm to convert `silent_recurse` into a tail-call. This then loops forever instead of consuming all the stack like it is supposed to. This patch forces inlining `black_box`, which triggers the right error.
This commit is contained in:
parent
3961957bd6
commit
1b6997d069
@ -17,6 +17,9 @@ use std::os;
|
||||
use std::str;
|
||||
|
||||
// lifted from the test module
|
||||
// Inlining to avoid llvm turning the recursive functions into tail calls,
|
||||
// which doesn't consume stack.
|
||||
#[inline(always)]
|
||||
pub fn black_box<T>(dummy: T) { unsafe { asm!("" : : "r"(&dummy)) } }
|
||||
|
||||
fn silent_recurse() {
|
||||
|
Loading…
Reference in New Issue
Block a user