aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgexpand.c
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@physics.uc.edu>2004-10-17 20:07:34 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2004-10-17 13:07:34 -0700
commitac8245fadcd28769e9bc2b7153da1512a37035a4 (patch)
tree9699fe6eb2733693ff9dce702a35c7f42ea9cfba /gcc/cfgexpand.c
parentcaec2cfc2703ff930fa23fa99762a94326db0c84 (diff)
downloadgcc-ac8245fadcd28769e9bc2b7153da1512a37035a4.zip
gcc-ac8245fadcd28769e9bc2b7153da1512a37035a4.tar.gz
gcc-ac8245fadcd28769e9bc2b7153da1512a37035a4.tar.bz2
re PR middle-end/17925 (Gotos loses their locations)
2004-10-17 Andrew Pinski <pinskia@physics.uc.edu> PR middle-end/17925 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic block if there is a goto with a locus. From-SVN: r89182
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r--gcc/cfgexpand.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index a04f3ae..df0c695 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -886,6 +886,8 @@ expand_gimple_cond_expr (basic_block bb, tree stmt)
jumpif (pred, label_rtx (GOTO_DESTINATION (then_exp)));
add_reg_br_prob_note (dump_file, last, true_edge->probability);
maybe_dump_rtl_for_tree_stmt (stmt, last);
+ if (EXPR_LOCUS (then_exp))
+ emit_line_note (*(EXPR_LOCUS (then_exp)));
return NULL;
}
if (TREE_CODE (else_exp) == GOTO_EXPR && IS_EMPTY_STMT (then_exp))
@@ -893,6 +895,8 @@ expand_gimple_cond_expr (basic_block bb, tree stmt)
jumpifnot (pred, label_rtx (GOTO_DESTINATION (else_exp)));
add_reg_br_prob_note (dump_file, last, false_edge->probability);
maybe_dump_rtl_for_tree_stmt (stmt, last);
+ if (EXPR_LOCUS (else_exp))
+ emit_line_note (*(EXPR_LOCUS (else_exp)));
return NULL;
}
gcc_assert (TREE_CODE (then_exp) == GOTO_EXPR
@@ -922,6 +926,9 @@ expand_gimple_cond_expr (basic_block bb, tree stmt)
update_bb_for_insn (new_bb);
maybe_dump_rtl_for_tree_stmt (stmt, last2);
+
+ if (EXPR_LOCUS (else_exp))
+ emit_line_note (*(EXPR_LOCUS (else_exp)));
return new_bb;
}