forked from OSchip/llvm-project
[ubsan] Stop cast-overflow.cpp test leaking undefined behaviour into the exit code.
Summary: ubsan was correctly catching the undefined behaviour but lit's shell was failing the test anyway because the exit code was non-zero as a result of the undefined behaviour. This fixes the test on a mips-linux-gnu target. Reviewers: samsonov Reviewed By: samsonov Subscribers: samsonov, llvm-commits, rsmith, sagar Differential Revision: http://reviews.llvm.org/D9155 llvm-svn: 235518
This commit is contained in:
parent
cab567873f
commit
7ea4cfcf83
|
@ -87,9 +87,11 @@ int main(int argc, char **argv) {
|
|||
static int test_int = MaxFloatRepresentableAsInt + 0x80;
|
||||
return 0;
|
||||
}
|
||||
case '1':
|
||||
case '1': {
|
||||
// CHECK-1: runtime error: value -2.14748{{.*}} is outside the range of representable values of type 'int'
|
||||
return MinFloatRepresentableAsInt - 0x100;
|
||||
static int test_int = MinFloatRepresentableAsInt - 0x100;
|
||||
return 0;
|
||||
}
|
||||
case '2': {
|
||||
// CHECK-2: runtime error: value -1 is outside the range of representable values of type 'unsigned int'
|
||||
volatile float f = -1.0;
|
||||
|
@ -107,9 +109,11 @@ int main(int argc, char **argv) {
|
|||
static int test_int = Inf;
|
||||
return 0;
|
||||
}
|
||||
case '5':
|
||||
case '5': {
|
||||
// CHECK-5: runtime error: value {{.*}} is outside the range of representable values of type 'int'
|
||||
return NaN;
|
||||
static int test_int = NaN;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Integer -> floating point overflow.
|
||||
case '6': {
|
||||
|
|
Loading…
Reference in New Issue