From: Joel Brobecker <brobecker@adacore.com>
To: Jan Kratochvil <jan.kratochvil@redhat.com>
Cc: gdb-patches@sourceware.org, Tobias Burnus <burnus@net-b.de>,
Ulrich Weigand <uweigand@de.ibm.com>,
Jim Blandy <jimb@red-bean.com>,
jimb@codesourcery.com
Subject: Re: [patch] static_kind -> bit0, bit1 [Re: [gdb] Fortran dynamic arrays]
Date: Fri, 19 Sep 2008 22:13:00 -0000 [thread overview]
Message-ID: <20080919221221.GA23372@adacore.com> (raw)
In-Reply-To: <20080907115637.GA12939@host0.dyn.jankratochvil.net>
> Also I do not understand why exist all the macros like this one at all:
> #define TYPE_MAIN_TYPE(thistype) (thistype)->main_type
> Why we cannot use it expanded? This way it is always one (or more)
> "tags"-jump (VIM ctrl-]) indirections while navigating the source files.
Personally, I find them to be very useful to quickly find who is using
field "main_type" in struct type.
> 2008-09-07 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> Split two-bit STATIC_KIND to two separate bitfield single bits.
> * gdbtypes.h (struct main_type <static_kind>): Split to ...
> (struct main_type <bit0>, <bit1>): ... here.
> (FIELD_STATIC_KIND): Split to ...
> (FIELD_BIT0, FIELD_BIT1): ... here.
> (SET_FIELD_BITPOS): New.
> (SET_FIELD_PHYSNAME, SET_FIELD_PHYSADDR, TYPE_FIELD_STATIC)
> (TYPE_FIELD_STATIC_HAS_ADDR): Update for the split.
> (TYPE_FIELD_STATIC_KIND): Remove.
> (TYPE_FIELD_STATIC_HAS_NAME): New.
> * coffread.c, dwarf2read.c, eval.c, gdbtypes.c, mdebugread.c: Update
> throughout.
It would be interesting to hear what others think, but I don't really
like the idea of splitting the 2-bit static_kind field into two one-bit
fields named bit0 & bit1. I just find it obscures things even more.
The first goal, as I understand it, is to be able to extend range types
so that the bounds can be DWARF blocks. Here is a thought: Rename the
static_kind field into "field_loc_kind" which would be an enum with
4 possible values: loc_in_bitpos, loc_in_physaddr, loc_in_physname,
and loc_in_block. The names are yet to be decided, but it's just
to give you an idea of what they would mean. 4 possible values mean
that, for now, we have room in the 2-bit field to store it. This
"field_loc_kind" would then be checked for the types were the loc kind
can be ambiguous (range types would be the next addition to the current
list).
Next, we add a new field in the "loc" union that would contain a pointer
to the dwarf block, and probably create some kind of routine to create
these range types. After that, we can update the DWARF reader to handle
DWARF blocks for range type bounds, and finally update Fortran to make
use of them.
What do others think?
--
Joel
next prev parent reply other threads:[~2008-09-19 22:13 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-15 15:06 [gdb] Fortran dynamic arrays Tobias Burnus
2008-08-18 11:12 ` Joel Brobecker
2008-08-18 15:54 ` Ulrich Weigand
2008-09-07 11:59 ` [patch] static_kind -> bit0, bit1 [Re: [gdb] Fortran dynamic arrays] Jan Kratochvil
2008-09-08 15:32 ` Tom Tromey
2008-09-08 17:27 ` Jan Kratochvil
2008-09-19 22:29 ` Joel Brobecker
2008-09-26 23:04 ` Tom Tromey
2008-09-27 14:53 ` Joel Brobecker
2008-09-19 6:04 ` Joel Brobecker
2008-09-22 15:25 ` Jan Kratochvil
2008-09-24 19:15 ` Joel Brobecker
2008-09-26 5:03 ` Jan Kratochvil
2008-09-26 22:12 ` Joel Brobecker
2008-10-02 22:13 ` [patch] Fortran obsolete bounds type [Re: [patch] static_kind -> bit0, bit1] Jan Kratochvil
2008-09-26 12:52 ` [patch] static_kind -> bit0, bit1 [Re: [gdb] Fortran dynamic arrays] Daniel Jacobowitz
2008-09-26 22:15 ` Joel Brobecker
2008-09-26 22:20 ` Daniel Jacobowitz
2008-09-19 22:13 ` Joel Brobecker [this message]
2008-09-26 5:06 ` Accessor macro wrappers removal [Re: [patch] static_kind -> bit0, bit1] Jan Kratochvil
2008-09-26 12:55 ` Daniel Jacobowitz
2008-10-02 20:59 ` Jan Kratochvil
2008-10-02 21:05 ` Daniel Jacobowitz
2008-09-26 23:15 ` Tom Tromey
2008-09-26 12:58 ` [patch] static_kind -> bit0, bit1 [Re: [gdb] Fortran dynamic arrays] Daniel Jacobowitz
[not found] ` <20081006200928.GD3588@adacore.com>
2008-10-06 20:26 ` Jan Kratochvil
2008-10-07 23:22 ` type/main_type/field size [Re: [patch] static_kind -> bit0, bit1] Jan Kratochvil
2008-10-08 3:32 ` Joel Brobecker
2008-10-08 23:56 ` Tom Tromey
2008-10-04 20:28 ` [patch] static_kind -> bit0, bit1 [Re: [gdb] Fortran dynamic arrays] Jan Kratochvil
2008-10-06 20:00 ` Joel Brobecker
2008-10-07 23:18 ` Jan Kratochvil
2008-10-08 3:28 ` Joel Brobecker
2008-10-08 12:54 ` Jan Kratochvil
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=20080919221221.GA23372@adacore.com \
--to=brobecker@adacore.com \
--cc=burnus@net-b.de \
--cc=gdb-patches@sourceware.org \
--cc=jan.kratochvil@redhat.com \
--cc=jimb@codesourcery.com \
--cc=jimb@red-bean.com \
--cc=uweigand@de.ibm.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