public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Andrew Cagney <ac131313@cygnus.com>
To: Nick Duffek <nsd@redhat.com>
Cc: eliz@is.elta.co.il, gdb@sources.redhat.com, insight@sources.redhat.com
Subject: Re: Register group proposal
Date: Thu, 22 Feb 2001 08:46:00 -0000	[thread overview]
Message-ID: <3A9541C4.EA9C2FAF@cygnus.com> (raw)
In-Reply-To: <200102221237.f1MCbtX02766@rtl.cygnus.com>

Nick Duffek wrote:
> 
> On 22-Feb-2001, Eli Zaretskii wrote:
> 
> >If we are to use an iterator, shouldn't the test in this loop be
> >abstracted as well, like this, for instance?
> 
> Not necessarily: something like REGGROUP_FIRST_REGNUM and
> REGGROUP_NEXT_REGNUM are required for implementing multiple groups, but
> REGGROUP_NOT_LAST_REGNUM isn't.
> 
> REGGROUP_NOT_LAST_REGNUM is consistent with the notion of changing integer
> register numbers into opaque identifiers (aka handles or cookies).
> 
> But declaring that -1 is a reserved register identifier doesn't tie our
> hands much interface-wise.  It works pretty well for various UNIX file and
> memory interfaces.
> 
> Maybe we need to establish some GDB coding policies about handles defined
> and passed around by abstract interfaces: should they be ints, struct
> pointers, typedefs, etc., and should there be a known-invalid value such
> as -1 or NULL?

To add to this, there are two classes of iterators:

	o	like the above where things don't
		change under your feet.

	o	nasty ones where where you're
		doing a transformation.  Vis:

		for everything in the old group
		   if blah
		      it stays in the group
		   else
		      it is removed from the group

		breakpoints have this problem but
		per my other comment that is a very
		separate problem to what is happening
		here.

For the simple first case, I think it is reasonable for a programmer to
expect the corresponding code to look like either:

	int group;
	for (group = ...; group >= 0; group = ...) { ... };
or
	struct reggroup *group;
	for (group = ...; group != NULL; group = ...) { ... }'

since in each case they are the natural sentinal.

In the integer case, the only thing I would encourage is that the test
be the looser but more robust ``... >= 0'' rather then the very exact
``... == -1''.

	Andrew

  reply	other threads:[~2001-02-22  8:46 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-02-20 20:56 Nick Duffek
2001-02-21  6:44 ` Fernando Nasser
2001-02-21  7:10   ` Nick Duffek
2001-02-21  7:36     ` Fernando Nasser
2001-02-21  7:58     ` Keith Seitz
2001-02-21  8:50 ` Andrew Cagney
2001-02-21 11:43   ` Andrew Cagney
2001-02-25 15:36   ` Nick Duffek
2001-02-21 11:43 ` Andrew Cagney
2001-02-21 12:28   ` Andrew Cagney
2001-02-21 12:18 ` Andrew Cagney
2001-02-22  0:59   ` Eli Zaretskii
2001-02-22  4:29     ` Nick Duffek
2001-02-22  8:46       ` Andrew Cagney [this message]
2001-02-22  8:56         ` Keith Seitz
2001-02-22  9:20           ` Andrew Cagney
2001-02-22  5:17   ` Nick Duffek
2001-02-22  6:36     ` Fernando Nasser
2001-02-22  8:23       ` Andrew Cagney
2001-02-22  7:58     ` Andrew Cagney
2001-02-22  8:37       ` Nick Duffek
2001-02-22  9:12         ` Andrew Cagney
2001-02-22 10:15           ` Nick Duffek
2001-02-22 10:25             ` Andrew Cagney
2001-02-22 11:40               ` Eli Zaretskii
2001-02-22 11:02           ` Kevin Buettner
2001-02-22 12:08             ` Andrew Cagney
2001-02-22  8:16     ` Andrew Cagney
2001-02-21  3:00 Stephane Carrez
2001-02-21  7:00 ` Nick Duffek
2001-02-21  9:34 ` Andrew Cagney
2001-02-22  9:19 Michael Elizabeth Chastain
2001-02-23  2:52 Bernard Dautrevaux
2001-02-24 15:43 ` Nick Duffek
2001-02-26 18:21   ` Andrew Cagney
2001-02-27 10:30     ` Jim Kleck
2001-02-27 11:24       ` Per Bothner
2001-02-27 13:44         ` Jim Kleck
2001-02-27 15:17           ` Andrew Cagney
2001-02-26  5:29 Bernard Dautrevaux
2001-02-26  9:28 ` Christopher Faylor
2001-02-26 10:56   ` Andrew Cagney
2001-02-26 11:28     ` Christopher Faylor
2001-02-26 17:02       ` Andrew Cagney
2001-02-27  8:53         ` Christopher Faylor
2001-02-27  9:57           ` Andrew Cagney
2001-02-28  1:59 Bernard Dautrevaux

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=3A9541C4.EA9C2FAF@cygnus.com \
    --to=ac131313@cygnus.com \
    --cc=eliz@is.elta.co.il \
    --cc=gdb@sources.redhat.com \
    --cc=insight@sources.redhat.com \
    --cc=nsd@redhat.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).