[Dwarf-Discuss] About self-referencial sized types

Jakub Jelinek jakub at redhat.com
Thu May 15 07:30:18 PDT 2014


On Wed, May 14, 2014 at 02:38:57PM +0200, Pierre-Marie de Rodat wrote:
> On 04/28/2014 05:29 PM, Agovic, Sanimir wrote:
> >>In GCC, however, computing the upper bound of "A" is more subtle:
> >>it is internally represented as: max(0, <record>.N) so that when
> >>"N" is negative, 0 is returned.
> >
> >I`m not being familiar with internal gcc representations but what is
> >preventing you of referencing the member N?
> 
> Nothing: actually, the internal GCC representation for Ada arrays
> bounds (GENERIC trees) is already there and works well for quite a
> while. My problem here is that I do not know what DWARF operations
> to output in the DW_AT_{lower,upper}_bound attributes in order to
> retrieve array "neighbors" members so that we can compute the array
> bounds using them.

If you are talking about GCC infrastructure here, look what Fortran uses
for it's VLAs, most likely this is just a matter of implementing
LANG_HOOKS_GET_ARRAY_DESCR_INFO for Ada for the cases where the bounds live
somewhere in some descriptor.

	Jakub



More information about the Dwarf-Discuss mailing list