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.
This commit is contained in:
Tom Tromey 2021-01-23 17:48:32 -07:00
parent c99d72de18
commit 9f7f6cb8d2
3 changed files with 15 additions and 7 deletions

View File

@ -1,3 +1,10 @@
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.
2021-01-23 Simon Marchi <simon.marchi@polymtl.ca>
* gdbtypes.c (copy_type_recursive): Use get_type_arch.

View File

@ -96,7 +96,8 @@ class compile_instance
/* 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);

View File

@ -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. */