This is the mail archive of the gcc-help@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]
Other format: [Raw text]

Re: Where does C standard mention alignment requirements as written in gcc manual?


On Tue, 18 Aug 2015, john smith wrote:

>  On Tue, Aug 18, 2015 at 5:50 PM, Segher Boessenkool
> <segher@kernel.crashing.org> wrote:
> > On Tue, Aug 18, 2015 at 05:04:28PM +0200, john smith wrote:
> >> In gcc manual it says:
> >>
> >> "Note that the alignment of any given struct or union type is required
> >> by the ISO C standard to be at least a perfect multiple of the lowest
> >> common multiple of the alignments of all of the members of the struct
> >> or union in question."
> >>
> >> Where exactly is this requirement mentioned in C standard? I was
> >> looking for it in both C99 and C11 drafts and couldn't find it.
> >
> > C99 6.7.2.1/12 ?
> 
> It just says that "Each non-bit-field member of a structure or union
> object is aligned in an implementation-defined manner appropriate to
> its type.". It doesn't require an overall alignment of the structure
> to be "at least a perfect multiple of the lowest common multiple of
> the alignments of all of the members of the struct".
>
I guess 6.2.5 subclause 25 together with note 39 (interchangeablity) 
would result in "perfect multiple of the lowest common multiple" 

see also 6.2.5 subclause 20 on derived types.

thx!
hofrat


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