gdb/
* cli/cli-decode.c (add_setshow_zuinteger_unlimited_cmd): New. Update comment to add_setshow_integer_cmd. * cli/cli-setshow.c (do_set_command): Handle case 'var_zuinteger_unlimited'. (do_show_command): Likewise. * cli/cli-cmds.c (init_cmds): Call add_setshow_zuinteger_unlimited_cmd for command 'remotetimeout'. * command.h (enum var_types): New zuinteger_unlimited. Update comment to var_integer. * source.c (_initialize_source): Call add_setshow_zuinteger_unlimited_cmd for command 'set listsize'. gdb/doc/ * gdb.texinfo (List): Describe the meaning of 0 and -1 in 'set listsize'. gdb/testsuite/ * gdb.base/list.exp (set_listsize): Don't set arg to "unlimited" when it is less than 0.
This commit is contained in:
parent
6acef6cd7b
commit
6fc1c7733e
10 changed files with 103 additions and 12 deletions
|
@ -1,3 +1,17 @@
|
||||||
|
2012-09-17 Yao Qi <yao@codesourcery.com>
|
||||||
|
|
||||||
|
* cli/cli-decode.c (add_setshow_zuinteger_unlimited_cmd): New.
|
||||||
|
Update comment to add_setshow_integer_cmd.
|
||||||
|
* cli/cli-setshow.c (do_set_command): Handle case
|
||||||
|
'var_zuinteger_unlimited'.
|
||||||
|
(do_show_command): Likewise.
|
||||||
|
* cli/cli-cmds.c (init_cmds): Call add_setshow_zuinteger_unlimited_cmd
|
||||||
|
for command 'remotetimeout'.
|
||||||
|
* command.h (enum var_types): New zuinteger_unlimited. Update comment
|
||||||
|
to var_integer.
|
||||||
|
* source.c (_initialize_source): Call add_setshow_zuinteger_unlimited_cmd
|
||||||
|
for command 'set listsize'.
|
||||||
|
|
||||||
2012-09-17 Siddhesh Poyarekar <siddhesh@redhat.com>
|
2012-09-17 Siddhesh Poyarekar <siddhesh@redhat.com>
|
||||||
|
|
||||||
* infrun.c (restore_infcall_suspend_state): Eliminate single-use
|
* infrun.c (restore_infcall_suspend_state): Eliminate single-use
|
||||||
|
|
|
@ -1826,7 +1826,8 @@ is displayed."),
|
||||||
show_remote_debug,
|
show_remote_debug,
|
||||||
&setdebuglist, &showdebuglist);
|
&setdebuglist, &showdebuglist);
|
||||||
|
|
||||||
add_setshow_integer_cmd ("remotetimeout", no_class, &remote_timeout, _("\
|
add_setshow_zuinteger_unlimited_cmd ("remotetimeout", no_class,
|
||||||
|
&remote_timeout, _("\
|
||||||
Set timeout limit to wait for target to respond."), _("\
|
Set timeout limit to wait for target to respond."), _("\
|
||||||
Show timeout limit to wait for target to respond."), _("\
|
Show timeout limit to wait for target to respond."), _("\
|
||||||
This value is used to set the time limit for gdb to wait for a response\n\
|
This value is used to set the time limit for gdb to wait for a response\n\
|
||||||
|
|
|
@ -632,7 +632,8 @@ add_setshow_optional_filename_cmd (char *name, enum command_class class,
|
||||||
/* Add element named NAME to both the set and show command LISTs (the
|
/* Add element named NAME to both the set and show command LISTs (the
|
||||||
list for set/show or some sublist thereof). CLASS is as in
|
list for set/show or some sublist thereof). CLASS is as in
|
||||||
add_cmd. VAR is address of the variable which will contain the
|
add_cmd. VAR is address of the variable which will contain the
|
||||||
value. SET_DOC and SHOW_DOC are the documentation strings. */
|
value. SET_DOC and SHOW_DOC are the documentation strings. This
|
||||||
|
function is only used in Python API. Please don't use it elsewhere. */
|
||||||
void
|
void
|
||||||
add_setshow_integer_cmd (char *name, enum command_class class,
|
add_setshow_integer_cmd (char *name, enum command_class class,
|
||||||
int *var,
|
int *var,
|
||||||
|
@ -692,6 +693,25 @@ add_setshow_zinteger_cmd (char *name, enum command_class class,
|
||||||
NULL, NULL);
|
NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
add_setshow_zuinteger_unlimited_cmd (char *name,
|
||||||
|
enum command_class class,
|
||||||
|
unsigned int *var,
|
||||||
|
const char *set_doc,
|
||||||
|
const char *show_doc,
|
||||||
|
const char *help_doc,
|
||||||
|
cmd_sfunc_ftype *set_func,
|
||||||
|
show_value_ftype *show_func,
|
||||||
|
struct cmd_list_element **set_list,
|
||||||
|
struct cmd_list_element **show_list)
|
||||||
|
{
|
||||||
|
add_setshow_cmd_full (name, class, var_zuinteger_unlimited, var,
|
||||||
|
set_doc, show_doc, help_doc,
|
||||||
|
set_func, show_func,
|
||||||
|
set_list, show_list,
|
||||||
|
NULL, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
/* Add element named NAME to both the set and show command LISTs (the
|
/* Add element named NAME to both the set and show command LISTs (the
|
||||||
list for set/show or some sublist thereof). CLASS is as in
|
list for set/show or some sublist thereof). CLASS is as in
|
||||||
add_cmd. VAR is address of the variable which will contain the
|
add_cmd. VAR is address of the variable which will contain the
|
||||||
|
|
|
@ -379,6 +379,26 @@ do_set_command (char *arg, int from_tty, struct cmd_list_element *c)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case var_zuinteger_unlimited:
|
||||||
|
{
|
||||||
|
LONGEST val;
|
||||||
|
|
||||||
|
if (arg == NULL)
|
||||||
|
error_no_arg (_("integer to set it to."));
|
||||||
|
val = parse_and_eval_long (arg);
|
||||||
|
|
||||||
|
if (val >= INT_MAX)
|
||||||
|
error (_("integer %s out of range"), plongest (val));
|
||||||
|
else if (val < -1)
|
||||||
|
error (_("only -1 is allowed to set as unlimited"));
|
||||||
|
|
||||||
|
if (*(int *) c->var != val)
|
||||||
|
{
|
||||||
|
*(int *) c->var = val;
|
||||||
|
option_changed = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
error (_("gdb internal error: bad var_type in do_setshow_command"));
|
error (_("gdb internal error: bad var_type in do_setshow_command"));
|
||||||
}
|
}
|
||||||
|
@ -478,6 +498,7 @@ do_set_command (char *arg, int from_tty, struct cmd_list_element *c)
|
||||||
break;
|
break;
|
||||||
case var_integer:
|
case var_integer:
|
||||||
case var_zinteger:
|
case var_zinteger:
|
||||||
|
case var_zuinteger_unlimited:
|
||||||
{
|
{
|
||||||
char s[64];
|
char s[64];
|
||||||
|
|
||||||
|
@ -562,7 +583,14 @@ do_show_command (char *arg, int from_tty, struct cmd_list_element *c)
|
||||||
else
|
else
|
||||||
fprintf_filtered (stb, "%d", *(int *) c->var);
|
fprintf_filtered (stb, "%d", *(int *) c->var);
|
||||||
break;
|
break;
|
||||||
|
case var_zuinteger_unlimited:
|
||||||
|
{
|
||||||
|
if (*(int *) c->var == -1)
|
||||||
|
fputs_filtered ("unlimited", stb);
|
||||||
|
else
|
||||||
|
fprintf_filtered (stb, "%u", *(int *) c->var);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
error (_("gdb internal error: bad var_type in do_show_command"));
|
error (_("gdb internal error: bad var_type in do_show_command"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,8 @@ typedef enum var_types
|
||||||
|
|
||||||
/* Like var_uinteger but signed. *VAR is an int. The user can
|
/* Like var_uinteger but signed. *VAR is an int. The user can
|
||||||
type 0 to mean "unlimited", which is stored in *VAR as
|
type 0 to mean "unlimited", which is stored in *VAR as
|
||||||
INT_MAX. */
|
INT_MAX. The only remaining use of it is the Python API.
|
||||||
|
Don't use it elsewhere. */
|
||||||
var_integer,
|
var_integer,
|
||||||
|
|
||||||
/* String which the user enters with escapes (e.g. the user types
|
/* String which the user enters with escapes (e.g. the user types
|
||||||
|
@ -99,6 +100,9 @@ typedef enum var_types
|
||||||
/* ZeroableUnsignedInteger. *VAR is an unsigned int. Zero really
|
/* ZeroableUnsignedInteger. *VAR is an unsigned int. Zero really
|
||||||
means zero. */
|
means zero. */
|
||||||
var_zuinteger,
|
var_zuinteger,
|
||||||
|
/* ZeroableUnsignedInteger with unlimited value. *VAR is an unsigned
|
||||||
|
int, but its range is [0, INT_MAX]. -1 stands for unlimited. */
|
||||||
|
var_zuinteger_unlimited,
|
||||||
/* Enumerated type. Can only have one of the specified values.
|
/* Enumerated type. Can only have one of the specified values.
|
||||||
*VAR is a char pointer to the name of the element that we
|
*VAR is a char pointer to the name of the element that we
|
||||||
find. */
|
find. */
|
||||||
|
@ -354,6 +358,18 @@ extern void add_setshow_zuinteger_cmd (char *name,
|
||||||
struct cmd_list_element **set_list,
|
struct cmd_list_element **set_list,
|
||||||
struct cmd_list_element **show_list);
|
struct cmd_list_element **show_list);
|
||||||
|
|
||||||
|
extern void
|
||||||
|
add_setshow_zuinteger_unlimited_cmd (char *name,
|
||||||
|
enum command_class class,
|
||||||
|
unsigned int *var,
|
||||||
|
const char *set_doc,
|
||||||
|
const char *show_doc,
|
||||||
|
const char *help_doc,
|
||||||
|
cmd_sfunc_ftype *set_func,
|
||||||
|
show_value_ftype *show_func,
|
||||||
|
struct cmd_list_element **set_list,
|
||||||
|
struct cmd_list_element **show_list);
|
||||||
|
|
||||||
/* Do a "show" command for each thing on a command list. */
|
/* Do a "show" command for each thing on a command list. */
|
||||||
|
|
||||||
extern void cmd_show_list (struct cmd_list_element *, int, char *);
|
extern void cmd_show_list (struct cmd_list_element *, int, char *);
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2012-09-17 Yao Qi <yao@codesourcery.com>
|
||||||
|
|
||||||
|
* gdb.texinfo (List): Describe the meaning of 0 and -1 in
|
||||||
|
'set listsize'.
|
||||||
|
|
||||||
2012-09-13 Jan Kratochvil <jan.kratochvil@redhat.com>
|
2012-09-13 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
Eli Zaretskii <eliz@gnu.org>
|
Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
|
|
@ -6706,6 +6706,8 @@ the @code{list} command. You can change this using @code{set listsize}:
|
||||||
@item set listsize @var{count}
|
@item set listsize @var{count}
|
||||||
Make the @code{list} command display @var{count} source lines (unless
|
Make the @code{list} command display @var{count} source lines (unless
|
||||||
the @code{list} argument explicitly specifies some other number).
|
the @code{list} argument explicitly specifies some other number).
|
||||||
|
Setting @var{count} to -1 means there's no limit and 0 means suppress
|
||||||
|
display of source lines.
|
||||||
|
|
||||||
@kindex show listsize
|
@kindex show listsize
|
||||||
@item show listsize
|
@item show listsize
|
||||||
|
|
|
@ -1965,11 +1965,11 @@ The matching line number is also stored as the value of \"$_\"."));
|
||||||
add_com_alias ("?", "reverse-search", class_files, 0);
|
add_com_alias ("?", "reverse-search", class_files, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
add_setshow_integer_cmd ("listsize", class_support, &lines_to_list, _("\
|
add_setshow_zuinteger_unlimited_cmd ("listsize", class_support,
|
||||||
|
&lines_to_list, _("\
|
||||||
Set number of source lines gdb will list by default."), _("\
|
Set number of source lines gdb will list by default."), _("\
|
||||||
Show number of source lines gdb will list by default."), NULL,
|
Show number of source lines gdb will list by default."), NULL,
|
||||||
NULL,
|
NULL, show_lines_to_list,
|
||||||
show_lines_to_list,
|
|
||||||
&setlist, &showlist);
|
&setlist, &showlist);
|
||||||
|
|
||||||
add_cmd ("substitute-path", class_files, set_substitute_path_command,
|
add_cmd ("substitute-path", class_files, set_substitute_path_command,
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2012-09-17 Yao Qi <yao@codesourcery.com>
|
||||||
|
|
||||||
|
* gdb.base/list.exp (set_listsize): Don't set arg to "unlimited"
|
||||||
|
when it is less than 0.
|
||||||
|
|
||||||
2012-09-17 Jan Kratochvil <jan.kratochvil@redhat.com>
|
2012-09-17 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
PR 14119
|
PR 14119
|
||||||
|
|
|
@ -62,7 +62,7 @@ proc set_listsize { arg } {
|
||||||
if [gdb_test "set listsize $arg" ".*" "setting listsize to $arg #$set_listsize_count"] {
|
if [gdb_test "set listsize $arg" ".*" "setting listsize to $arg #$set_listsize_count"] {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if { $arg <= 0 } {
|
if { $arg < 0 } {
|
||||||
set arg "unlimited";
|
set arg "unlimited";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue