* dwarf2expr.c (execute_stack_op) <DW_OP_shr>: Unconditionally
authorTom Tromey <tromey@redhat.com>
Thu, 12 May 2011 19:32:47 +0000 (19:32 +0000)
committerTom Tromey <tromey@redhat.com>
Thu, 12 May 2011 19:32:47 +0000 (19:32 +0000)
cast left-hand-side to unsigned.

gdb/ChangeLog
gdb/dwarf2expr.c

index d0cf7f3..ab2ecde 100644 (file)
@@ -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.
index 226cb1d..0c0760b 100644 (file)
@@ -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));