aboutsummaryrefslogtreecommitdiff
path: root/gdb/compile
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2021-01-23 17:48:32 -0700
committerTom Tromey <tom@tromey.com>2021-01-23 17:48:48 -0700
commit9f7f6cb8d2cf1f356aab2a260baaa537de24d00b (patch)
tree816b55aeabd58ee8cb04a6a9feca901abfe49a7b /gdb/compile
parentc99d72de189600f1a8307416f8a8979924ba931b (diff)
downloadgdb-9f7f6cb8d2cf1f356aab2a260baaa537de24d00b.zip
gdb-9f7f6cb8d2cf1f356aab2a260baaa537de24d00b.tar.gz
gdb-9f7f6cb8d2cf1f356aab2a260baaa537de24d00b.tar.bz2
Remove call to reset from compile_to_object
compile_to_object declares 'error_message' and then immediately calls reset on it. It seemed better to change it to use initialization instead; and then I noticed that set_arguments could return a unique_xmalloc_ptr<char> itself. 2021-01-23 Tom Tromey <tom@tromey.com> * compile/compile-internal.h (class compile_instance) <set_arguments>: Change return type. * compile/compile.c (compile_to_object): Remove call to reset. (compile_instance::set_arguments): Change return type.
Diffstat (limited to 'gdb/compile')
-rw-r--r--gdb/compile/compile-internal.h3
-rw-r--r--gdb/compile/compile.c12
2 files changed, 8 insertions, 7 deletions
diff --git a/gdb/compile/compile-internal.h b/gdb/compile/compile-internal.h
index dbded02..49ddbd4 100644
--- a/gdb/compile/compile-internal.h
+++ b/gdb/compile/compile-internal.h
@@ -96,7 +96,8 @@ public:
/* Set compilation arguments. REGEXP is only used for protocol
version GCC_FE_VERSION_0. */
- char *set_arguments (int argc, char **argv, const char *regexp = NULL);
+ gdb::unique_xmalloc_ptr<char> set_arguments (int argc, char **argv,
+ const char *regexp = NULL);
/* Set the filename of the program to compile. Nop for GCC_FE_VERSION_0. */
void set_source_file (const char *filename);
diff --git a/gdb/compile/compile.c b/gdb/compile/compile.c
index 074a865..4e72adc 100644
--- a/gdb/compile/compile.c
+++ b/gdb/compile/compile.c
@@ -714,9 +714,8 @@ compile_to_object (struct command_line *cmd, const char *cmd_string,
int argc = argv_holder.count ();
char **argv = argv_holder.get ();
- gdb::unique_xmalloc_ptr<char> error_message;
- error_message.reset (compiler->set_arguments (argc, argv,
- triplet_rx.c_str ()));
+ gdb::unique_xmalloc_ptr<char> error_message
+ = compiler->set_arguments (argc, argv, triplet_rx.c_str ());
if (error_message != NULL)
error ("%s", error_message.get ());
@@ -882,13 +881,14 @@ compile_instance::set_triplet_regexp (const char *regexp)
/* See compile-internal.h. */
-char *
+gdb::unique_xmalloc_ptr<char>
compile_instance::set_arguments (int argc, char **argv, const char *regexp)
{
if (version () >= GCC_FE_VERSION_1)
- return FORWARD (set_arguments, argc, argv);
+ return gdb::unique_xmalloc_ptr<char> (FORWARD (set_arguments, argc, argv));
else
- return FORWARD (set_arguments_v0, regexp, argc, argv);
+ return gdb::unique_xmalloc_ptr<char> (FORWARD (set_arguments_v0, regexp,
+ argc, argv));
}
/* See compile-internal.h. */