aboutsummaryrefslogtreecommitdiff
path: root/gdb/ada-lang.c
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2008-01-02 12:03:06 +0000
committerJoel Brobecker <brobecker@gnat.com>2008-01-02 12:03:06 +0000
commit0a07e705b7ab3d2c4563f28feb7ebfa48b68974e (patch)
tree80230cf801daa86d185da74dbb47742af9b3bb14 /gdb/ada-lang.c
parentc4359f8d005c9b4eeb15ebd0681ac876e101a6aa (diff)
downloadgdb-0a07e705b7ab3d2c4563f28feb7ebfa48b68974e.zip
gdb-0a07e705b7ab3d2c4563f28feb7ebfa48b68974e.tar.gz
gdb-0a07e705b7ab3d2c4563f28feb7ebfa48b68974e.tar.bz2
* 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.
Diffstat (limited to 'gdb/ada-lang.c')
-rw-r--r--gdb/ada-lang.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index b3090a3..6db1126 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -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,