diff options
author | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-09-09 08:43:47 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-09-09 08:43:47 +0200 |
commit | c8a27c401821b4d29c28add396177637f9f381d5 (patch) | |
tree | 95afa643e40b04b8d3422e12829ab8707b957836 /include | |
parent | eed023ccd5bb3b3bc9690b79d18c645637527e43 (diff) | |
download | gcc-c8a27c401821b4d29c28add396177637f9f381d5.zip gcc-c8a27c401821b4d29c28add396177637f9f381d5.tar.gz gcc-c8a27c401821b4d29c28add396177637f9f381d5.tar.bz2 |
rtl.def (DEBUG_IMPLICIT_PTR): New rtl code.
* rtl.def (DEBUG_IMPLICIT_PTR): New rtl code.
* rtl.h (DEBUG_IMPLICIT_PTR_DECL): Define.
* rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle DEBUG_IMPLICIT_PTR.
* print-rtl.c (print_rtx): Likewise.
* cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
* cfgexpand.c (expand_debug_expr): Generate DEBUG_IMPLICIT_PTR
for ADDR_EXPR with non-addressable object.
* dwarf2out.c (enum dw_val_class): Add dw_val_class_decl_ref.
(struct dw_val_struct): Add v.val_decl_ref.
(dwarf_stack_op_name, output_loc_operands, output_loc_operands_raw):
Handle DW_OP_GNU_implicit_pointer.
(size_of_loc_descr): Likewise. Fix up DW_OP_call_ref size.
(get_ref_die_offset_label): New function.
(implicit_ptr_descriptor): New function.
(mem_loc_descriptor): Handle DEBUG_IMPLICIT_PTR.
(loc_descriptor): Likewise.
(gen_variable_die): Put even definitions into decl_die_table.
(resolve_addr_in_expr): Resolve still unresolved
DW_OP_GNU_implicit_pointer operands, if it can't be resolved
return false.
(dwarf2out_finish): Call output_location_lists after outputting
.debug_info and .debug_abbrev instead of before.
* dwarf2.h (DW_OP_GNU_implicit_pointer): New.
2010-09-09 Roland McGrath <roland@redhat.com>
* dwarf2out.c (DWARF_REF_SIZE): Define.
(size_of_loc_descr): Use it for DW_OP_call_ref.
From-SVN: r164050
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 4 | ||||
-rw-r--r-- | include/dwarf2.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index 3fc2fa5..ec24917 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2010-09-09 Jakub Jelinek <jakub@redhat.com> + + * dwarf2.h (DW_OP_GNU_implicit_pointer): New. + 2010-07-06 Ken Werner <ken.werner@de.ibm.com> * floatformat.h (floatformat_ieee_half_big): Add declaration. diff --git a/include/dwarf2.h b/include/dwarf2.h index 03c2581..fea23ad 100644 --- a/include/dwarf2.h +++ b/include/dwarf2.h @@ -622,6 +622,7 @@ enum dwarf_location_atom /* The following is for marking variables that are uninitialized. */ DW_OP_GNU_uninit = 0xf0, DW_OP_GNU_encoded_addr = 0xf1, + DW_OP_GNU_implicit_pointer = 0xf2, /* HP extensions. */ DW_OP_HP_unknown = 0xe0, /* Ouch, the same as GNU_push_tls_address. */ DW_OP_HP_is_value = 0xe1, |