On 10/03/2017 03:50 PM, Eli Zaretskii wrote:
From: Xavier Roirand <roirand@adacore.com>
I'm wondering whether it wouldn't be better to expand this section
of the manual:
@cindex breakpoint ranges
@cindex breakpoint lists
@cindex ranges of breakpoints
@cindex lists of breakpoints
Some @value{GDBN} commands accept a space-separated list of breakpoints
on which to operate. A list element can be either a single breakpoint number,
like @samp{5}, or a range of such numbers, like @samp{5-7}.
When a breakpoint list is given to a command, all breakpoints in that list
are operated on.
To describe locations as well. Similarly to how we describe
"thread ID lists", where we have:
@anchor{thread ID lists}
@cindex thread ID lists
Some commands accept a space-separated @dfn{thread ID list} as
argument. A list element can be:
@enumerate
@item
A thread ID as shown in the first field of the @samp{info threads}
display, with or without an inferior qualifier. E.g., @samp{2.1} or
@samp{1}.
@item
A range of thread numbers, again with or without an inferior
qualifier, as in @var{inf}.@var{thr1}-@var{thr2} or
@var{thr1}-@var{thr2}. E.g., @samp{1.2-4} or @samp{2-4}.
@item
All threads of an inferior, specified with a star wildcard, with or
without an inferior qualifier, as in @var{inf}.@code{*} (e.g.,
@samp{1.*}) or @code{*}. The former refers to all threads of the
given inferior, and the latter form without an inferior qualifier
refers to all threads of the current inferior.
@end enumerate
For example, if the current inferior is 1, and inferior 7 has one
thread with ID 7.1, the thread list @samp{1 2-3 4.5 6.7-9 7.*}
includes threads 1 to 3 of inferior 1, thread 5 of inferior 4, threads
7 to 9 of inferior 6 and all threads of inferior 7. That is, in
expanded qualified form, the same as @samp{1.1 1.2 1.3 4.5 6.7 6.8 6.9
7.1}.
Then commands that accept a thread ID list xref here.
We'd do the same to breakpoint commands, i.e., commands that take
an breakpoint/location list would xref the description of breakpoint
lists.
See commit 5d5658a1d3c3 ("Per-inferior/Inferior-qualified thread IDs")
for how that looked like before support for '*' ranges was added.
(And now I wonder whether it'd make sense to model the breakpoint
number parsing on a simplified version of the thread ID number
parsing. See gdb/tid-parse.h / tid_range_parser.)