This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Start Fortran support for variable objects.


On Mon, Jul 04, 2005 at 11:41:17AM +1200, Nick Roberts wrote:
> Daniel Jacobowitz writes:
>  > On Fri, Jul 01, 2005 at 04:32:54PM +1200, Nick Roberts wrote:
>  > > So I should have done:
>  > > 
>  > > (top-gdb) p TYPE_LOW_BOUND(var->type->main_type->fields->type)
>  > > $1 = 1
>  > > (top-gdb) p TYPE_HIGH_BOUND(var->type->main_type->fields->type)
>  > > $2 = 4
>  > 
>  > Right - specifically, TYPE_LOW_BOUND (TYPE_INDEX_TYPE (var->type))
>  > is supposed to be the lower bound for an array.  Tricky.  It comes from
>  > read_subrange_type in dwarf2read.c for dwarf2.
> 
> Or even TYPE_ARRAY_LOWER_BOUND_VALUE (var->type)?

Let's stick to TYPE_LOW_BOUND (TYPE_INDEX_TYPE (var->type)) for now. 
That macro appears to be fortran-specific, and part of the dead bits.

> Presumably these macros are more general than dwarf2.  I don't understand the
> connection with read_subrange_type.

It was just an example - that's somewhere that sets it, and knows about
the Fortran numbering convention.

>  > First of all, never reference ->main_type - see above for the right way
>  > to get the low bound.  An even better way (it seems) is to call
>  > get_discrete_bounds.  Take a look at value_subscript for an example.
> 
> Better than TYPE_LOW_BOUND?

I suppose.  I don't know which one is preferred; some day, someone
should go through and clean them all up to be consistent.  I'm fine
with either choice.

-- 
Daniel Jacobowitz
CodeSourcery, LLC


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]