On Tue, 6 Sep 2016, Florian Weimer wrote: > Why aren't there any users? The standard isn't very clear what the value of > _Alignof (max_align_t) actually means. Does the phrase “all contexts” include > pointers returned malloc? Even if the requested size is smaller than the > fundamental alignment? Did those who wrote the standard expect there to be > *any* relationship between malloc and max_align_t? See my cleanup of the wording in DR#445 , which is intended to reflect the intent and stay compatible with C99. malloc should be usable to allocate memory for any type from the standard library headers, including max_align_t. > The existing situation is that most mallocs to do not provide _Alignof > (max_align_t) alignment unconditionally. But they can provide arbitrarily > large alignment with aligned_alloc/memalign-style interfaces. 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. > has to remain interposable). If there is no relationship to malloc, GCC > essentially supports unbounded alignment on many targets. How is it possible > to have a meaningful definition of max_align_t under such circumstances? max_align_t only covers fundamental alignments, not necessarily all alignments that are supported. -- Joseph S. Myers joseph@codesourcery.com