17c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian// RUN: %clang_cc1 %s -emit-llvm-only 27c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian// CHECK that we don't crash. 37c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian 47c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanianint test(int val){ 57c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian int x = 12; 67c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian // Make sure we don't crash when constant folding the case 4 77c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian // statement due to the case 5 statement contained in the do loop 87c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian switch (val) { 97c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian case 4: do { 107c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian switch (6) { 117c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian case 6: { 127c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian case 5: x++; 137c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian }; 147c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian }; 157c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian } while (x < 100); 167c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian } 177c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian return x; 187c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian} 197c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian 207c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanianint main(void) { 217c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian return test(4); 227c9719b1cdb85bb8824439acd5c7c8e511d3e7a0Fariborz Jahanian} 23