From: Andrew Cagney <ac131313@ges.redhat.com>
To: David Carlton <carlton@math.stanford.edu>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [RFA] convert blocks to dictionaries, phase 1, main part
Date: Tue, 17 Sep 2002 12:16:00 -0000 [thread overview]
Message-ID: <3D877FA4.8050607@ges.redhat.com> (raw)
In-Reply-To: <ro1fzw8fq7m.fsf@jackfruit.Stanford.EDU>
>> - macro's are bad m'kay :-)
>
>
> Even accessor macros for members of structures? Gee, I like those:
> it's a lot easier to find all places where, say, struct block's
> 'hashtable' member is being used by grepping for 'BLOCK_HASHTABLE'
> than by grepping for 'hashtable' and then sorting out which ones of
> those really are referring to the 'hashtable' member as opposed to
> some other use of the phrase.
Yep. If you think accessor macro's are a good idea, try debugging /
using sim/common some time :-(
Also grep -e '->hashtable' works pretty well.
> Admittedly, that's less important here since the structures in
> question are opaque, so they'll only be accessed within one file. So
> if you want me to move away from them, that's fine; I was just trying
> to follow existing practice in symtab.h and gdbtypes.h.
Have a look at more recent code such as regcache.h.
> ALL_DICT_SYMBOLS; but I'm happy to get rid of that since the interface
> The macros that are currently used (as seen in
> <http://sources.redhat.com/ml/gdb-patches/2002-09/msg00202.html>,
> modulo replacing 'environment' by 'dictionary', not just in the
> smaller portion of it that I recently put up for RFA) fit (I think!)
> into the following taxonomy:
>
> * One-argument accessor macros for members of structures.
> * Two-argument accessor macros for members of structures that are
> arrays: these accessor macros take the index into the array as a
> second argument.
> * Symbolic constants.
> * ALL_DICT_SYMBOLS, to make looping over all the symbols easier.
>
> I think the only macro that is publically accessible is
> ALL_DICT_SYMBOLS; but I'm happy to get rid of that since the interface
> to iterating over symbols in dictionaries is a lot easier than the
> interface to iterating over symbols in blocks.
The ALL_xxx_yyy() iterator can probably stay. Its an ``accepted''
convention.
> So if you want me to get rid of all macros (other than, presumably,
> symbolic constants, though I could use the enum trick there), I can
> certainly do that.
Yes, please. Symbolic constants as enum's is recommended.
>> - just implement interfaces sufficient for the immediate needs. For
>> instance, instead of providing ``enum dict_type'', just describe
>> the idea. Since we can compile with -Werror, changing internal
>> interface, when there is evidence that it is actually needed, has
>> become relativly easy.
> dict_type really is necessary currently: I need to provide hash tables
> and linear environments to support the existing functionality of
> blocks. It's just like the 'hashtable' member of struct block.
Then just mention those that do apply.
(I thought DanielJ indicated that you just doing an initial linear
implementation?)
>> - keep gdbint.texinfo in mind
>
>
> Right.
>
>
>> - you'll want to start compiling all targets
>
>
> Sure. How do I go about doing this? I don't have access to a wide
> range of machines; are there machines at Red Hat that I can use?
target's not hosts :-) There is some sed in MAINTAINERS for generating
the target list. Richard E, I believe, posted a script for doing all
the config's and builds.
Andrew
next prev parent reply other threads:[~2002-09-17 19:16 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-16 15:26 David Carlton
2002-09-16 15:30 ` David Carlton
2002-09-17 7:35 ` Daniel Jacobowitz
2002-09-17 9:03 ` Andrew Cagney
2002-09-17 10:43 ` David Carlton
2002-09-17 10:49 ` Daniel Jacobowitz
2002-09-17 11:34 ` David Carlton
2002-09-17 12:24 ` Andrew Cagney
2002-09-17 11:44 ` Andrew Cagney
2002-09-17 12:30 ` Daniel Jacobowitz
2002-09-17 12:49 ` Andrew Cagney
2002-09-17 13:32 ` Daniel Jacobowitz
2002-09-17 21:48 ` Daniel Berlin
2002-09-18 7:26 ` Andrew Cagney
2002-09-20 9:13 ` Jim Blandy
2002-09-17 12:59 ` Daniel Berlin
2002-09-17 13:13 ` Andrew Cagney
2002-09-17 9:29 ` Andrew Cagney
2002-09-17 11:04 ` David Carlton
2002-09-17 12:16 ` Andrew Cagney [this message]
2002-09-17 12:35 ` Daniel Jacobowitz
2002-09-17 12:46 ` David Carlton
2002-09-17 12:57 ` Andrew Cagney
2002-09-22 14:51 ` Jim Blandy
2002-09-17 12:54 ` Michael Snyder
2002-09-17 12:59 ` Daniel Berlin
2002-09-18 2:56 ` Richard Earnshaw
2002-09-18 14:07 ` Andrew Cagney
2002-09-19 3:14 ` Richard Earnshaw
2002-09-19 6:18 ` Elena Zannoni
2002-09-19 7:52 ` Richard Earnshaw
2002-09-19 7:51 ` Andrew Cagney
2002-09-22 14:41 ` Jim Blandy
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=3D877FA4.8050607@ges.redhat.com \
--to=ac131313@ges.redhat.com \
--cc=carlton@math.stanford.edu \
--cc=gdb-patches@sources.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