This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: g++ 3.1 EH broken for irix6.5
- To: rth at redhat dot com
- Subject: Re: g++ 3.1 EH broken for irix6.5
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Date: Thu, 28 Jun 01 22:03:54 EDT
- Cc: gcc-patches at gcc dot gnu dot org
> I don't follow. What do you mean by that term?
The maximum alignment that the compiler can assume when accessing
the structure.
OK, that's what I refer to as "the" alignment.
Certainly we did, or at least implied it strongly enough as to
make no difference. Please re-read the "Type Attributes" node.
In particular:
`aligned (ALIGNMENT)'
The `aligned' attribute can only increase the alignment; but you
can decrease it by specifying `packed' as well. See below.
This asserts that "packed" affects alignment, not just removal of
padding. One has to imply that it affects alignment by setting
it to the minimum, i.e. one unit. Which is what we used to do,
and what folks rely on.
Well, the question then is how do you specify that the type should be
packed by not "under-aligned"? We seem to have confused two very
different things in the documentation. I could still interpret what we
do as consistent with the documentation, though I agree it would be a
somewhat contrived interpretation.
The point is that the informal meaning of "pack" means "remove padding"
and says nothing whatsoever about the alignment. We've mixed up these
two concepts in a way that's confused. How can we disentangle them?