From ac8245fadcd28769e9bc2b7153da1512a37035a4 Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Sun, 17 Oct 2004 20:07:34 +0000 Subject: [PATCH] re PR middle-end/17925 (Gotos loses their locations) 2004-10-17 Andrew Pinski 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 --- gcc/ChangeLog | 6 ++++++ gcc/cfgexpand.c | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 811c61aadec..9bbb498018c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-10-17 Andrew Pinski + + 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. + 2004-10-17 Kazu Hirata * config/elfos.h, config/gofast.h, config/interix.h, diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index a04f3ae4231..df0c695b822 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; }