This is the mail archive of the cygwin-developers@sourceware.cygnus.com mailing list for the Cygwin project. See the Cygwin home page for more information.
Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Patch, Version 4: Problem solved



The alignment of A changes from 4 bytes (sizeof(int)) to 8 bytes
(sizeof(double)), so the alignment of B (which contains A) must also
change from 4 to 8.  The size of B is increased to a multiple of the
alignment so that each element of an array of such objects is properly
aligned.  IMHO, this is correct and expected behavior.

If MS wants them "less aligned" you'll have to use gcc's alignment
directives to reduce the alignment of that double to 4.