From 0906021c88e592af7a11341e28de87f0cfdce959 Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Sat, 17 Nov 2007 21:31:09 +0000 Subject: [PATCH] The then-part of an if-statement can be empty, too. [r18467] --- ast2firm.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/ast2firm.c b/ast2firm.c index 3391d0c..a51f5c7 100644 --- a/ast2firm.c +++ b/ast2firm.c @@ -1535,12 +1535,16 @@ static void if_statement_to_firm(if_statement_t *statement) ir_node *fallthrough_block = new_immBlock(); /* the true (blocks) */ - ir_node *true_block = new_immBlock(); - - statement_to_firm(statement->true_statement); - if(get_cur_block() != NULL) { - ir_node *jmp = new_Jmp(); - add_immBlock_pred(fallthrough_block, jmp); + ir_node *true_block; + if (statement->true_statement != NULL) { + true_block = new_immBlock(); + statement_to_firm(statement->true_statement); + if(get_cur_block() != NULL) { + ir_node *jmp = new_Jmp(); + add_immBlock_pred(fallthrough_block, jmp); + } + } else { + true_block = fallthrough_block; } /* the false (blocks) */ -- 2.20.1