mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:45:56 +08:00
* ada-lang.c (ada_read_renaming_var_value): Pass const
pointer to expression string to parse_exp_1. (create_excep_cond_exprs): Likewise. * ax-gdb.c (agent_eval_command_one): Likewise. (maint_agent_printf_command): Likewise. Constify much of the string handling/parsing. * breakpoint.c (set_breakpoint_condition): Pass const pointer to expression string to parse_exp_1. (update_watchpoint): Likewise. (parse_cmd_to_aexpr): Constify string handling. Pass const pointer to parse_exp_1. (init_breakpoint_sal): Pass const pointer to parse_exp_1. (find_condition_and_thread): Likewise. Make TOK const. (watch_command_1): Make "arg" const. Constify string handling. Copy the expression string instead of changing the input string. (update_breakpoint_location): Pass const pointer to parse_exp_1. * eval.c (parse_and_eval_address): Make "exp" const. (parse_to_comma_and_eval): Make "expp" const. (parse_and_eval): Make "exp" const. * expression.h (parse_expression): Make argument const. (parse_exp_1): Make first argument const. * findcmd.c (parse_find_args): Treat "args" as const. * linespec.c (parse_linespec): Pass const pointer to linespec_expression_to_pc. (linespec_expression_to_pc): Make "exp_ptr" const. * parse.c (parse_exp_1): Make "stringptr" const. Make a copy of the expression to pass to parse_exp_in_context until this whole interface can be constified. (parse_expression): Make "string" const. * printcmd.c (ui_printf): Treat "arg" as const. Handle const strings. * tracepoint.c (validate_actionline): Pass const pointer to all calls to parse_exp_1. (encode_actions_1): Likewise. * value.h (parse_to_comma_and_eval): Make argument const. (parse_and_eval_address): Likewise. (parse_and_eval): Likewise. * varobj.c (varobj_create): Pass const pointer to parse_exp_1. (varobj_set_value): Likewise. * cli/cli-cmds.c (disassemble_command): Treat "arg" as const and constify string handling. Pass const pointers to parse_and_eval_address and parse_to_comman_and_eval. * cli/cli-utils.c (skip_to_space): Rename to ... (skip_to_space_const): ... this. Handle const strings. * cli/cli-utils.h (skip_to_space): Turn into macro which invokes skip_to_space_const. (skip_to_space_const): Declare. * common/format.c (parse_format_string): Make "arg" const. Handle const strings. * common/format.h (parse_format_string): Make "arg" const. * gdbserver/ax.c (ax_printf): Make "format" const. * python/python.c (gdbpy_parse_and_eval): Do not make a copy of the expression string.
This commit is contained in:
@ -1113,20 +1113,22 @@ disassemble_command (char *arg, int from_tty)
|
||||
const char *name;
|
||||
CORE_ADDR pc;
|
||||
int flags;
|
||||
const char *p;
|
||||
|
||||
p = arg;
|
||||
name = NULL;
|
||||
flags = 0;
|
||||
|
||||
if (arg && *arg == '/')
|
||||
if (p && *p == '/')
|
||||
{
|
||||
++arg;
|
||||
++p;
|
||||
|
||||
if (*arg == '\0')
|
||||
if (*p == '\0')
|
||||
error (_("Missing modifier."));
|
||||
|
||||
while (*arg && ! isspace (*arg))
|
||||
while (*p && ! isspace (*p))
|
||||
{
|
||||
switch (*arg++)
|
||||
switch (*p++)
|
||||
{
|
||||
case 'm':
|
||||
flags |= DISASSEMBLY_SOURCE;
|
||||
@ -1139,20 +1141,20 @@ disassemble_command (char *arg, int from_tty)
|
||||
}
|
||||
}
|
||||
|
||||
arg = skip_spaces (arg);
|
||||
p = skip_spaces_const (p);
|
||||
}
|
||||
|
||||
if (! arg || ! *arg)
|
||||
if (! p || ! *p)
|
||||
{
|
||||
flags |= DISASSEMBLY_OMIT_FNAME;
|
||||
disassemble_current_function (flags);
|
||||
return;
|
||||
}
|
||||
|
||||
pc = value_as_address (parse_to_comma_and_eval (&arg));
|
||||
if (arg[0] == ',')
|
||||
++arg;
|
||||
if (arg[0] == '\0')
|
||||
pc = value_as_address (parse_to_comma_and_eval (&p));
|
||||
if (p[0] == ',')
|
||||
++p;
|
||||
if (p[0] == '\0')
|
||||
{
|
||||
/* One argument. */
|
||||
if (find_pc_partial_function (pc, &name, &low, &high) == 0)
|
||||
@ -1172,13 +1174,13 @@ disassemble_command (char *arg, int from_tty)
|
||||
/* Two arguments. */
|
||||
int incl_flag = 0;
|
||||
low = pc;
|
||||
arg = skip_spaces (arg);
|
||||
if (arg[0] == '+')
|
||||
p = skip_spaces_const (p);
|
||||
if (p[0] == '+')
|
||||
{
|
||||
++arg;
|
||||
++p;
|
||||
incl_flag = 1;
|
||||
}
|
||||
high = parse_and_eval_address (arg);
|
||||
high = parse_and_eval_address (p);
|
||||
if (incl_flag)
|
||||
high += low;
|
||||
}
|
||||
|
@ -237,8 +237,8 @@ skip_spaces_const (const char *chp)
|
||||
|
||||
/* See documentation in cli-utils.h. */
|
||||
|
||||
char *
|
||||
skip_to_space (char *chp)
|
||||
const char *
|
||||
skip_to_space_const (const char *chp)
|
||||
{
|
||||
if (chp == NULL)
|
||||
return NULL;
|
||||
|
@ -101,7 +101,11 @@ extern const char *skip_spaces_const (const char *inp);
|
||||
/* Skip leading non-whitespace characters in INP, returning an updated
|
||||
pointer. If INP is NULL, return NULL. */
|
||||
|
||||
extern char *skip_to_space (char *inp);
|
||||
#define skip_to_space(INP) ((char *) skip_to_space_const (INP))
|
||||
|
||||
/* A const-correct version of the above. */
|
||||
|
||||
extern const char *skip_to_space_const (const char *inp);
|
||||
|
||||
/* Reverse S to the last non-whitespace character without skipping past
|
||||
START. */
|
||||
|
Reference in New Issue
Block a user