<div>On Sun Feb 16 2014 at 6:39:32 AM, Howard Hinnant <<a href="mailto:howard.hinnant@gmail.com">howard.hinnant@gmail.com</a>> wrote:</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Feb 16, 2014, at 2:13 AM, Richard Smith <<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>> wrote:<br>
<br>
> This seems to be going in the wrong direction.<br>
><br>
> * max_align_t needs to be in <stddef.h> as well as in <cstddef><br>
> * <stddef.h> is provided by the compiler, not by the standard library<br>
> * max_align_t is de facto part of the platform's ABI. It's not enough to get the alignment right, you also need to get the size and mangled name of the type right (and possibly other things too).<br>
><br>
> IMO, the right thing to do here is to add a definition to max_align_t to Clang's lib/Headers/stddef.h, and add a using declaration to libc++'s cstddef to pull it into namespace std.<br>
><br>
<br>
On Feb 9, 2014, at 2:50 PM, Howard Hinnant <<a href="mailto:howard.hinnant@gmail.com" target="_blank">howard.hinnant@gmail.com</a>> wrote:<br>
<br>
> Features:<br>
><br>
> 1. If <__config> defines _LIBCPP_C_HAS_MAX_ALIGN_T, then max_align_t is grabbed from the global namespace / <stddef.h>.  Currently no platform in <__config> defines _LIBCPP_C_HAS_MAX_ALIGN_T.  C11 introduces max_align_t in <stddef.h>.  I expect that eventually all platforms will migrate to this option.<br>
</blockquote><div><br></div><div>Sorry, I missed that part =) That general approach sounds right to me.</div>