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