[PATCH 3/4] compile: Constify some parameters

Jan Kratochvil
2015-03-26T20:57:49Z

gdb/ChangeLog
2015-03-26 Jan Kratochvil <jan.kratochvil@redhat.com>

* compile/compile.c (compile_to_object): Make the cmd_string parameter
const. Use new variables for the const compatibility.
(eval_compile_command): Make the cmd_string parameter const.
* compile/compile.h (eval_compile_command): Make the cmd_string
parameter const.
---
gdb/compile/compile.c | 15 +++++++++------
gdb/compile/compile.h | 3 ++-
2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/gdb/compile/compile.c b/gdb/compile/compile.c
index 7fe556d..7589f2a 100644
--- a/gdb/compile/compile.c
+++ b/gdb/compile/compile.c
@@ -415,11 +415,12 @@ print_callback (void *ignore, const char *message)
freeing both strings. */

static char *
-compile_to_object (struct command_line *cmd, char *cmd_string,
+compile_to_object (struct command_line *cmd, const char *cmd_string,
enum compile_i_scope_types scope,
char **source_filep)
{
char *code;
+ const char *input;
char *source_file, *object_file;
struct compile_instance *compiler;
struct cleanup *cleanup, *inner_cleanup;
@@ -459,6 +460,7 @@ compile_to_object (struct command_line *cmd, char *cmd_string,
{
struct ui_file *stream = mem_fileopen ();
struct command_line *iter;
+ char *stream_buf;

make_cleanup_ui_file_delete (stream);
for (iter = cmd->body_list[0]; iter; iter = iter->next)
@@ -467,15 +469,16 @@ compile_to_object (struct command_line *cmd, char *cmd_string,
fputs_unfiltered ("\n", stream);
}

- code = ui_file_xstrdup (stream, NULL);
- make_cleanup (xfree, code);
+ stream_buf = ui_file_xstrdup (stream, NULL);
+ make_cleanup (xfree, stream_buf);
+ input = stream_buf;
}
else if (cmd_string != NULL)
- code = cmd_string;
+ input = cmd_string;
else
error (_("Neither a simple expression, or a multi-line specified."));

- code = current_language->la_compute_program (compiler, code, gdbarch,
+ code = current_language->la_compute_program (compiler, input, gdbarch,
expr_block, expr_pc);
make_cleanup (xfree, code);
if (compile_debug)
@@ -554,7 +557,7 @@ compile_command (char *args, int from_tty)
/* See compile.h. */

void
-eval_compile_command (struct command_line *cmd, char *cmd_string,
+eval_compile_command (struct command_line *cmd, const char *cmd_string,
enum compile_i_scope_types scope, void *scope_data)
{
char *object_file, *source_file;
diff --git a/gdb/compile/compile.h b/gdb/compile/compile.h
index 93c4786..a973167 100644
--- a/gdb/compile/compile.h
+++ b/gdb/compile/compile.h
@@ -28,7 +28,8 @@ struct dynamic_prop;
expression command. GDB returns either a CMD, or a CMD_STRING, but
never both. */

-extern void eval_compile_command (struct command_line *cmd, char *cmd_string,
+extern void eval_compile_command (struct command_line *cmd,
+ const char *cmd_string,
enum compile_i_scope_types scope,
void *scope_data);