1// Regression test: __asan_handle_no_return should unpoison stack even with poison_heap=0.
2// Fails with debug checks: https://bugs.llvm.org/show_bug.cgi?id=46862
3// XFAIL: !compiler-rt-optimized
4// RUN: %clangxx_asan -O0 %s -o %t
5// RUN: %env_asan_opts=detect_stack_use_after_return=0:poison_heap=1 %run %t
6// RUN: %env_asan_opts=detect_stack_use_after_return=0:poison_heap=0 %run %t
7
8#include <sanitizer/asan_interface.h>
9
10int main(int argc, char **argv) {
11 int x[2];
12 int * volatile p = &x[0];
13 __asan_handle_no_return();
14 int volatile z = p[2];
15}
16

source code of compiler-rt/test/asan/TestCases/handle_noreturn_bug.cpp