OSDN Git Service

PR debug/49831
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 560715a..31c140d 100644 (file)
@@ -1,3 +1,149 @@
+2011-07-24  Richard Henderson  <rth@redhat.com>
+
+       PR debug/49831
+       * dwarf2cfi.c (connect_traces): Allow unvisited traces.  Skip
+       them entirely.
+
+2011-07-24  Richard Henderson  <rth@redhat.com>
+
+       PR debug/49825
+       * dwarf2cfi.c (dwarf2out_stack_adjust): Move A_O_A test earlier.
+       (dwarf2out_notice_stack_adjust): Use args_size from call_insn.
+
+2011-07-24  Richard Henderson  <rth@redhat.com>
+
+       PR debug/49827
+       * dwarf2cfi.c (create_trace_edges): Handle sequences properly.
+
+2011-07-24  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2cfi.c (maybe_record_trace_start): Add abnormal parameter.
+       Zero args_size for abnormal edges.  Adjust all callers.
+
+2011-07-24  Richard Henderson  <rth@redhat.com>
+
+       PR debug/49825
+       * dwarf2cfi.c (cfi_row_equal_p): Don't compare args_size.
+
+2011-07-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/49835
+       * collect2.c (demangle_flag): Removed.
+
+2011-07-24  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * configure.ac (demangler_in_ld): Default to yes.
+       * configure: Regenerated.
+       * collect2.c (main): When HAVE_LD_DEMANGLE is defined, don't
+       mess with COLLECT_NO_DEMANGLE, and just pass --demangle and
+       --no-demangle options straight through to ld.  When
+       HAVE_LD_DEMANGLE is not defined, set COLLECT_NO_DEMANGLE in a
+       way that has the intended effect on Windows.
+
+2011-07-23  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2cfi.c: Include basic-block.h.
+       (dw_label_info): Remove.
+       (trace_work_list, trace_index): New.
+       (remember_row, emit_cfa_remember): Remove.
+       (dw_trace_info_hash, dw_trace_info_eq): New.
+       (get_trace_index, get_trace_info): New.
+       (save_point_p): New.
+       (free_cfi_row): Remove.
+       (add_cfi): Do not emit DW_CFA_remember_state.
+       (cfa_row_equal_p): New.
+       (barrier_args_size): Remove.
+       (compute_barrier_args_size_1, compute_barrier_args_size): Remove.
+       (dwarf2out_notice_stack_adjust): Don't compute_barrier_args_size.
+       (maybe_record_trace_start, create_trace_edges, scan_trace): New.
+       (dwarf2out_cfi_begin_epilogue): Remove.
+       (dwarf2out_frame_debug_restore_state): Remove.
+       (connect_traces, create_pseudo_cfg): New.
+       (create_cfi_notes, execute_dwarf2_frame): Rewrite using traces.
+       * Makefile.in (dwarf2cfi.o): Update.
+
+2011-07-23  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2cfi.c (dw_trace_info): New.
+       (dw_label_info): New.
+       (cie_return_save): New.
+       (cur_trace): New.
+       (queued_args_size): Rename from args_size.  Update all users.
+       (cfa_store, cfa_temp, regs_saved_in_regs): Remove.
+       (def_cfa_1): Use cur_trace instead of cfa_*.
+       (dwarf2out_stack_adjust, record_reg_saved_in_reg): Likewise.
+       (clobbers_queued_reg_save, reg_saved_in): Likewise.
+       (dwarf2out_frame_debug_expr): Likewise.
+       (create_cie_data): Split out from ...
+       (execute_dwarf2_frame): ... here.  Initialize cur_trace.
+
+2011-07-23  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2cfi.c (regs_saved_in_regs): Allocate from heap, not gc.
+       Update all users to match.
+       (execute_dwarf2_frame): Free reg_saved_in_data.
+
+2011-07-23  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2cfi.c (queued_reg_save): Reorder for packing.  Don't GTY.
+       (queued_reg_saves): Don't GTY.  Change to a VEC.
+       (queue_reg_save): Update to match.
+       (dwarf2out_flush_queued_reg_saves): Likewise.
+       (clobbers_queued_reg_save): Likewise.
+       (reg_saved_in): Likewise.
+       (execute_dwarf2_frame): Free queued_reg_saves.
+
+2011-07-23  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2cfi.c (dw_cfi_row_ref): Remove.  Update all users.
+
+2011-07-23  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2cfi.c (add_cfi_args_size): Split out from...
+       (dwarf2out_args_size): ... here.
+       (add_cfi_restore): Split out from ...
+       (dwarf2out_frame_debug_cfa_restore): ... here.
+       (def_cfa_0): Split out from ...
+       (def_cfa_1): ... here.
+       (cfi_oprnd_equal_p, cfi_equal_p): New.
+       (change_cfi_row): New.
+       (add_cfis_to_fde): Set fde->dw_fde_switch_cfi_index.
+       (create_cfi_notes): Use change_cfi_row at SWITCH_TEXT note.
+       (output_cfis): Remove.
+       * dwarf2out.c (output_fde): Simplify output_cfi loop.
+       (dwarf2out_switch_text_section): Don't call output_cfis.
+       (dw_val_equal_p, loc_descr_equal_p_1, loc_descr_equal_p): New.
+       * dwarf2out.h: Update decls.
+       (enum dw_val_class): Add dw_val_class_none.
+
+2011-07-23  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2cfi.c (update_row_reg_save): New.
+       (dwarf2out_frame_debug_cfa_expression): Use it.
+       (dwarf2out_frame_debug_cfa_restore): Likewise.
+       (reg_save): Likewise.  Do not emit DW_CFA_same_value.
+
+2011-07-23  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2cfi.c (add_cfi_insn): Rename from cfi_insn.  Update all users.
+
+2011-07-23  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2cfi.c (dw_cfi_row, dw_cfi_row_ref): New.
+       (cie_cfi_row): New.
+       (new_cfi_row, copy_cfi_row, free_cfi_row): New.
+       (cfa, old_cfa, cfa_remember, old_cfa_remember, old_args_size): Remove.
+       (cur_row, remember_row): New.
+       (def_cfa_1): Use cur_row instead of the old_* variables.
+       (dwarf2out_frame_debug_restore_state): Similarly.
+       (dwarf2out_args_size, dwarf2out_notice_stack_adjust): Likewise.
+       (dwarf2out_frame_debug_def_cfa): Use a local variable instead of cfa.
+       (dwarf2out_frame_debug_adjust_cfa): Likewise.
+       (dwarf2out_frame_debug_cfa_offset): Likewise.
+       (dwarf2out_frame_debug_expr): Likewise.
+       (execute_dwarf2_frame): Set up cur_row.
+       * dwarf2out.h (struct cfa_loc): Mark for GTY.
+
 2011-07-23  Richard Henderson  <rth@redhat.com>
 
        * basic-block.h (EDGE_PRESERVE): New.