OSDN Git Service

* ada-lang.c (ada_evaluate_subexp): Modify the value returned
authorJoel Brobecker <brobecker@gnat.com>
Wed, 2 Jan 2008 12:03:06 +0000 (12:03 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Wed, 2 Jan 2008 12:03:06 +0000 (12:03 +0000)
        when noside is EVAL_AVOID_SIDE_EFFECTS to be an lval_memory.
        This is needed to make sure that any other treatment applied
        to the resulting value does not fail for spurious reason,
        such as trying to take the address of this value.

gdb/ChangeLog
gdb/ada-lang.c

index e2784e8..e3b9714 100644 (file)
@@ -1,5 +1,13 @@
 2008-01-02  Joel Brobecker  <brobecker@adacore.com>
 
+       * ada-lang.c (ada_evaluate_subexp): Modify the value returned
+       when noside is EVAL_AVOID_SIDE_EFFECTS to be an lval_memory.
+       This is needed to make sure that any other treatment applied
+       to the resulting value does not fail for spurious reason,
+       such as trying to take the address of this value.
+
+2008-01-02  Joel Brobecker  <brobecker@adacore.com>
+
        * ada-lang.c (ada_value_equal): Dereference reference types when
        comparing arrays.
  
index b3090a3..6db1126 100644 (file)
@@ -8397,7 +8397,7 @@ ada_evaluate_subexp (struct type *expect_type, struct expression *exp,
             if (arity != nargs)
               error (_("wrong number of subscripts; expecting %d"), arity);
             if (noside == EVAL_AVOID_SIDE_EFFECTS)
-              return allocate_value (ada_aligned_type (type));
+              return value_zero (ada_aligned_type (type), lval_memory);
             return
               unwrap_value (ada_value_subscript
                             (argvec[0], nargs, argvec + 1));
@@ -8409,7 +8409,7 @@ ada_evaluate_subexp (struct type *expect_type, struct expression *exp,
               if (type == NULL)
                 error (_("element type of array unknown"));
               else
-                return allocate_value (ada_aligned_type (type));
+                return value_zero (ada_aligned_type (type), lval_memory);
             }
           return
             unwrap_value (ada_value_subscript
@@ -8423,7 +8423,7 @@ ada_evaluate_subexp (struct type *expect_type, struct expression *exp,
               if (type == NULL)
                 error (_("element type of array unknown"));
               else
-                return allocate_value (ada_aligned_type (type));
+                return value_zero (ada_aligned_type (type), lval_memory);
             }
           return
             unwrap_value (ada_value_ptr_subscript (argvec[0], type,