blob: 257a9d7f8acdf78ec488dd52fd64d31448a7f4e3 [file] [log] [blame]
Daniel Dunbar8a90ac02009-11-29 09:33:10 +00001// RUN: clang-cc -triple i386-unknown-unknown -emit-llvm-bc -o - %s | opt -std-compile-opts | llvm-dis > %t
Daniel Dunbar16f23572008-07-25 01:11:38 +00002// RUN: grep "ret i32 10" %t
3
4// Ensure that this doesn't compile to infinite loop in g() due to
5// miscompilation of fallthrough from default to a (tested) case
6// range.
7
8static int f0(unsigned x) {
9 switch(x) {
10 default:
11 x += 1;
12 case 10 ... 0xFFFFFFFF:
13 return 0;
14 }
15}
16
17int g() {
18 f0(1);
19 return 10;
20}