On the CFE-dev list, Kal reported:

Running libc++ 3.4 rc1 "testit" on 32-bit Linux fails for test:

test/language.support/support.types/max_align_t.pass.cpp

max_align_t is typedef'd to "long double" type in <cstddef>. But...

alignment_of(long double)=4, sizeof(long double)=12
alignment_of(long long)=8, sizeof(long long)=8

and last night, in r201037, David Majnemer added support for a macro __ALIGNOF_MAX_ALIGN_T__.

This patch changes the definition of max_align_t when that macro is present.

Note: The actual definition of max_align_t is:
• The type max_align_t is a POD type whose alignment requirement is at least as great as that of every scalar type, and whose alignment requirement is supported in every context.

— Marshall

Attachment: max_align.patch
Description: Binary data


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to