1*b5af5787SReid Kleckner // RUN: %clang_cl_asan -Od %s -Fe%t
2*b5af5787SReid Kleckner // RUN: %env_asan_opts=handle_sigill=1 not %run %t 2>&1 | FileCheck %s
3*b5af5787SReid Kleckner 
4*b5af5787SReid Kleckner // Test the error output from a breakpoint. Assertion-like macros often end in
5*b5af5787SReid Kleckner // int3 on Windows.
6*b5af5787SReid Kleckner 
7*b5af5787SReid Kleckner #include <stdio.h>
8*b5af5787SReid Kleckner 
main()9*b5af5787SReid Kleckner int main() {
10*b5af5787SReid Kleckner   puts("before breakpoint");
11*b5af5787SReid Kleckner   fflush(stdout);
12*b5af5787SReid Kleckner   __debugbreak();
13*b5af5787SReid Kleckner   return 0;
14*b5af5787SReid Kleckner }
15*b5af5787SReid Kleckner // CHECK: before breakpoint
16*b5af5787SReid Kleckner // CHECK: ERROR: AddressSanitizer: breakpoint on unknown address [[ADDR:0x[^ ]*]]
17*b5af5787SReid Kleckner // CHECK-SAME: (pc [[ADDR]] {{.*}})
18*b5af5787SReid Kleckner // CHECK-NEXT: #0 {{.*}} in main {{.*}}breakpoint.cpp:{{.*}}
19