+2017-01-10 Tom Tromey <tom@tromey.com>
+
+ * value.h (scoped_value_mark::~scoped_value_mark): Call
+ free_to_mark.
+ (scoped_value_mark::free_to_mark): New method.
+ * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use
+ scoped_value_mark.
+
+2017-01-10 Tom Tromey <tom@tromey.com>
+
+ * python/py-value.c (valpy_dereference, valpy_referenced_value)
+ (valpy_reference_value, valpy_const_value, valpy_get_address)
+ (valpy_get_dynamic_type, valpy_lazy_string, valpy_do_cast)
+ (valpy_getitem, valpy_call, valpy_binop_throw, valpy_negative)
+ (valpy_absolute, valpy_richcompare_throw): Use scoped_value_mark.
+ * dwarf2loc.c (dwarf2_loc_desc_get_symbol_read_needs): Use
+ scoped_value_mark.
+ * dwarf2-frame.c (execute_stack_op): Use scoped_value_mark.
+ * value.h (scoped_value_mark): New class.
+
+2017-01-10 Tom Tromey <tom@tromey.com>
+
+ * dwarf2read.c (dwarf2_build_psymtabs): Use psymtab_discarder.
+ * psympriv.h (make_cleanup_discard_psymtabs): Don't declare.
+ * psymtab.c (discard_psymtabs_upto): Remove.
+ (make_cleanup_discard_psymtabs): Remove.
+ (struct psymtab_state): Remove.
+
2017-01-10 Tom Tromey <tom@tromey.com>
* record-full.c (record_full_save_cleanups): Remove.