xref: /aosp_15_r20/external/compiler-rt/test/ubsan/TestCases/Integer/div-zero.cpp (revision 7c3d14c8b49c529e04be81a3ce6f5cc23712e4c6)
1*7c3d14c8STreehugger Robot // RUN: %clangxx -fsanitize=integer-divide-by-zero -DDIVIDEND=0 %s -o %t && %run %t 2>&1 | FileCheck %s
2*7c3d14c8STreehugger Robot // RUN: %clangxx -fsanitize=integer-divide-by-zero -DDIVIDEND=1U %s -o %t && %run %t 2>&1 | FileCheck %s
3*7c3d14c8STreehugger Robot // RUN: %clangxx -fsanitize=float-divide-by-zero -DDIVIDEND=1.5 %s -o %t && %run %t 2>&1 | FileCheck %s
4*7c3d14c8STreehugger Robot // RUN: %clangxx -fsanitize=integer-divide-by-zero -DDIVIDEND='intmax(123)' %s -o %t && %run %t 2>&1 | FileCheck %s
5*7c3d14c8STreehugger Robot 
6*7c3d14c8STreehugger Robot #if defined(__SIZEOF_INT128__) && !defined(_WIN32)
7*7c3d14c8STreehugger Robot typedef __int128 intmax;
8*7c3d14c8STreehugger Robot #else
9*7c3d14c8STreehugger Robot typedef long long intmax;
10*7c3d14c8STreehugger Robot #endif
11*7c3d14c8STreehugger Robot 
main()12*7c3d14c8STreehugger Robot int main() {
13*7c3d14c8STreehugger Robot   // CHECK: div-zero.cpp:[[@LINE+1]]:12: runtime error: division by zero
14*7c3d14c8STreehugger Robot   DIVIDEND / 0;
15*7c3d14c8STreehugger Robot }
16