Specifically: - Disable int128 tests on Windows, as MSVC cl.exe does not support int128, so we might not have been able to build the runtime with int128 support. - XFAIL the vptr tests as we lack Microsoft ABI support. - XFAIL enum.cpp as UBSan fails to add the correct instrumentation code for some reason. - Modify certain tests that build executables multiple times to use unique names for each executable. This works around a race condition observed on Windows. - Implement IsAccessibleMemoryRange for Windows to fix the last misaligned.cpp test. - Introduce a substitution for testing crashes on Windows using KillTheDoctor. Differential Revision: http://reviews.llvm.org/D10864 llvm-svn: 241303
27 lines
500 B
C++
27 lines
500 B
C++
// RUN: %clangxx -fsanitize=undefined %s -o %t && %run %t 2>&1 | FileCheck %s
|
|
// Verify deduplication works by ensuring only one diag is emitted.
|
|
#include <limits.h>
|
|
#include <stdio.h>
|
|
|
|
void overflow() {
|
|
int i = INT_MIN;
|
|
--i;
|
|
}
|
|
|
|
int main() {
|
|
// CHECK: Start
|
|
fprintf(stderr, "Start\n");
|
|
fflush(stderr);
|
|
|
|
// CHECK: runtime error
|
|
// CHECK-NOT: runtime error
|
|
// CHECK-NOT: runtime error
|
|
overflow();
|
|
overflow();
|
|
overflow();
|
|
|
|
// CHECK: End
|
|
fprintf(stderr, "End\n");
|
|
return 0;
|
|
}
|