2011-02-25 Michael Snyder <msnyder@vmware.com>
* inferior.c (print_inferior): Accept a string instead of an int for requested_inferiors, and use get_number_or_range to parse it. (info_inferiors_command): Pass args string to print_inferior. (initialize_inferiors): Change help string for info inferiors. * inferior.h (print_inferior): Export prototype change. 2011-02-25 Michael Snyder <msnyder@vmware.com> * gdb.multi/base.exp: Add tests for info inferiors with args.
This commit is contained in:
parent
093a6ec67f
commit
c82c0b55e7
|
@ -1,3 +1,11 @@
|
|||
2011-02-25 Michael Snyder <msnyder@vmware.com>
|
||||
|
||||
* inferior.c (print_inferior): Accept a string instead of an int
|
||||
for requested_inferiors, and use get_number_or_range to parse it.
|
||||
(info_inferiors_command): Pass args string to print_inferior.
|
||||
(initialize_inferiors): Change help string for info inferiors.
|
||||
* inferior.h (print_inferior): Export prototype change.
|
||||
|
||||
2011-02-25 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* common/ax.def (invalid2): Set to 0x31.
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#include "gdbcore.h"
|
||||
#include "symfile.h"
|
||||
#include "environ.h"
|
||||
#include "cli/cli-utils.h"
|
||||
|
||||
void _initialize_inferiors (void);
|
||||
|
||||
|
@ -533,10 +534,12 @@ number_of_inferiors (void)
|
|||
/* Prints the list of inferiors and their details on UIOUT. This is a
|
||||
version of 'info_inferior_command' suitable for use from MI.
|
||||
|
||||
If REQUESTED_INFERIOR is not -1, it's the GDB id of the inferior that
|
||||
should be printed. Otherwise, all inferiors are printed. */
|
||||
void
|
||||
print_inferior (struct ui_out *uiout, int requested_inferior)
|
||||
If REQUESTED_INFERIORS is not NULL, it's a list of GDB ids of the
|
||||
inferiors that should be printed. Otherwise, all inferiors are
|
||||
printed. */
|
||||
|
||||
static void
|
||||
print_inferior (struct ui_out *uiout, char *requested_inferiors)
|
||||
{
|
||||
struct inferior *inf;
|
||||
struct cleanup *old_chain;
|
||||
|
@ -545,7 +548,7 @@ print_inferior (struct ui_out *uiout, int requested_inferior)
|
|||
/* Compute number of inferiors we will print. */
|
||||
for (inf = inferior_list; inf; inf = inf->next)
|
||||
{
|
||||
if (requested_inferior != -1 && inf->num != requested_inferior)
|
||||
if (!number_is_in_list (requested_inferiors, inf->num))
|
||||
continue;
|
||||
|
||||
++inf_count;
|
||||
|
@ -569,7 +572,7 @@ print_inferior (struct ui_out *uiout, int requested_inferior)
|
|||
{
|
||||
struct cleanup *chain2;
|
||||
|
||||
if (requested_inferior != -1 && inf->num != requested_inferior)
|
||||
if (!number_is_in_list (requested_inferiors, inf->num))
|
||||
continue;
|
||||
|
||||
chain2 = make_cleanup_ui_out_tuple_begin_end (uiout, NULL);
|
||||
|
@ -726,16 +729,7 @@ inferior_command (char *args, int from_tty)
|
|||
static void
|
||||
info_inferiors_command (char *args, int from_tty)
|
||||
{
|
||||
int requested = -1;
|
||||
|
||||
if (args && *args)
|
||||
{
|
||||
requested = parse_and_eval_long (args);
|
||||
if (!valid_gdb_inferior_id (requested))
|
||||
error (_("Inferior ID %d not known."), requested);
|
||||
}
|
||||
|
||||
print_inferior (uiout, requested);
|
||||
print_inferior (uiout, args);
|
||||
}
|
||||
|
||||
/* remove-inferior ID */
|
||||
|
@ -1048,8 +1042,8 @@ initialize_inferiors (void)
|
|||
current_inferior_->pspace = current_program_space;
|
||||
current_inferior_->aspace = current_program_space->aspace;
|
||||
|
||||
add_info ("inferiors", info_inferiors_command,
|
||||
_("IDs of currently known inferiors."));
|
||||
add_info ("inferiors", info_inferiors_command,
|
||||
_("IDs of specified inferiors (all inferiors if no argument)."));
|
||||
|
||||
add_com ("add-inferior", no_class, add_inferior_command, _("\
|
||||
Add a new inferior.\n\
|
||||
|
|
|
@ -616,12 +616,6 @@ extern struct inferior *iterate_over_inferiors (int (*) (struct inferior *,
|
|||
void *),
|
||||
void *);
|
||||
|
||||
/* Prints the list of inferiors and their details on UIOUT.
|
||||
|
||||
If REQUESTED_INFERIOR is not -1, it's the GDB id of the inferior
|
||||
that should be printed. Otherwise, all inferiors are printed. */
|
||||
extern void print_inferior (struct ui_out *uiout, int requested_inferior);
|
||||
|
||||
/* Returns true if the inferior list is not empty. */
|
||||
extern int have_inferiors (void);
|
||||
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2011-02-25 Michael Snyder <msnyder@vmware.com>
|
||||
|
||||
* gdb.multi/base.exp: Add tests for info inferiors with args.
|
||||
|
||||
2011-02-25 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* gdb.dwarf2/dw2-ranges.S: Rename to ...
|
||||
|
|
|
@ -61,6 +61,60 @@ gdb_test "add-inferior -exec ${binfile3}" \
|
|||
gdb_test "info inferiors" \
|
||||
"Executable.*${exec3}.*${exec2}.*${exec1}.*"
|
||||
|
||||
# Test info inferiors with args
|
||||
|
||||
set see1 0
|
||||
set see2 0
|
||||
set see3 0
|
||||
|
||||
gdb_test_multiple "info inferior 2 3" "info inferior 2 3" {
|
||||
-re ". 3 \[^\r\n\]*${exec3}" {
|
||||
set see3 1
|
||||
exp_continue
|
||||
}
|
||||
-re ". 2 \[^\r\n\]*${exec2}" {
|
||||
set see2 1
|
||||
exp_continue
|
||||
}
|
||||
-re ". 1 \[^\r\n\]*${exec1}" {
|
||||
set see1 1
|
||||
exp_continue
|
||||
}
|
||||
-re "$gdb_prompt $" {
|
||||
if { !$see1 && $see2 && $see3 } then {
|
||||
pass "info inferior 2 3"
|
||||
} else {
|
||||
fail "info inferior 2 3"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
set see1 0
|
||||
set see2 0
|
||||
set see3 0
|
||||
|
||||
gdb_test_multiple "info inferior 1-2" "info inferior 1-2" {
|
||||
-re ". 3 \[^\r\n\]*${exec3}" {
|
||||
set see3 1
|
||||
exp_continue
|
||||
}
|
||||
-re ". 2 \[^\r\n\]*${exec2}" {
|
||||
set see2 1
|
||||
exp_continue
|
||||
}
|
||||
-re ". 1 \[^\r\n\]*${exec1}" {
|
||||
set see1 1
|
||||
exp_continue
|
||||
}
|
||||
-re "$gdb_prompt $" {
|
||||
if { $see1 && $see2 && !$see3 } then {
|
||||
pass "info inferior 1-2"
|
||||
} else {
|
||||
fail "info inferior 1-2"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Test that we have multiple symbol tables.
|
||||
|
||||
gdb_test "inferior 1" ".*" "switch to inferior 1"
|
||||
|
|
Loading…
Reference in New Issue