Clang Project

clang_source_code/test/CodeGenCXX/switch-case-folding-1.cpp
1// RUN: %clang_cc1 %s -emit-llvm-only
2// CHECK that we don't crash.
3
4int test(int val){
5 int x = 12;
6 // Make sure we don't crash when constant folding the case 4
7 // statement due to the case 5 statement contained in the do loop
8 switch (val) {
9 case 4: do { 
10                     switch (6)  {
11                       case 6: {
12                         case 5: x++;
13                       };
14                     };
15                } while (x < 100);
16 }
17 return x;
18}
19
20int main(void) {
21  return test(4);
22}
23