This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


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

Re: g++ 3.1 EH broken for irix6.5


    > 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?


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