forked from Imagelibrary/binutils-gdb
gdb: have mi_out_new return std::unique_ptr
Have the mi_out_new function return a std::unique_ptr instead of a raw pointer. Update the two uses of mi_out_new. There should be no user visible changes after this commit. Approved-By: Tom Tromey <tom@tromey.com>
This commit is contained in:
@@ -95,7 +95,7 @@ mi_interp::init (bool top_level)
|
|||||||
mi->log = mi->err;
|
mi->log = mi->err;
|
||||||
mi->targ = new mi_console_file (mi->raw_stdout, "@", '"');
|
mi->targ = new mi_console_file (mi->raw_stdout, "@", '"');
|
||||||
mi->event_channel = new mi_console_file (mi->raw_stdout, "=", 0);
|
mi->event_channel = new mi_console_file (mi->raw_stdout, "=", 0);
|
||||||
mi->mi_uiout = mi_out_new (name ());
|
mi->mi_uiout = mi_out_new (name ()).release ();
|
||||||
gdb_assert (mi->mi_uiout != nullptr);
|
gdb_assert (mi->mi_uiout != nullptr);
|
||||||
mi->cli_uiout = new cli_ui_out (mi->out);
|
mi->cli_uiout = new cli_ui_out (mi->out);
|
||||||
|
|
||||||
|
|||||||
@@ -2206,7 +2206,7 @@ mi_load_progress (const char *section_name,
|
|||||||
which means uiout may not be correct. Fix it for the duration
|
which means uiout may not be correct. Fix it for the duration
|
||||||
of this function. */
|
of this function. */
|
||||||
|
|
||||||
std::unique_ptr<ui_out> uiout (mi_out_new (current_interpreter ()->name ()));
|
auto uiout = mi_out_new (current_interpreter ()->name ());
|
||||||
if (uiout == nullptr)
|
if (uiout == nullptr)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
@@ -336,17 +336,17 @@ mi_ui_out::~mi_ui_out ()
|
|||||||
|
|
||||||
/* See mi/mi-out.h. */
|
/* See mi/mi-out.h. */
|
||||||
|
|
||||||
mi_ui_out *
|
std::unique_ptr<mi_ui_out>
|
||||||
mi_out_new (const char *mi_version)
|
mi_out_new (const char *mi_version)
|
||||||
{
|
{
|
||||||
if (streq (mi_version, INTERP_MI4) || streq (mi_version, INTERP_MI))
|
if (streq (mi_version, INTERP_MI4) || streq (mi_version, INTERP_MI))
|
||||||
return new mi_ui_out (4);
|
return gdb::make_unique<mi_ui_out> (4);
|
||||||
|
|
||||||
if (streq (mi_version, INTERP_MI3))
|
if (streq (mi_version, INTERP_MI3))
|
||||||
return new mi_ui_out (3);
|
return gdb::make_unique<mi_ui_out> (3);
|
||||||
|
|
||||||
if (streq (mi_version, INTERP_MI2))
|
if (streq (mi_version, INTERP_MI2))
|
||||||
return new mi_ui_out (2);
|
return gdb::make_unique<mi_ui_out> (2);
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ private:
|
|||||||
to one of the INTERP_MI* constants (see interps.h).
|
to one of the INTERP_MI* constants (see interps.h).
|
||||||
|
|
||||||
Return nullptr if an invalid version is provided. */
|
Return nullptr if an invalid version is provided. */
|
||||||
mi_ui_out *mi_out_new (const char *mi_version);
|
std::unique_ptr<mi_ui_out> mi_out_new (const char *mi_version);
|
||||||
|
|
||||||
void mi_out_put (ui_out *uiout, struct ui_file *stream);
|
void mi_out_put (ui_out *uiout, struct ui_file *stream);
|
||||||
void mi_out_rewind (ui_out *uiout);
|
void mi_out_rewind (ui_out *uiout);
|
||||||
|
|||||||
Reference in New Issue
Block a user