1 | // RUN: %clang_cl_asan %Od %s %Fe%t |
---|---|
2 | // RUN: %env_asan_opts=handle_sigill=1 not %run %t 2>&1 | FileCheck %s |
3 | // msvc doesn't have a __builtin_trap equivalent |
4 | // XFAIL: msvc |
5 | |
6 | // Test the error output from an illegal instruction. |
7 | |
8 | #include <stdio.h> |
9 | |
10 | int main() { |
11 | puts(s: "before ud2a"); |
12 | fflush(stdout); |
13 | __builtin_trap(); |
14 | return 0; |
15 | } |
16 | // CHECK: before ud2a |
17 | // CHECK: ERROR: AddressSanitizer: illegal-instruction on unknown address [[ADDR:0x[^ ]*]] |
18 | // CHECK-SAME: (pc [[ADDR]] {{.*}}) |
19 | // CHECK-NEXT: #0 {{.*}} in main {{.*}}illegal_instruction.cpp:{{.*}} |
20 |