Add support for running our test suite against MSVC's STL

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@292326 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Fiselier
2017-01-18 01:48:54 +00:00
parent 08305aaf6e
commit 6fbac40a30
3 changed files with 8 additions and 4 deletions

View File

@@ -274,7 +274,7 @@ class Configuration(object):
self.cxx_stdlib_under_test = self.get_lit_conf(
'cxx_stdlib_under_test', 'libc++')
if self.cxx_stdlib_under_test not in \
['libc++', 'libstdc++', 'cxx_default']:
['libc++', 'libstdc++', 'msvc', 'cxx_default']:
self.lit_config.fatal(
'unsupported value for "cxx_stdlib_under_test": %s'
% self.cxx_stdlib_under_test)
@@ -609,6 +609,9 @@ class Configuration(object):
self.config.available_features.add('c++experimental')
self.cxx.link_flags += ['-lstdc++fs']
self.cxx.link_flags += ['-lm', '-pthread']
elif self.cxx_stdlib_under_test == 'msvc':
# FIXME: Correctly setup debug/release flags here.
pass
elif self.cxx_stdlib_under_test == 'cxx_default':
self.cxx.link_flags += ['-pthread']
else:

View File

@@ -9,10 +9,10 @@
//
// UNSUPPORTED: libcpp-has-no-threads
// This test hangs forever when built against libstdc++. In order to allow
// This test hangs forever when built against libstdc++ and MSVC. In order to allow
// validation of the test suite against other STLs we have to mark it
// unsupported.
// UNSUPPORTED: libstdc++
// UNSUPPORTED: libstdc++, msvc
// <mutex>

View File

@@ -41,8 +41,9 @@ namespace std {
template <>
struct hash<MoveOnly>
: public std::unary_function<MoveOnly, std::size_t>
{
typedef MoveOnly argument_type;
typedef size_t result_type;
std::size_t operator()(const MoveOnly& x) const {return x.get();}
};