1923099773fe4bbc52a25a5d3d92236b5e37cef93Ulrich Weigand// RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm %s -o - | FileCheck %s
2985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanian// CHECK that we don't crash.
3985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanian
4985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanianextern int printf(const char*, ...);
5985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanianint test(int val){
6985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanian switch (val) {
7985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanian case 4:
8985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanian   do {
9985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanian     switch (6) {
10985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanian       case 6: do { case 5: printf("bad\n"); } while (0);
11985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanian     };
12985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanian   } while (0);
13985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanian }
14985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanian return 0;
15985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanian}
16985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanian
17985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanianint main(void) {
18985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanian return test(5);
19985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanian}
20985df1c1f2d0666a09bc03f3593929286b0dea65Fariborz Jahanian
21303b4f946470a054cea8f91af54008aeb3c09507Fariborz Jahanian// CHECK: call i32 (i8*, ...)* @_Z6printfPKcz
22