This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: IA64 bootstrap problem for Ada
- From: "Zack Weinberg" <zack at codesourcery dot com>
- To: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 30 Oct 2003 13:40:44 -0800
- Subject: Re: IA64 bootstrap problem for Ada
- References: <10310302122.AA03279@vlsi1.ultra.nyu.edu>
kenner@vlsi1.ultra.nyu.edu (Richard Kenner) writes:
> For most purposes these modes need to be regarded as having their full
> storage size. Thus, TYPE_SIZE, TYPE_SIZE_UNIT, and TYPE_ALIGN should
> be consistent with GET_MODE_SIZE and GET_MODE_ALIGNMENT, not with
> GET_MODE_BITSIZE.
>
> That's not what the code in layout_type does. What it does is copy
> GET_MODE_BITSIZE to TYPE_SIZE and GET_MODE_SIZE to TYPE_UNIT_SIZE. The
> right thing happens here by accident due to the alignment.
That needs to be fixed then.
> I don't see how to make Ada work with this sort of definition, though,
> because it mixes the number of signifcant bits and number of bits in the
> stored data in a way that I don't see how to separate.
I do not understand the problem. The number of significant bits is
GET_MODE_BITSIZE (mode). The number of bits in the stored data is
GET_MODE_SIZE (mode) * BITS_PER_UNIT. How is this mixed?
zw