This is an archive of the discontinued LLVM Phabricator instance.

[libcxx] Moving compiler specific test infrastructure to compiler.py
AbandonedPublic

Authored by bcraig on Jun 13 2017, 1:53 PM.

Details

Summary

format.py and config.py were routinely reaching into the innards of compiler.py, then setting variables in a very gcc / clang-centric way. Now, all the compiler specific code has been moved to compiler.py. These makes it possible to (in theory) build with MSVC instead, by switching to a different CXXCompilerInterface implementation.

This refactor did not attempt to make large, simplifying changes. It is mainly moving code to the right place so that later work can consolidate and clean as needed.

As a proof of concept, I was able to switch out CXXCompilerInterface implementations and run the libc++ tests with MSVC 2017 and the MSVC 2017 STL, with 3486/5472 passing (I didn't dive into the failure cases). The MSVC test infrastructure port is not included in this review.

Diff Detail

Event Timeline

bcraig created this revision.Jun 13 2017, 1:53 PM
bcraig updated this revision to Diff 105268.Jul 5 2017, 7:19 AM

Rebased.
Separating out logging into it's own class.
Also tweaked the output slightly so that the language dialect under test shows up as the first line of output.

EricWF edited edge metadata.Jul 5 2017, 8:13 AM

I'll try and get to this tonight.

bcraig abandoned this revision.Jan 1 2021, 5:56 PM