<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Oct 6, 2015 at 3:57 PM, Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><stddef.h>. This one is tricky:<div><br></div><div>1) There's an (undocumented) interface between the C standard library and this header, where the macros __need_ptrdiff_t, __need_size_t, __need_wchar_t, __need_NULL, __need_wint_t request just a piece of this header rather than the whole thing. If we see any of those, just go straight to the underlying header.</div></div></blockquote><div><br></div><div>Ok, but in that case we don't get nullptr.  I suspect that's OK. </div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>2) We probably don't want <stddef.h> to include <cstddef> (for consistency with other headers)</div></div></blockquote><div><br></div><div>No, we do not! :-)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>, but <stddef.h> must provide a ::nullptr_t (which we don't want <cstddef> to provide). So neither header includes the other. Instead, both include <__nullptr> for std::nullptr_t, and we duplicate the definition of max_align_t between them, in the case where the compiler's <stddef.h> doesn't provide it.</div><div><br></div><div>If you prefer, I could make <stddef.h> include <cstddef> to avoid the duplication of the max_align_t logic.<br></div></div></blockquote><div><br></div><div>No; this is a minor annoyance, and layer jumping (<stdXXX.h> including <cstdXXX>) is a major annoyance - and I'm pretty sure that that would come back to bite us in the future.</div><div></div></div><br></div><div class="gmail_extra">Looks ok to me.</div><div class="gmail_extra"><br></div><div class="gmail_extra">-- Marshall</div></div>