From: Pedro Alves <palves@redhat.com>
To: Yao Qi <yao@codesourcery.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 2/6] allow to suppress more mi notification
Date: Fri, 27 Jul 2012 13:27:00 -0000 [thread overview]
Message-ID: <50129721.5010900@redhat.com> (raw)
In-Reply-To: <1705340.40y1UybpUm@qiyao.dyndns.org>
On 07/27/2012 03:57 AM, Yao Qi wrote:
> On Thursday, July 26, 2012 04:30:18 PM Pedro Alves wrote:
>>> -extern int mi_suppress_breakpoint_notifications;
>>> +
>>> +enum MI_SUPRESS_NOTIFICATION { MI_SUPPRESS_BREAKPOINT };
>>> +extern int mi_suppress_notification[];
>>>
>>>
>>
>> Quite frankly, I don't see how putting these in an array is better than
>> a separate global for each. The memory used is the same, and with separate
>> globals, it's a little easier to debug from a top gdb (just print
>> mi_suppress_<TAB> to see the list of possibilities, etc.) Are you planning
>> on doing something over the whole array, that is abstracted from the
>> semantics of each element of the array?
>
> The intention of this change is to avoid introducing more global variables to
> suppress different types of notification.
More global variables, or more entries in a global array is really not very much
different.. And you still have to add global macros, one for each entry in
the array, so in the end, you end up with _more_ global symbols total.
> I plan to add more notifications
> here (for register change, memory change, trace experiment change, etc), and
> we need more suppress flags for them. Array makes sense here.
>
> AFAICS, I don't do something over the whole array.
Array is really the worse choice. Use it only when you have the need to iterate
over the elements. Otherwise, it's just harder to debug.
"p mi_suppress_notification" will show you an array of integers. Once you have a
few, that will just be cryptic output, and you'll have to
do "p mi_suppress_notification[...]" to make some sense out of it.
If you want to group the variables together, then the first choice should be
a struct instead. Then you can still inspect the variables easily from
a top gdb. E.g.,
struct
{
int breakpoint : 1;
int option_changed : 1;
...
} mi_suppress_notification;
And then you can have:
(gdb) p mi_suppress_notification
(gdb) p mi_suppress_notification.<TAB>
(gdb) p mi_suppress_notification.breakpoint
etc.
--
Pedro Alves
next prev parent reply other threads:[~2012-07-27 13:27 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-24 16:11 [RFC 0/6] MI notification of command option change Yao Qi
2012-07-24 16:11 ` [PATCH 4/6] new add_setshow_enum_cmd_with_notif and scheduler-locking Yao Qi
2012-07-24 20:50 ` Tom Tromey
2012-07-26 15:41 ` Pedro Alves
2012-07-24 16:11 ` [PATCH 2/6] allow to suppress more mi notification Yao Qi
2012-07-24 20:40 ` Tom Tromey
2012-07-26 15:30 ` Pedro Alves
2012-07-27 2:57 ` Yao Qi
2012-07-27 13:27 ` Pedro Alves [this message]
2012-07-24 16:11 ` [PATCH 6/6] new add_setshow_string_cmd_with_notif and trace-notes Yao Qi
2012-07-24 20:54 ` Tom Tromey
2012-07-24 16:11 ` [PATCH 3/6] attach to command_option-changed observer Yao Qi
2012-07-24 17:10 ` Eli Zaretskii
2012-07-24 20:47 ` Tom Tromey
2012-07-26 12:47 ` Yao Qi
2012-07-26 13:59 ` Tom Tromey
2012-07-26 15:31 ` Pedro Alves
2012-07-24 16:11 ` [PATCH 1/6] new observer command_option_changed Yao Qi
2012-07-24 20:39 ` Tom Tromey
2012-07-25 3:56 ` Yao Qi
2012-07-25 14:44 ` Tom Tromey
2012-07-26 15:21 ` Pedro Alves
2012-07-25 14:32 ` Tom Tromey
2012-07-26 8:55 ` Yao Qi
2012-07-24 16:12 ` [PATCH 5/6] new add_setshow_boolean_cmd_with_notify and circular-trace-buffer Yao Qi
2012-07-24 20:53 ` Tom Tromey
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=50129721.5010900@redhat.com \
--to=palves@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=yao@codesourcery.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