llvm/compiler-rt/test/asan/TestCases/Linux/new_delete_mismatch_stack.cpp

// Check that we report delete on a memory that belongs to a stack variable.

// RUN: %clangxx_asan -g %s -o %t && %env_asan_opts=alloc_dealloc_mismatch=1 not %run %t 2>&1 | FileCheck %s

#include <stdlib.h>

static volatile char *x;

int main() {
  char a[10];
  x = &a[0];
  delete x;
}

// CHECK: AddressSanitizer: attempting free on address which was not malloc()-ed
// CHECK: is located in stack of thread T0 at offset
// CHECK: 'a'{{.*}} <== Memory access at offset {{16|32}} is inside this variable