On Tue, 6 Sep 2016, Florian Weimer wrote: > So that's what ties the two things together. I still don't like what's > implied in PR66661, that all object sizes have to be multiples of the > fundamental alignment.
I don't think there's any such requirement in the case of flexible array members; if you use malloc to allocate a structure with a flexible array member, you can access as many trailing array elements as would fit within the allocated size, whether or not that size is a multiple of either the alignment of the structure, or the alignment of max_align_t. > > Well, that's a conformance bug in the implementation as a whole. The > > nonconforming modes in question are still useful and it's useful for GCC > > to support such mallocs. > > PR66661 shows that GCC does not want to support such mallocs (or even glibc's > malloc). GCC is supposed to support all mallocs that produce results aligned to at least MALLOC_ABI_ALIGNMENT (which may be smaller than the alignment of max_align_t). -- Joseph S. Myers jos...@codesourcery.com