diff options
author | Andrew Pinski <pinskia@physics.uc.edu> | 2004-10-17 20:07:34 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2004-10-17 13:07:34 -0700 |
commit | ac8245fadcd28769e9bc2b7153da1512a37035a4 (patch) | |
tree | 9699fe6eb2733693ff9dce702a35c7f42ea9cfba /gcc | |
parent | caec2cfc2703ff930fa23fa99762a94326db0c84 (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cfgexpand.c | 7 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 811c61a..9bbb498 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +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. + 2004-10-17 Kazu Hirata <kazu@cs.umass.edu> * config/elfos.h, config/gofast.h, config/interix.h, 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; } |