1 // Check that UAR mode can handle very deep recusrion.
3 // RUN: %clangxx_asan -O2 %s -o %t
5 // RUN: %env_asan_opts=detect_stack_use_after_return=1 %run %t 2>&1 | FileCheck %s
7 // Also check that use_sigaltstack+verbosity doesn't crash.
8 // RUN: %env_asan_opts=verbosity=1:use_sigaltstack=1:detect_stack_use_after_return=1 %run %t | FileCheck %s
14 __attribute__((noinline
))
15 void RecursiveFunc(int depth
, int *ptr
) {
16 if ((depth
% 1000) == 0)
17 printf("[%05d] ptr: %p\n", depth
, ptr
);
21 RecursiveFunc(depth
- 1, &local
);
24 int main(int argc
, char **argv
) {
25 RecursiveFunc(15000, 0);
28 // CHECK: [15000] ptr:
29 // CHECK: [07000] ptr:
30 // CHECK: [00000] ptr: