<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Oct 6, 2013 at 6:47 PM, Marshall Clow <span dir="ltr"><<a href="mailto:mclow.lists@gmail.com" target="_blank">mclow.lists@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div class="im"><br>
On Oct 4, 2013, at 8:22 AM, G M <<a href="mailto:gmisocpp@gmail.com">gmisocpp@gmail.com</a>> wrote:<br>
<br>
> Hi Everyone / Howard / Reid<br>
><br>
> Attached is a patch for the libcxx test suite. This patch does a few things.<br>
><br>
> 1. It changes the temp file handling to use the template and the current directory for windows, matching how it works on other platforms.<br>
> 2. It re-enables the temp file handling for mingw that regressed.<br>
> 3. It removes the explicit inclusion of __config from a very minority number of recent-ish files that explicitly include it.<br>
><br>
> __config is always implicitly included in the other test cases by other headers and it is inconsistent to do otherwise for the few changed in the patch.<br>
<br>
</div>There's a reason these test files explicitly include <__config><br>
<br>
The <dynarray> tests are empty unless you are compiling for C++14.<br>
But the test (_LIBCPP_STD_VER > 11) is not a valid test (i.e, _LIBCPP_STD_VER doesn't get defined) unless you include a libc++ header file.<br>
<__config> is where _LIBCPP_STD_VER gets set.<br>
<br>
So, we have to include _something_ before testing.<br>
<__config> is small, has no other dependencies, and sets the variable we need to test.<br>
<div class="im"><br>
> Making it implicit has the advantage that the test cases can be compiled by other compilers which can be useful in testing those compilers and using those compilers to verify if the test cases themselves have all the right dependencies.<br>

<br>
</div><__config> is not a compiler-specific thing.<br>
It's a libc++-specific thing; and this is the libc++ test suite.<br></blockquote><div><br>
-- Marshall<br>
</div><div>
I was not meaning to suggest that __config was compiler specific, I was making the statement that specifically including __config ties the test to libcxx and that we probably shouldn't do that unless it's necessary. Some tests may be specific to libcxx but many aren't and being able to compile them with other compilers can reveal mistakes in libcxx such as unwanted dependencies. I think that argument is sound. Even if it is the libcxx test suite.</div>
<div> </div><div>By the way, (not that it's a big deal) I wonder if platform_support.h should include cstdio and cstdlib.or do these specifically need the C versions?</div><div> </div><div> </div><div>Using --include __config on the command line in testit would solve that problem.</div>
<div> </div></div><div class="gmail_quote"><div><br>
</div></div><br></div></div>