diff options
Diffstat (limited to 'clang/test/CodeGen/2002-03-14-BrokenPHINode.c')
-rw-r--r-- | clang/test/CodeGen/2002-03-14-BrokenPHINode.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/test/CodeGen/2002-03-14-BrokenPHINode.c b/clang/test/CodeGen/2002-03-14-BrokenPHINode.c new file mode 100644 index 0000000..eb05859 --- /dev/null +++ b/clang/test/CodeGen/2002-03-14-BrokenPHINode.c @@ -0,0 +1,19 @@ +// RUN: %clang_cc1 -emit-llvm %s -o /dev/null + +/* GCC was generating PHI nodes with an arity < #pred of the basic block the + * PHI node lived in. This was breaking LLVM because the number of entries + * in a PHI node must equal the number of predecessors for a basic block. + */ + +int trys(char *s, int x) +{ + int asa; + double Val; + int LLS; + if (x) { + asa = LLS + asa; + } else { + } + return asa+(int)Val; +} + |