xref: /llvm-project/compiler-rt/test/asan/TestCases/Windows/integer_divide_by_zero.cpp (revision 3c1aa20c63548c77ddce3dabc7b25c7c7edccaac)
1*3c1aa20cSAlvin Wong // RUN: %clang_cl_asan %Od %s %Fe%t
2b5af5787SReid Kleckner // RUN: %env_asan_opts=handle_sigfpe=1 not %run %t 2>&1 | FileCheck %s
3b5af5787SReid Kleckner 
4b5af5787SReid Kleckner // Test the error output from dividing by zero.
5b5af5787SReid Kleckner 
6b5af5787SReid Kleckner #include <stdio.h>
7b5af5787SReid Kleckner 
main()8b5af5787SReid Kleckner int main() {
9b5af5787SReid Kleckner   puts("before ud2a");
10b5af5787SReid Kleckner   fflush(stdout);
11b5af5787SReid Kleckner   volatile int numerator = 1;
12b5af5787SReid Kleckner   volatile int divisor = 0;
13b5af5787SReid Kleckner   return numerator / divisor;
14b5af5787SReid Kleckner }
15b5af5787SReid Kleckner // CHECK: before ud2a
16b5af5787SReid Kleckner // CHECK: ERROR: AddressSanitizer: int-divide-by-zero on unknown address [[ADDR:0x[^ ]*]]
17b5af5787SReid Kleckner // CHECK-SAME: (pc [[ADDR]] {{.*}})
18b5af5787SReid Kleckner // CHECK-NEXT: #0 {{.*}} in main {{.*}}integer_divide_by_zero.cpp:{{.*}}
19