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 Klecknerint 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