This is the mail archive of the gdb-patches@sourceware.org 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] XLF Fortran: Remove an inappropriate complaint [Re: XLF Fortran arrays test]


On Fri, Nov 23, 2007 at 06:21:04PM +0100, Jan Kratochvil wrote:
> On Fri, 23 Nov 2007 18:05:48 +0100, Carlos Eduardo Seo wrote:
> ...
> > The only strange behavior is that when I set a breakpoint, I get this
> > message:
> > 
> > During symbol reading, DW_AT_type missing from DW_TAG_subrange_type.
> 
> This code was there already before my changes.  And the XLF output really
> misses DW_AT_type for DW_TAG_subrange_type.  But it should be correct:
> 	http://dwarf.freestandards.org/Dwarf3.pdf
> 	5.12 Subrange Type Entries
> 	The subrange entry may have a DW_AT_type attribute to describe the type
> 	of object, called the basis type, of whose values this subrange is
> 	a subset.
> 
> "may have" should not produce a `complaint' category message as it is not
> a standard violation.
> 
> Providing a patch but I do not know much more about it.

Here's the rest of what the standard has to say:

==
If the subrange entry has no type attribute describing the basis type,
the basis type is assumed to be the same as the object described by
the lower bound attribute (if it references an object). If there is no
lower bound attribute, or that attribute does not reference an object,
the basis type is the type of the upper bound or count attribute (if
either of them references an object). If there is no upper bound or
count attribute, or neither references an object, the type is assumed
to be the same type, in the source language of the compilation unit
containing the subrange entry, as a signed integer with the same size
as an address on the target machine.
==

It looks to me like (before your other patches?) we do not support
the bounds or count referring to objects.  The code below the
complaint is creating a signed integer type the size of an address.
So your patch is OK.  Thanks.

-- 
Daniel Jacobowitz
CodeSourcery


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