aboutsummaryrefslogtreecommitdiff
path: root/gdb/c-lang.h
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2021-02-05 07:17:11 -0700
committerTom Tromey <tom@tromey.com>2021-02-05 07:17:12 -0700
commitbdfea17ea9bbd9f92ad19a70d770af42473d9c07 (patch)
treecd14e3cb96c9123721ac6416a4b94d7682c65c93 /gdb/c-lang.h
parent1b30f42106cfd50ef1c020db2ca31f2fbe51ef8a (diff)
downloadbinutils-bdfea17ea9bbd9f92ad19a70d770af42473d9c07.zip
binutils-bdfea17ea9bbd9f92ad19a70d770af42473d9c07.tar.gz
binutils-bdfea17ea9bbd9f92ad19a70d770af42473d9c07.tar.bz2
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.
Diffstat (limited to 'gdb/c-lang.h')
-rw-r--r--gdb/c-lang.h18
1 files changed, 8 insertions, 10 deletions
diff --git a/gdb/c-lang.h b/gdb/c-lang.h
index 5dfd731..a488c04 100644
--- a/gdb/c-lang.h
+++ b/gdb/c-lang.h
@@ -147,21 +147,19 @@ extern bool c_is_string_type_p (struct type *type);
extern int c_textual_element_type (struct type *, char);
-/* Create a new instance of the C compiler and return it. The new
- compiler is owned by the caller and must be freed using the destroy
- method. This function never returns NULL, but rather throws an
- exception on failure. This is suitable for use as the
+/* Create a new instance of the C compiler and return it. This
+ function never returns NULL, but rather throws an exception on
+ failure. This is suitable for use as the
language_defn::get_compile_instance method. */
-extern compile_instance *c_get_compile_context (void);
+extern std::unique_ptr<compile_instance> c_get_compile_context ();
-/* Create a new instance of the C++ compiler and return it. The new
- compiler is owned by the caller and must be freed using the destroy
- method. This function never returns NULL, but rather throws an
- exception on failure. This is suitable for use as the
+/* Create a new instance of the C++ compiler and return it. This
+ function never returns NULL, but rather throws an exception on
+ failure. This is suitable for use as the
language_defn::get_compile_instance method. */
-extern compile_instance *cplus_get_compile_context ();
+extern std::unique_ptr<compile_instance> cplus_get_compile_context ();
/* This takes the user-supplied text and returns a new bit of code to
compile.