Return unique_ptr from language_defn::get_compile_context

This changes language_defn::get_compile_context to return a
unique_ptr.  This makes the ownership transfer clear.

gdb/ChangeLog
2021-02-05  Tom Tromey  <tom@tromey.com>

	* compile/compile-c-support.c (get_compile_context)
	(c_get_compile_context, cplus_get_compile_context): Change return
	type.
	* language.c (language_defn::get_compile_instance): New method.
	* language.h (language_defn::get_compile_instance): Change return
	type.  No longer inline.
	* c-lang.c (c_language::get_compile_instance): Change return type.
	(cplus_language::get_compile_instance): Change return type.
	* c-lang.h (c_get_compile_context, cplus_get_compile_context):
	Change return type.
	* compile/compile.c (compile_to_object): Update.
This commit is contained in:
Tom Tromey 2021-02-05 07:17:11 -07:00
parent 1b30f42106
commit bdfea17ea9
7 changed files with 47 additions and 31 deletions

View file

@ -36,8 +36,7 @@
#include <ctype.h>
#include "gdbcore.h"
#include "gdbarch.h"
class compile_instance;
#include "compile/compile-internal.h"
/* Given a C string type, STR_TYPE, return the corresponding target
character set name. */
@ -888,7 +887,7 @@ public:
}
/* See language.h. */
compile_instance *get_compile_instance () const override
std::unique_ptr<compile_instance> get_compile_instance () const override
{
return c_get_compile_context ();
}
@ -1021,7 +1020,7 @@ public:
}
/* See language.h. */
compile_instance *get_compile_instance () const override
std::unique_ptr<compile_instance> get_compile_instance () const override
{
return cplus_get_compile_context ();
}