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