Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm Sender: cygwin-developers-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin-developers AT sourceware DOT cygnus DOT com Date: Tue, 4 May 1999 13:45:58 -0400 Message-Id: <199905041745.NAA24026@envy.delorie.com> From: DJ Delorie <dj AT delorie DOT com> To: anorland AT hem2 DOT passagen DOT se CC: cygwin-developers AT sourceware DOT cygnus DOT com, corinna DOT vinschen AT cityweb DOT de, cgf AT cygnus DOT com In-reply-to: <372F2F7F.2DDE07F3@hem2.passagen.se> (message from Anders Norlander on Tue, 04 May 1999 19:33:51 +0200) Subject: Re: Patch, Version 4: Problem solved References: <372F2F7F DOT 2DDE07F3 AT hem2 DOT passagen DOT se> 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.