struct type;
struct ui_file;
struct language_defn;
+struct value_print_options;
/* The structure which defines the type of a value. It should never
be possible for a program lval value to survive over a call to the
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);
struct frame_info *frame);
extern struct value *allocate_value (struct type *type);
+extern struct value *allocate_value_lazy (struct type *type);
+extern void allocate_value_contents (struct value *value);
extern struct value *allocate_repeat_value (struct type *type, int count);
extern int destructor_name_p (const char *name, const struct type *type);
-#define value_free(val) xfree (val)
+extern void value_free (struct value *val);
extern void free_all_values (void);
extern void print_decimal_floating (const gdb_byte *valaddr, struct type *type,
struct ui_file *stream);
-extern int value_print (struct value *val, struct ui_file *stream, int format,
- enum val_prettyprint pretty);
+extern int value_print (struct value *val, struct ui_file *stream,
+ const struct value_print_options *options);
extern void value_print_array_elements (struct value *val,
struct ui_file *stream, int format,
extern int val_print (struct type *type, const gdb_byte *valaddr,
int embedded_offset, CORE_ADDR address,
- struct ui_file *stream, int format,
- int deref_ref, int recurse,
- enum val_prettyprint pretty,
+ struct ui_file *stream, int recurse,
+ const struct value_print_options *options,
const struct language_defn *language);
extern int common_val_print (struct value *val,
- struct ui_file *stream, int format,
- int deref_ref, int recurse,
- enum val_prettyprint pretty,
+ struct ui_file *stream, int recurse,
+ const struct value_print_options *options,
const struct language_defn *language);
extern int val_print_string (CORE_ADDR addr, int len, int width,
- struct ui_file *stream);
+ struct ui_file *stream,
+ const struct value_print_options *options);
extern void print_variable_value (struct symbol *var,
struct frame_info *frame,