From: Doug Evans <xdje42@gmail.com>
To: Joel Brobecker <brobecker@adacore.com>
Cc: "Tedeschi, Walfred" <walfred.tedeschi@intel.com>,
Andreas Schwab <schwab@linux-m68k.org>,
"gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Subject: Re: RFC: "set" command with 2 arguments instead of one?
Date: Mon, 20 Apr 2015 05:44:00 -0000 [thread overview]
Message-ID: <CAP9bCMT-2YOZGZ1HRuVWFoL+at7MmTiOWSFS7mH8AcUZyx2Jdw@mail.gmail.com> (raw)
In-Reply-To: <20150414124920.GH4704@adacore.com>
On Tue, Apr 14, 2015 at 5:49 AM, Joel Brobecker <brobecker@adacore.com> wrote:
>> Sorry for the long delay here. Now I could come back to the patches again.
>>
>> Was there any outcome on that discussion. How do you think I could use
>> the multiple arguments?
>
> I don't remember any reply to the message you quote above, which
> summarizes my current thinking and position. As you indicate, it is
> a question of making a decision.
>
> Global Maintainers: What do you think? Let's make a decision so that
> Walfred can resume his work on this.
>
> Thanks!
Hi.
As a data point, regarding this comment:
"Commas also have a meaning in C, so arguably they could be used in
expressions as well."
note that parse_to_comma_and_eval handles parenthesized expressions,
so one *can* use commas in expressions. If they pose a problem to parsing
of the command then one can wrap that expression in parens.
E.g.,
(gdb) p $pc
$1 = (void (*)(void)) 0x400764 <main()+4>
(gdb) disas (($pc+42),($pc+0)),+16
Dump of assembler code from 0x400764 to 0x400774:
=> 0x0000000000400764 <main()+4>: mov $0x400860,%esi
0x0000000000400769 <main()+9>: mov $0x401c80,%edi
0x000000000040076e <main()+14>: callq 0x400630
<_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>
0x0000000000400773 <main()+19>: mov $0x0,%eax
So I'm not worried about commas in expressions.
gdb is never going to be at a point where all commands can use buildargv.
I think choosing either buildargv or commas (using parse_to_comma_and_eval
or whatever) should consider what the arguments to the command are.
And since this command takes things that are more like expressions
than like strings, I'm leaning towards commas.
>> -----Original Message-----
>> From: gdb-patches-owner@sourceware.org [mailto:gdb-patches-owner@sourceware.org] On Behalf Of Joel Brobecker
>> Sent: Monday, November 24, 2014 8:13 AM
>> To: Doug Evans
>> Cc: Andreas Schwab; gdb-patches@sourceware.org
>> Subject: Re: RFC: "set" command with 2 arguments instead of one?
>>
>> > This feels like a case where we need to at least think about some
>> > future-proofing.
>> > One way some commands separate expressions is with commas.
>> > I'm not fond of optional commas (setting aside the thread on info
>> > macro -at LOCATION,).
>> > IOW, if it turns out that we want to use commas down the road to
>> > separate expressions here, then I'd prefer the commas be required
>> > today.
>> > E.g., set mpx bound ADDR, LBOUND, UBOUND
>>
>> > As for how to process multiple arguments to a "set" command, one way
>> > would be to stage the value in a string parameter, and then have a set
>> > handler post-process the result.
>>
>> I think using commas systematically is making it worse for ourselves, since it prevents us from using gdb_buildargv to parse the command arguments for us. Commas also have a meaning in C, so arguably they could be used in expressions as well. But, if that's the way people prefer, then having a standard gdb_buildargv-like API that everyone consistently uses will make it easier for me to accept that decision.
>>
>> --
>> Joel
>> Intel GmbH
>> Dornacher Strasse 1
>> 85622 Feldkirchen/Muenchen, Deutschland
>> Sitz der Gesellschaft: Feldkirchen bei Muenchen
>> Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk
>> Registergericht: Muenchen HRB 47456
>> Ust.-IdNr./VAT Registration No.: DE129385895
>> Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052
>
> --
> Joel
next prev parent reply other threads:[~2015-04-20 5:44 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-23 4:24 Joel Brobecker
2014-11-23 9:32 ` Andreas Schwab
2014-11-23 9:53 ` Joel Brobecker
2014-11-24 5:39 ` Doug Evans
2014-11-24 7:13 ` Joel Brobecker
2014-11-24 10:38 ` Andreas Schwab
2014-11-24 15:36 ` Doug Evans
2015-04-13 15:32 ` Tedeschi, Walfred
2015-04-14 12:49 ` Joel Brobecker
2015-04-20 5:44 ` Doug Evans [this message]
2015-04-20 15:25 ` Joel Brobecker
2015-04-20 15:30 ` Tedeschi, Walfred
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAP9bCMT-2YOZGZ1HRuVWFoL+at7MmTiOWSFS7mH8AcUZyx2Jdw@mail.gmail.com \
--to=xdje42@gmail.com \
--cc=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=schwab@linux-m68k.org \
--cc=walfred.tedeschi@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox