diff options
Diffstat (limited to 'test/FrontendC/2002-03-14-BrokenPHINode.c')
-rw-r--r-- | test/FrontendC/2002-03-14-BrokenPHINode.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/FrontendC/2002-03-14-BrokenPHINode.c b/test/FrontendC/2002-03-14-BrokenPHINode.c new file mode 100644 index 0000000..16d9bc7 --- /dev/null +++ b/test/FrontendC/2002-03-14-BrokenPHINode.c @@ -0,0 +1,19 @@ +// RUN: %llvmgcc -S %s -o - | llvm-as -f -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; +} + |