From: Andrew Pinski Date: Sun, 17 Oct 2004 20:07:34 +0000 (+0000) Subject: re PR middle-end/17925 (Gotos loses their locations) X-Git-Tag: releases/gcc-4.0.0~3969 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ac8245fadcd28769e9bc2b7153da1512a37035a4;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 811c61aadece..9bbb498018ca 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 a04f3ae42314..df0c695b8228 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; }