aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2004-11-21 19:52:13 +0000
committerDaniel Jacobowitz <drow@false.org>2004-11-21 19:52:13 +0000
commit65d3800afdbb924961d55980838aafe9c84962e6 (patch)
tree26be512028846f669f395ac7835a905e1c0c683c
parent2c4a536d5dea77889ddeeddd194758f34ce9dd8a (diff)
downloadgdb-65d3800afdbb924961d55980838aafe9c84962e6.zip
gdb-65d3800afdbb924961d55980838aafe9c84962e6.tar.gz
gdb-65d3800afdbb924961d55980838aafe9c84962e6.tar.bz2
* valarith.c (value_subscript): Copy VALUE_FRAME_ID.
(value_subscripted_rvalue): Likewise. * valops.c (search_struct_field, value_slice): Likewise.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/valarith.c2
-rw-r--r--gdb/valops.c2
3 files changed, 10 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1a525bc..834ed23 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2004-11-21 Daniel Jacobowitz <dan@debian.org>
+
+ * valarith.c (value_subscript): Copy VALUE_FRAME_ID.
+ (value_subscripted_rvalue): Likewise.
+ * valops.c (search_struct_field, value_slice): Likewise.
+
2004-11-21 Mark Kettenis <kettenis@gnu.org>
* inf-ptrace.c: Don't include "regcache.h" and "gdbcmd.h".
diff --git a/gdb/valarith.c b/gdb/valarith.c
index ea93ea1..00f20e1 100644
--- a/gdb/valarith.c
+++ b/gdb/valarith.c
@@ -239,6 +239,7 @@ value_subscript (struct value *array, struct value *idx)
if (VALUE_LVAL (array) == lval_internalvar)
VALUE_LVAL (v) = lval_internalvar_component;
VALUE_ADDRESS (v) = VALUE_ADDRESS (array);
+ VALUE_FRAME_ID (v) = VALUE_FRAME_ID (array);
v->offset = offset + value_offset (array);
return v;
}
@@ -278,6 +279,7 @@ value_subscripted_rvalue (struct value *array, struct value *idx, int lowerbound
VALUE_LVAL (v) = VALUE_LVAL (array);
VALUE_ADDRESS (v) = VALUE_ADDRESS (array);
VALUE_REGNUM (v) = VALUE_REGNUM (array);
+ VALUE_FRAME_ID (v) = VALUE_FRAME_ID (array);
v->offset = value_offset (array) + elt_offs;
return v;
}
diff --git a/gdb/valops.c b/gdb/valops.c
index fa63871..c708fac 100644
--- a/gdb/valops.c
+++ b/gdb/valops.c
@@ -1307,6 +1307,7 @@ search_struct_field (char *name, struct value *arg1, int offset,
{
VALUE_LVAL (v2) = VALUE_LVAL (arg1);
VALUE_ADDRESS (v2) = VALUE_ADDRESS (arg1);
+ VALUE_FRAME_ID (v2) = VALUE_FRAME_ID (arg1);
v2->offset = value_offset (arg1) + boffset;
if (VALUE_LAZY (arg1))
VALUE_LAZY (v2) = 1;
@@ -2768,6 +2769,7 @@ value_slice (struct value *array, int lowbound, int length)
else
VALUE_LVAL (slice) = VALUE_LVAL (array);
VALUE_ADDRESS (slice) = VALUE_ADDRESS (array);
+ VALUE_FRAME_ID (slice) = VALUE_FRAME_ID (array);
slice->offset = value_offset (array) + offset;
}
return slice;