]> granicus.if.org Git - clang/commitdiff
Another test for 148243
authorFariborz Jahanian <fjahanian@apple.com>
Mon, 16 Jan 2012 18:22:26 +0000 (18:22 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Mon, 16 Jan 2012 18:22:26 +0000 (18:22 +0000)
non-constant-folded-switch containing a constant-folded switch.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148247 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGenCXX/switch-case-folding-1.cpp [new file with mode: 0644]

diff --git a/test/CodeGenCXX/switch-case-folding-1.cpp b/test/CodeGenCXX/switch-case-folding-1.cpp
new file mode 100644 (file)
index 0000000..1daeecf
--- /dev/null
@@ -0,0 +1,22 @@
+// RUN: %clang_cc1 %s -emit-llvm-only
+// CHECK that we don't crash.
+
+int test(int val){
+       int x = 12;
+       // Make sure we don't crash when constant folding the case 4
+       // statement due to the case 5 statement contained in the do loop
+       switch (val) {
+               case 4: do { 
+                     switch (6)  {
+                       case 6: {
+                         case 5: x++;
+                       };
+                     };
+                } while (x < 100);
+       }
+       return x;
+}
+
+int main(void) {
+  return test(4);
+}