Switching the low-level printing to use the value API means we will be
using more temporary values.  This adds a scoped_value_mark to
value_print, so that these intermediates are destroyed in a timely
way.
gdb/ChangeLog
2020-03-13  Tom Tromey  <tom@tromey.com>
	* valprint.c (value_print): Use scoped_value_mark.
+2020-03-13  Tom Tromey  <tom@tromey.com>
+
+       * valprint.c (value_print): Use scoped_value_mark.
+
 2020-03-13  Tom de Vries  <tdevries@suse.de>
 
        PR symtab/25646
 
 value_print (struct value *val, struct ui_file *stream,
             const struct value_print_options *options)
 {
+  scoped_value_mark free_values;
+
   if (!value_check_printable (val, stream, options))
     return;