On Oct 4, 2013, at 8:22 AM, G M <[email protected]> wrote:

> Hi Everyone / Howard / Reid
>  
> Attached is a patch for the libcxx test suite. This patch does a few things.
>  
> 1. It changes the temp file handling to use the template and the current 
> directory for windows, matching how it works on other platforms.
> 2. It re-enables the temp file handling for mingw that regressed.
> 3. It removes the explicit inclusion of __config from a very minority number 
> of recent-ish files that explicitly include it.
>  
> __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.

There's a reason these test files explicitly include <__config>

The <dynarray> tests are empty unless you are compiling for C++14.
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.
<__config> is where _LIBCPP_STD_VER gets set.

So, we have to include _something_ before testing.
<__config> is small, has no other dependencies, and sets the variable we need 
to test.

> 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.

<__config> is not a compiler-specific thing.
It's a libc++-specific thing; and this is the libc++ test suite.

-- Marshall

Marshall Clow     Idio Software   <mailto:[email protected]>

A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly 
moderated down to (-1, Flamebait).
        -- Yu Suzuki


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

Reply via email to