diff options
Diffstat (limited to 'clang/test/CodeGenCXX/switch-case-folding-2.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/switch-case-folding-2.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/switch-case-folding-2.cpp b/clang/test/CodeGenCXX/switch-case-folding-2.cpp new file mode 100644 index 0000000..7c0283f --- /dev/null +++ b/clang/test/CodeGenCXX/switch-case-folding-2.cpp @@ -0,0 +1,21 @@ +// RUN: %clang_cc1 -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); +} + +// CHECK: call i32 (i8*, ...)* @_Z6printfPKcz |