On 2016-10-08, at 1:01 PM, Bernd Edlinger wrote: > I think your callback should also directly control the > alignment of max_align_t in stddef.h: > > typedef struct { > long long __max_align_ll __attribute__((__aligned__(__alignof__(long > long)))); > long double __max_align_ld > __attribute__((__aligned__(__alignof__(long double)))); > /* _Float128 is defined as a basic type, so max_align_t must be > sufficiently aligned for it. This code must work in C++, so we > use __float128 here; that is only available on some > architectures, but only on i386 is extra alignment needed for > __float128. */ > #ifdef __i386__ > __float128 __max_align_f128 > __attribute__((__aligned__(__alignof(__float128)))); > #endif > } max_align_t; > > > otherwise these will not match. Yes, i missed a hunk in the submission. On hpux, the alignment is determined by the long double field. With glibc, we need 16 byte alignment for max_align_t. Dave -- John David Anglin dave.anglin@bell.net