1 // Check that we report delete on a memory that belongs to a stack variable.
2 
3 // RUN: %clangxx_asan -g %s -o %t && %env_asan_opts=alloc_dealloc_mismatch=1 not %run %t 2>&1 | FileCheck %s
4 
5 #include <stdlib.h>
6 
7 static volatile char *x;
8 
main()9 int main() {
10   char a[10];
11   x = &a[0];
12   delete x;
13 }
14 
15 // CHECK: AddressSanitizer: attempting free on address which was not malloc()-ed
16 // CHECK: is located in stack of thread T0 at offset
17 // CHECK: 'a'{{.*}} <== Memory access at offset {{16|32}} is inside this variable
18