Remove cleanups from cp-support.c

This removes some cleanups from cp-support.c, using std::string.

gdb/ChangeLog
2017-09-29  Tom Tromey  <tom@tromey.com>

	* cp-support.c (gdb_demangle): Use std::string.
This commit is contained in:
Tom Tromey 2017-09-27 20:46:18 -06:00
parent 2003f3d839
commit 6ad94bc766
2 changed files with 14 additions and 15 deletions

View File

@ -1,3 +1,7 @@
2017-09-29 Tom Tromey <tom@tromey.com>
* cp-support.c (gdb_demangle): Use std::string.
2017-09-29 Tom Tromey <tom@tromey.com>
* stack.c (parse_frame_specification): Use std::string

View File

@ -1546,17 +1546,14 @@ gdb_demangle (const char *name, int options)
if (!error_reported)
{
char *short_msg, *long_msg;
struct cleanup *back_to;
std::string short_msg
= string_printf (_("unable to demangle '%s' "
"(demangler failed with signal %d)"),
name, crash_signal);
short_msg = xstrprintf (_("unable to demangle '%s' "
"(demangler failed with signal %d)"),
name, crash_signal);
back_to = make_cleanup (xfree, short_msg);
long_msg = xstrprintf ("%s:%d: %s: %s", __FILE__, __LINE__,
"demangler-warning", short_msg);
make_cleanup (xfree, long_msg);
std::string long_msg
= string_printf ("%s:%d: %s: %s", __FILE__, __LINE__,
"demangler-warning", short_msg.c_str ());
target_terminal::scoped_restore_terminal_state term_state;
target_terminal::ours_for_output ();
@ -1565,13 +1562,11 @@ gdb_demangle (const char *name, int options)
if (core_dump_allowed)
fprintf_unfiltered (gdb_stderr,
_("%s\nAttempting to dump core.\n"),
long_msg);
long_msg.c_str ());
else
warn_cant_dump_core (long_msg);
warn_cant_dump_core (long_msg.c_str ());
demangler_warning (__FILE__, __LINE__, "%s", short_msg);
do_cleanups (back_to);
demangler_warning (__FILE__, __LINE__, "%s", short_msg.c_str ());
error_reported = 1;
}