* 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

@ -22,8 +22,6 @@
#include "value.h"
extern struct value *values_in_python;
void eval_python_from_control_command (struct command_line *);
int apply_val_pretty_printer (struct type *type, const gdb_byte *valaddr,
@ -32,4 +30,6 @@ int apply_val_pretty_printer (struct type *type, const gdb_byte *valaddr,
const struct value_print_options *options,
const struct language_defn *language);
void preserve_python_values (struct objfile *objfile, htab_t copied_types);
#endif /* GDB_PYTHON_H */