1*673dc3d4SNico Weber // RUN: %clangxx_asan -O0 %s -o %t
2*673dc3d4SNico Weber // RUN: not %run %t 2>&1 | FileCheck %s --check-prefix=SOURCE
3*673dc3d4SNico Weber // RUN: %env_asan_opts=symbolize=false not %run %t 2>&1 | FileCheck %s --check-prefix=MODULE
4*673dc3d4SNico Weber // RUN: %env_asan_opts=print_summary=false not %run %t 2>&1 | FileCheck %s --check-prefix=MISSING
5*673dc3d4SNico Weber
main()6*673dc3d4SNico Weber int main() {
7*673dc3d4SNico Weber char *x = new char[20];
8*673dc3d4SNico Weber delete[] x;
9*673dc3d4SNico Weber return x[0];
10*673dc3d4SNico Weber // SOURCE: ERROR: AddressSanitizer: heap-use-after-free
11*673dc3d4SNico Weber // SOURCE: SUMMARY: AddressSanitizer: heap-use-after-free {{.*}}print_summary.cpp:[[@LINE-2]]{{.*}} main
12*673dc3d4SNico Weber // MODULE: ERROR: AddressSanitizer: heap-use-after-free
13*673dc3d4SNico Weber // MODULE: SUMMARY: AddressSanitizer: heap-use-after-free ({{.*}}+0x{{.*}})
14*673dc3d4SNico Weber // MISSING: ERROR: AddressSanitizer: heap-use-after-free
15*673dc3d4SNico Weber // MISSING-NOT: SUMMARY
16*673dc3d4SNico Weber }
17