summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/switch-case-folding-2.cpp
blob: 558ca3c87d9ba5b108de551487fb4e5621a764d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm %s -o - | FileCheck %s
// CHECK that we don't crash.

extern int printf(const char*, ...);
int test(int val){
 switch (val) {
 case 4:
   do {
     switch (6) {
       case 6: do { case 5: printf("bad\n"); } while (0);
     };
   } while (0);
 }
 return 0;
}

int main(void) {
 return test(5);
}

void other_test() {
  switch(0) {
  case 0:
    do {
    default:;
    } while(0);
  }
}

// CHECK: call i32 (i8*, ...) @_Z6printfPKcz
OpenPOWER on IntegriCloud