gdb/
authorJan Kratochvil <jan.kratochvil@redhat.com>
Wed, 27 Jul 2011 19:31:30 +0000 (19:31 +0000)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Wed, 27 Jul 2011 19:31:30 +0000 (19:31 +0000)
2011-07-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
    Pedro Alves  <pedro@codesourcery.com>

* eval.c (evaluate_subexp_standard): Remove not_lval from all calls of
value_one.
* valops.c (value_one): Remove parameter lv.  Do not pass it to itself.
Assert the result kind.
* value.h (value_one): Remove parameter lv.

gdb/ChangeLog
gdb/eval.c
gdb/valops.c
gdb/value.h

index 27b5a33c5496f530026b4dfc264a81ec82e9df17..1320db8739f90ed8a16f7a05894ba59470f4db90 100644 (file)
@@ -1,3 +1,12 @@
+2011-07-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
+           Pedro Alves  <pedro@codesourcery.com>
+
+       * eval.c (evaluate_subexp_standard): Remove not_lval from all calls of
+       value_one.
+       * valops.c (value_one): Remove parameter lv.  Do not pass it to itself.
+       Assert the result kind.
+       * value.h (value_one): Remove parameter lv.
+
 2011-07-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
        Fix crash on lval_computed values.
index 57a871f11f9e3b7a086705846d3673794bafe5e7..c1c028011688594899f551b587940dc321bdd47b 100644 (file)
@@ -2198,7 +2198,7 @@ evaluate_subexp_standard (struct type *expect_type,
            {
              struct value *v_one, *retval;
 
-             v_one = value_one (value_type (arg2), not_lval);
+             v_one = value_one (value_type (arg2));
              binop_promote (exp->language_defn, exp->gdbarch, &arg1, &v_one);
              retval = value_binop (arg1, v_one, op);
              return retval;
@@ -2742,7 +2742,7 @@ evaluate_subexp_standard (struct type *expect_type,
            {
              struct value *tmp = arg1;
 
-             arg2 = value_one (value_type (arg1), not_lval);
+             arg2 = value_one (value_type (arg1));
              binop_promote (exp->language_defn, exp->gdbarch, &tmp, &arg2);
              arg2 = value_binop (tmp, arg2, BINOP_ADD);
            }
@@ -2766,7 +2766,7 @@ evaluate_subexp_standard (struct type *expect_type,
            {
              struct value *tmp = arg1;
 
-             arg2 = value_one (value_type (arg1), not_lval);
+             arg2 = value_one (value_type (arg1));
              binop_promote (exp->language_defn, exp->gdbarch, &tmp, &arg2);
              arg2 = value_binop (tmp, arg2, BINOP_SUB);
            }
@@ -2792,7 +2792,7 @@ evaluate_subexp_standard (struct type *expect_type,
            {
              struct value *tmp = arg1;
 
-             arg2 = value_one (value_type (arg1), not_lval);
+             arg2 = value_one (value_type (arg1));
              binop_promote (exp->language_defn, exp->gdbarch, &tmp, &arg2);
              arg2 = value_binop (tmp, arg2, BINOP_ADD);
            }
@@ -2819,7 +2819,7 @@ evaluate_subexp_standard (struct type *expect_type,
            {
              struct value *tmp = arg1;
 
-             arg2 = value_one (value_type (arg1), not_lval);
+             arg2 = value_one (value_type (arg1));
              binop_promote (exp->language_defn, exp->gdbarch, &tmp, &arg2);
              arg2 = value_binop (tmp, arg2, BINOP_SUB);
            }
index ee05d7316a072f39ad3368aa7694d40462256fc2..cd40c222d373c139ecf2a49d2c282ac4e2d8951e 100644 (file)
@@ -864,10 +864,10 @@ value_zero (struct type *type, enum lval_type lv)
   return val;
 }
 
-/* Create a value of numeric type TYPE that is one, and return it.  */
+/* Create a not_lval value of numeric type TYPE that is one, and return it.  */
 
 struct value *
-value_one (struct type *type, enum lval_type lv)
+value_one (struct type *type)
 {
   struct type *type1 = check_typedef (type);
   struct value *val;
@@ -901,7 +901,7 @@ value_one (struct type *type, enum lval_type lv)
       val = allocate_value (type);
       for (i = 0; i < high_bound - low_bound + 1; i++)
        {
-         tmp = value_one (eltype, lv);
+         tmp = value_one (eltype);
          memcpy (value_contents_writeable (val) + i * TYPE_LENGTH (eltype),
                  value_contents_all (tmp), TYPE_LENGTH (eltype));
        }
@@ -911,7 +911,9 @@ value_one (struct type *type, enum lval_type lv)
       error (_("Not a numeric type."));
     }
 
-  VALUE_LVAL (val) = lv;
+  /* value_one result is never used for assignments to.  */
+  gdb_assert (VALUE_LVAL (val) == not_lval);
+
   return val;
 }
 
index 3bcd839e237667bb050a578331f4ab68706c260d..960384ee21e6219adf63c37676459d8676496849 100644 (file)
@@ -615,7 +615,7 @@ extern struct value *value_dynamic_cast (struct type *type, struct value *arg);
 
 extern struct value *value_zero (struct type *type, enum lval_type lv);
 
-extern struct value *value_one (struct type *type, enum lval_type lv);
+extern struct value *value_one (struct type *type);
 
 extern struct value *value_repeat (struct value *arg1, int count);