[patch] [libcxx[ test suite temp file and __config fix

Marshall Clow mclow.lists at gmail.com
Sat Oct 5 22:47:46 PDT 2013

On Oct 4, 2013, at 8:22 AM, G M <gmisocpp at gmail.com> 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:mclow.lists at gmail.com>

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

More information about the cfe-commits mailing list