* varobj.c (update_dynamic_varobj_children): Don't use

value_copy.
	* value.h: (preserve_one_value): Declare.
	(value_prepend_to_list, value_remove_from_list): Remove.
	* value.c (preserve_one_value): No longer static.
	(preserve_values): Call preserve_python_values.
	(value_prepend_to_list): Remove.
	(value_remove_from_list): Remove.
	* python/python.h (values_in_python): Don't declare.
	(preserve_python_values): Declare.
	* python/python-value.c (values_in_python): Change type.  Move
	lower.  Now static.
	(struct value_object): Add struct tag.
	<next, prev>: New fields.
	(valpy_dealloc): Update.
	(note_value): New function.
	(valpy_new): Use value_incref, note_value.
	(preserve_python_values): New function.
	(valpy_positive): Don't use value_copy.
	(value_to_value_object): Use value_incref, note_value.
	(convert_value_from_python): Update comment.
This commit is contained in:
Tom Tromey
2009-08-13 18:39:20 +00:00
parent ecd0ada520
commit 4e7a5ef5a8
6 changed files with 90 additions and 65 deletions

View File

@@ -41,11 +41,6 @@ struct value_print_options;
struct value;
/* Needed if another module needs to maintain its own list of values. */
void value_prepend_to_list (struct value **head, struct value *val);
void value_remove_from_list (struct value **head, struct value *val);
/* Values are stored in a chain, so that they can be deleted easily
over calls to the inferior. Values assigned to internal variables,
put into the value history or exposed to Python are taken off this
@@ -664,6 +659,8 @@ extern void preserve_values (struct objfile *);
extern struct value *value_copy (struct value *);
extern void preserve_one_value (struct value *, struct objfile *, htab_t);
/* From valops.c */
extern struct value *varying_to_slice (struct value *);