#if !defined (VALUE_H)
#define VALUE_H 1
+struct regcache;
+
#include "doublest.h"
/*
list. */
struct value *next;
- /* ??? When is this used? */
- union
- {
- CORE_ADDR memaddr;
- char *myaddr;
- }
- substring_addr;
-
/* Register number if the value is from a register. Is not kept
if you take a field of a structure that is stored in a
register. Shouldn't it be? */
union
{
long contents[1];
- double force_double_align;
- LONGEST force_longlong_align;
- char *literal_data;
+ DOUBLEST force_doublest_align;
+ LONGEST force_longest_align;
+ CORE_ADDR force_core_addr_align;
+ void *force_pointer_align;
}
aligner;
/* Do not add any new members here -- contents above will trash them */
extern struct value *value_of_variable (struct symbol *var, struct block *b);
-extern struct value *value_of_register (int regnum);
+extern struct value *value_of_register (int regnum,
+ struct frame_info *frame);
extern int symbol_read_needs_frame (struct symbol *);
extern struct value *value_static_field (struct type *type, int fieldno);
extern struct fn_field *value_find_oload_method_list (struct value **, char *,
- int, int *, int *,
+ int, int *,
struct type **, int *);
extern int find_overload_match (struct type **arg_types, int nargs,
extern struct value *value_subscript (struct value *array, struct value *idx);
-extern struct value *value_from_vtable_info (struct value *arg,
- struct type *type);
-
extern struct value *value_being_returned (struct type *valtype,
- char *retbuf, int struct_return);
+ struct regcache *retbuf,
+ int struct_return);
extern struct value *value_in (struct value *element, struct value *set);