diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/dwarf2cfi.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c7d02081bef..d2686a70022 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-01-10 Tom de Vries <tom@codesourcery.com> + + * dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when + handling annulled branch. + 2012-01-10 Richard Henderson <rth@redhat.com> * config/arm/arm.c (arm_vectorize_vec_perm_const_ok, diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c index b2721e88ef4..2e749550fc5 100644 --- a/gcc/dwarf2cfi.c +++ b/gcc/dwarf2cfi.c @@ -2439,10 +2439,12 @@ scan_trace (dw_trace_info *trace) if (INSN_FROM_TARGET_P (elt)) { HOST_WIDE_INT restore_args_size; + cfi_vec save_row_reg_save; add_cfi_insn = NULL; restore_args_size = cur_trace->end_true_args_size; cur_cfa = &cur_row->cfa; + save_row_reg_save = VEC_copy (dw_cfi_ref, gc, cur_row->reg_save); scan_insn_after (elt); @@ -2453,6 +2455,7 @@ scan_trace (dw_trace_info *trace) cur_trace->end_true_args_size = restore_args_size; cur_row->cfa = this_cfa; + cur_row->reg_save = save_row_reg_save; cur_cfa = &this_cfa; continue; } |