/* Definitions for values of C expressions, for GDB.
- Copyright (C) 1986-2014 Free Software Foundation, Inc.
+ Copyright (C) 1986-2016 Free Software Foundation, Inc.
This file is part of GDB.
extern struct type *value_type (const struct value *);
+/* Return the gdbarch associated with the value. */
+
+extern struct gdbarch *get_value_arch (const struct value *value);
+
/* This is being used to change the type of an existing value, that
code should instead be creating a new value with the changed type
(but possibly shared content). */
extern const gdb_byte *
value_contents_for_printing_const (const struct value *value);
-extern int value_fetch_lazy (struct value *val);
+extern void value_fetch_lazy (struct value *val);
/* If nonzero, this is the value of a variable which does not actually
exist in the program, at least partially. If the value is lazy,
const struct value *val2, int offset2,
int length);
-/* Read LENGTH bytes of memory starting at MEMADDR into BUFFER, which
- is (or will be copied to) VAL's contents buffer offset by
+/* Read LENGTH addressable memory units starting at MEMADDR into BUFFER,
+ which is (or will be copied to) VAL's contents buffer offset by
EMBEDDED_OFFSET (that is, to &VAL->contents[EMBEDDED_OFFSET]).
Marks value contents ranges as unavailable if the corresponding
memory is likewise unavailable. STACK indicates whether the memory
extern int symbol_read_needs_frame (struct symbol *);
extern struct value *read_var_value (struct symbol *var,
+ const struct block *var_block,
struct frame_info *frame);
extern struct value *default_read_var_value (struct symbol *var,
+ const struct block *var_block,
struct frame_info *frame);
extern struct value *allocate_value (struct type *type);
extern void value_free_to_mark (struct value *mark);
-extern struct value *value_cstring (char *ptr, ssize_t len,
+extern struct value *value_cstring (const char *ptr, ssize_t len,
struct type *char_type);
-extern struct value *value_string (char *ptr, ssize_t len,
+extern struct value *value_string (const char *ptr, ssize_t len,
struct type *char_type);
extern struct value *value_array (int lowbound, int highbound,
extern struct value *value_non_lval (struct value *);
+extern void value_force_lval (struct value *, CORE_ADDR);
+
+extern struct value *make_cv_value (int, int, struct value *);
+
extern void preserve_one_value (struct value *, struct objfile *, htab_t);
/* From valops.c */
extern struct value *value_of_xmethod (struct xmethod_worker *);
-struct value *call_xmethod (struct value *function,
- int argc, struct value **argv);
+extern struct type *result_type_of_xmethod (struct value *method,
+ int argc, struct value **argv);
+
+extern struct value *call_xmethod (struct value *method,
+ int argc, struct value **argv);
#endif /* !defined (VALUE_H) */