brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · ebc8901 Raw
42 lines · cpp
1// RUN: %clangxx_min_runtime -fsanitize=signed-integer-overflow -fsanitize-recover=all %s -o %t && %run %t 2>&1 | FileCheck %s2 3#include <stdint.h>4 5#define OVERFLOW  \6  x = 0x7FFFFFFE; \7  x += __LINE__8 9int main() {10  int32_t x;11  OVERFLOW;  // CHECK: add-overflow12  OVERFLOW;  // CHECK: add-overflow13  OVERFLOW;  // CHECK: add-overflow14  OVERFLOW;  // CHECK: add-overflow15  OVERFLOW;  // CHECK: add-overflow16 17  OVERFLOW;  // CHECK: add-overflow18  OVERFLOW;  // CHECK: add-overflow19  OVERFLOW;  // CHECK: add-overflow20  OVERFLOW;  // CHECK: add-overflow21  OVERFLOW;  // CHECK: add-overflow22 23  OVERFLOW;  // CHECK: add-overflow24  OVERFLOW;  // CHECK: add-overflow25  OVERFLOW;  // CHECK: add-overflow26  OVERFLOW;  // CHECK: add-overflow27  OVERFLOW;  // CHECK: add-overflow28 29  OVERFLOW;  // CHECK: add-overflow30  OVERFLOW;  // CHECK: add-overflow31  OVERFLOW;  // CHECK: add-overflow32  OVERFLOW;  // CHECK: add-overflow33  OVERFLOW;  // CHECK: add-overflow34 35  // CHECK-NOT: add-overflow36  OVERFLOW;  // CHECK: too many errors37  // CHECK-NOT: add-overflow38  OVERFLOW;39  OVERFLOW;40  OVERFLOW;41}42