summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/dwarf2expr.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index d0cf7f3a88b..ab2ecde4171 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2011-05-12 Tom Tromey <tromey@redhat.com>
+ * dwarf2expr.c (execute_stack_op) <DW_OP_shr>: Unconditionally
+ cast left-hand-side to unsigned.
+
+2011-05-12 Tom Tromey <tromey@redhat.com>
+
PR gdb/12617:
* value.h (value_from_contents): Declare.
* value.c (value_from_contents): New function.
diff --git a/gdb/dwarf2expr.c b/gdb/dwarf2expr.c
index 226cb1d9495..0c0760b038c 100644
--- a/gdb/dwarf2expr.c
+++ b/gdb/dwarf2expr.c
@@ -979,7 +979,7 @@ execute_stack_op (struct dwarf_expr_context *ctx,
case DW_OP_shr:
dwarf_require_integral (value_type (first));
dwarf_require_integral (value_type (second));
- if (value_type (first) == address_type)
+ if (!TYPE_UNSIGNED (value_type (first)))
{
struct type *utype
= get_unsigned_type (ctx->gdbarch, value_type (first));