+2010-05-25 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
+ DW_OP_minus with negated offset instead of DW_OP_plus.
+ (loc_list_from_tree): Don't test whether second operand is
+ INTEGER_CST.
+
2010-05-25 Wei Guozhi <carrot@google.com>
* config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
else
{
- loc->dw_loc_next = int_loc_descriptor (offset);
- add_loc_descr (&loc->dw_loc_next, new_loc_descr (DW_OP_plus, 0, 0));
+ loc->dw_loc_next = int_loc_descriptor (-offset);
+ add_loc_descr (&loc->dw_loc_next, new_loc_descr (DW_OP_minus, 0, 0));
}
}
case POINTER_PLUS_EXPR:
case PLUS_EXPR:
- if (TREE_CODE (TREE_OPERAND (loc, 1)) == INTEGER_CST
- && host_integerp (TREE_OPERAND (loc, 1), 0))
+ if (host_integerp (TREE_OPERAND (loc, 1), 0))
{
list_ret = loc_list_from_tree (TREE_OPERAND (loc, 0), 0);
if (list_ret == 0)