* ada-lang.c (value_from_contents_and_address): Move...

* value.c: ... here.
	* ada-lang.h (value_from_contents_and_address): Move
	declaration...
	* value.h: ... here.
This commit is contained in:
Tom Tromey 2008-11-24 23:21:16 +00:00
parent 4cab47abf7
commit 8acb6b92f9
5 changed files with 32 additions and 24 deletions

View File

@ -1,3 +1,11 @@
2008-11-24 Tom Tromey <tromey@redhat.com>
* ada-lang.c (value_from_contents_and_address): Move...
* value.c: ... here.
* ada-lang.h (value_from_contents_and_address): Move
declaration...
* value.h: ... here.
2008-11-24 Paul Pluzhnikov <ppluzhnikov@google.com>
* valprint.c (val_print_array_elements): Pass correct

View File

@ -465,26 +465,6 @@ is_suffix (const char *str, const char *suffix)
return (len1 >= len2 && strcmp (str + len1 - len2, suffix) == 0);
}
/* Create a value of type TYPE whose contents come from VALADDR, if it
is non-null, and whose memory address (in the inferior) is
ADDRESS. */
struct value *
value_from_contents_and_address (struct type *type,
const gdb_byte *valaddr,
CORE_ADDR address)
{
struct value *v = allocate_value (type);
if (valaddr == NULL)
set_value_lazy (v, 1);
else
memcpy (value_contents_raw (v), valaddr, TYPE_LENGTH (type));
VALUE_ADDRESS (v) = address;
if (address != 0)
VALUE_LVAL (v) = lval_memory;
return v;
}
/* The contents of value VAL, treated as a value of type TYPE. The
result is an lval in memory if VAL is. */

View File

@ -257,10 +257,6 @@ extern int ada_value_print (struct value *, struct ui_file *,
/* Defined in ada-lang.c */
extern struct value *value_from_contents_and_address (struct type *,
const gdb_byte *,
CORE_ADDR);
extern void ada_emit_char (int, struct ui_file *, int, int);
extern void ada_printchar (int, struct ui_file *);

View File

@ -1686,6 +1686,26 @@ value_from_string (char *ptr)
return val;
}
/* Create a value of type TYPE whose contents come from VALADDR, if it
is non-null, and whose memory address (in the inferior) is
ADDRESS. */
struct value *
value_from_contents_and_address (struct type *type,
const gdb_byte *valaddr,
CORE_ADDR address)
{
struct value *v = allocate_value (type);
if (valaddr == NULL)
set_value_lazy (v, 1);
else
memcpy (value_contents_raw (v), valaddr, TYPE_LENGTH (type));
VALUE_ADDRESS (v) = address;
if (address != 0)
VALUE_LVAL (v) = lval_memory;
return v;
}
struct value *
value_from_double (struct type *type, DOUBLEST num)
{

View File

@ -289,6 +289,10 @@ extern struct value *value_from_string (char *string);
extern struct value *value_at (struct type *type, CORE_ADDR addr);
extern struct value *value_at_lazy (struct type *type, CORE_ADDR addr);
extern struct value *value_from_contents_and_address (struct type *,
const gdb_byte *,
CORE_ADDR);
extern struct value *default_value_from_register (struct type *type,
int regnum,
struct frame_info *frame);