1*320e9af3SRoman Lebedev // RUN: %clangxx -fsanitize=implicit-integer-sign-change %s -o %t
2*320e9af3SRoman Lebedev // RUN: %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-NOTYPE
3*320e9af3SRoman Lebedev // RUN: %env_ubsan_opts=report_error_type=1 %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-TYPE
4*320e9af3SRoman Lebedev 
5*320e9af3SRoman Lebedev #include <stdint.h>
6*320e9af3SRoman Lebedev 
main()7*320e9af3SRoman Lebedev int main() {
8*320e9af3SRoman Lebedev   int32_t t0 = (~(uint32_t(0)));
9*320e9af3SRoman Lebedev   // CHECK-NOTYPE: SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior {{.*}}summary.cpp:[[@LINE-1]]:16
10*320e9af3SRoman Lebedev   // CHECK-TYPE: SUMMARY: UndefinedBehaviorSanitizer: implicit-integer-sign-change {{.*}}summary.cpp:[[@LINE-2]]:16
11*320e9af3SRoman Lebedev   return 0;
12*320e9af3SRoman Lebedev }
13