dwarf2out.c (mem_loc_descriptor): Compare mode size instead of bitsize with DWARF2_ADDR_SIZE.
* dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare mode size instead of bitsize with DWARF2_ADDR_SIZE. (hash_loc_operands, compare_loc_operands): Handle DW_OP_GNU_entry_value. From-SVN: r171464
This commit is contained in:
parent
5ade176d5e
commit
21385db052
@ -1,3 +1,10 @@
|
||||
2011-03-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
|
||||
mode size instead of bitsize with DWARF2_ADDR_SIZE.
|
||||
(hash_loc_operands, compare_loc_operands): Handle
|
||||
DW_OP_GNU_entry_value.
|
||||
|
||||
2011-03-25 Kai Tietz <ktietz@redhat.com>
|
||||
|
||||
* config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
|
||||
|
@ -14314,8 +14314,8 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mode,
|
||||
&& ((unsigned) INTVAL (XEXP (rtl, 1))
|
||||
+ (unsigned) INTVAL (XEXP (rtl, 2))
|
||||
<= GET_MODE_BITSIZE (GET_MODE (rtl)))
|
||||
&& GET_MODE_BITSIZE (GET_MODE (rtl)) <= DWARF2_ADDR_SIZE
|
||||
&& GET_MODE_BITSIZE (GET_MODE (XEXP (rtl, 0))) <= DWARF2_ADDR_SIZE)
|
||||
&& GET_MODE_SIZE (GET_MODE (rtl)) <= DWARF2_ADDR_SIZE
|
||||
&& GET_MODE_SIZE (GET_MODE (XEXP (rtl, 0))) <= DWARF2_ADDR_SIZE)
|
||||
{
|
||||
int shift, size;
|
||||
op0 = mem_loc_descriptor (XEXP (rtl, 0), mode,
|
||||
@ -23128,6 +23128,9 @@ hash_loc_operands (dw_loc_descr_ref loc, hashval_t hash)
|
||||
case DW_OP_GNU_implicit_pointer:
|
||||
hash = iterative_hash_object (val2->v.val_int, hash);
|
||||
break;
|
||||
case DW_OP_GNU_entry_value:
|
||||
hash = hash_loc_operands (val1->v.val_loc, hash);
|
||||
break;
|
||||
|
||||
default:
|
||||
/* Other codes have no operands. */
|
||||
@ -23285,6 +23288,8 @@ compare_loc_operands (dw_loc_descr_ref x, dw_loc_descr_ref y)
|
||||
&& valx1->val_class == valy1->val_class
|
||||
&& valx1->v.val_die_ref.die == valy1->v.val_die_ref.die
|
||||
&& valx2->v.val_int == valy2->v.val_int;
|
||||
case DW_OP_GNU_entry_value:
|
||||
return compare_loc_operands (valx1->v.val_loc, valy1->v.val_loc);
|
||||
default:
|
||||
/* Other codes have no operands. */
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user