21 lines
431 B
C
21 lines
431 B
C
// RUN: clang-cc -triple i386-unknown-unknown --emit-llvm-bc -o - %s | opt -std-compile-opts | llvm-dis > %t &&
|
|
// RUN: grep "ret i32 10" %t
|
|
|
|
// Ensure that this doesn't compile to infinite loop in g() due to
|
|
// miscompilation of fallthrough from default to a (tested) case
|
|
// range.
|
|
|
|
static int f0(unsigned x) {
|
|
switch(x) {
|
|
default:
|
|
x += 1;
|
|
case 10 ... 0xFFFFFFFF:
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
int g() {
|
|
f0(1);
|
|
return 10;
|
|
}
|