[CC'ing Howard seeing as how he probably implemented the libc++ max_align_t]
Howard, what do you have thoughts on this? My reading of 3.11 [basic.align]/p2's 'all contexts' makes me believe that max_align_t should reflect the alignment of 'long double' inside of a struct. On Fri, Oct 18, 2013 at 10:10 PM, Hristo Venev <[email protected]> wrote: > libc++ defines max_align_t as long double. I thought they had the same > alignment. > > > On Fri, Oct 18, 2013 at 8:22 PM, David Majnemer > <[email protected]>wrote: > >> This implementation of max_align_t disagrees with gcc. They have >> something like: >> typedef struct { >> long long __max_align_ll __attribute__((__aligned__(__alignof__(long >> long)))); >> long double __max_align_ld __attribute__((__aligned__(__alignof__(long >> double)))); >> } max_align_t; >> >> as their definition while you have something like: >> >> typedef long double max_align_t; >> >> For a 32-bit x86 target, this means that: >> gcc's alignof(max_align_t): 8 >> clang's alignof(max_align_t): 4 >> >> -- >> David Majnemer >> >> >> On Fri, Oct 18, 2013 at 9:58 AM, Hristo Venev <[email protected]>wrote: >> >>> Add a definition of max_align_t in stddef.h >>> Done by gcc 4.9 and required by libstdc++ 4.9. >>> >>> _______________________________________________ >>> cfe-commits mailing list >>> [email protected] >>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >>> >>> >> >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
