gdb/
* value.c (value_contents_copy_raw): Extend describing comment. Assert that the destination contents we're overwriting are wholly available. * value.h (value_contents_copy): Extend describing comment.
This commit is contained in:
parent
cd24cfaa4f
commit
29976f3f7e
2 changed files with 32 additions and 11 deletions
|
@ -1,3 +1,11 @@
|
|||
2011-02-16 Pedro Alves <pedro@codesourcery.com>
|
||||
Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* value.c (value_contents_copy_raw): Extend describing comment.
|
||||
Assert that the destination contents we're overwriting are wholly
|
||||
available.
|
||||
* value.h (value_contents_copy): Extend describing comment.
|
||||
|
||||
2011-02-16 Pedro Alves <pedro@codesourcery.com>
|
||||
Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
|
|
35
gdb/value.c
35
gdb/value.c
|
@ -844,11 +844,15 @@ value_contents_all (struct value *value)
|
|||
return result;
|
||||
}
|
||||
|
||||
/* Copy LENGTH bytes of SRC value's contents starting at SRC_OFFSET,
|
||||
into DST value's contents, starting at DST_OFFSET. If unavailable
|
||||
contents are being copied from SRC, the corresponding DST contents
|
||||
are marked unavailable accordingly. Neither DST nor SRC may be
|
||||
lazy values. */
|
||||
/* Copy LENGTH bytes of SRC value's (all) contents
|
||||
(value_contents_all) starting at SRC_OFFSET, into DST value's (all)
|
||||
contents, starting at DST_OFFSET. If unavailable contents are
|
||||
being copied from SRC, the corresponding DST contents are marked
|
||||
unavailable accordingly. Neither DST nor SRC may be lazy
|
||||
values.
|
||||
|
||||
It is assumed the contents of DST in the [DST_OFFSET,
|
||||
DST_OFFSET+LENGTH) range are wholly available. */
|
||||
|
||||
void
|
||||
value_contents_copy_raw (struct value *dst, int dst_offset,
|
||||
|
@ -863,6 +867,11 @@ value_contents_copy_raw (struct value *dst, int dst_offset,
|
|||
mean we'd be copying garbage. */
|
||||
gdb_assert (!dst->lazy && !src->lazy);
|
||||
|
||||
/* The overwritten DST range gets unavailability ORed in, not
|
||||
replaced. Make sure to remember to implement replacing if it
|
||||
turns out actually necessary. */
|
||||
gdb_assert (value_bytes_available (dst, dst_offset, length));
|
||||
|
||||
/* Copy the data. */
|
||||
memcpy (value_contents_all_raw (dst) + dst_offset,
|
||||
value_contents_all_raw (src) + src_offset,
|
||||
|
@ -883,12 +892,16 @@ value_contents_copy_raw (struct value *dst, int dst_offset,
|
|||
}
|
||||
}
|
||||
|
||||
/* Copy LENGTH bytes of SRC value's contents starting at SRC_OFFSET
|
||||
byte, into DST value's contents, starting at DST_OFFSET. If
|
||||
unavailable contents are being copied from SRC, the corresponding
|
||||
DST contents are marked unavailable accordingly. DST must not be
|
||||
lazy. If SRC is lazy, it will be fetched now. If SRC is not valid
|
||||
(is optimized out), an error is thrown. */
|
||||
/* Copy LENGTH bytes of SRC value's (all) contents
|
||||
(value_contents_all) starting at SRC_OFFSET byte, into DST value's
|
||||
(all) contents, starting at DST_OFFSET. If unavailable contents
|
||||
are being copied from SRC, the corresponding DST contents are
|
||||
marked unavailable accordingly. DST must not be lazy. If SRC is
|
||||
lazy, it will be fetched now. If SRC is not valid (is optimized
|
||||
out), an error is thrown.
|
||||
|
||||
It is assumed the contents of DST in the [DST_OFFSET,
|
||||
DST_OFFSET+LENGTH) range are wholly available. */
|
||||
|
||||
void
|
||||
value_contents_copy (struct value *dst, int dst_offset,
|
||||
|
|
Loading…
Reference in a new issue