mirror of
https://github.com/llvm-mirror/libcxx.git
synced 2025-10-21 23:30:38 +08:00
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:
@@ -274,7 +274,7 @@ class Configuration(object):
|
|||||||
self.cxx_stdlib_under_test = self.get_lit_conf(
|
self.cxx_stdlib_under_test = self.get_lit_conf(
|
||||||
'cxx_stdlib_under_test', 'libc++')
|
'cxx_stdlib_under_test', 'libc++')
|
||||||
if self.cxx_stdlib_under_test not in \
|
if self.cxx_stdlib_under_test not in \
|
||||||
['libc++', 'libstdc++', 'cxx_default']:
|
['libc++', 'libstdc++', 'msvc', 'cxx_default']:
|
||||||
self.lit_config.fatal(
|
self.lit_config.fatal(
|
||||||
'unsupported value for "cxx_stdlib_under_test": %s'
|
'unsupported value for "cxx_stdlib_under_test": %s'
|
||||||
% self.cxx_stdlib_under_test)
|
% self.cxx_stdlib_under_test)
|
||||||
@@ -609,6 +609,9 @@ class Configuration(object):
|
|||||||
self.config.available_features.add('c++experimental')
|
self.config.available_features.add('c++experimental')
|
||||||
self.cxx.link_flags += ['-lstdc++fs']
|
self.cxx.link_flags += ['-lstdc++fs']
|
||||||
self.cxx.link_flags += ['-lm', '-pthread']
|
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':
|
elif self.cxx_stdlib_under_test == 'cxx_default':
|
||||||
self.cxx.link_flags += ['-pthread']
|
self.cxx.link_flags += ['-pthread']
|
||||||
else:
|
else:
|
||||||
|
@@ -9,10 +9,10 @@
|
|||||||
//
|
//
|
||||||
// UNSUPPORTED: libcpp-has-no-threads
|
// 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
|
// validation of the test suite against other STLs we have to mark it
|
||||||
// unsupported.
|
// unsupported.
|
||||||
// UNSUPPORTED: libstdc++
|
// UNSUPPORTED: libstdc++, msvc
|
||||||
|
|
||||||
// <mutex>
|
// <mutex>
|
||||||
|
|
||||||
|
@@ -41,8 +41,9 @@ namespace std {
|
|||||||
|
|
||||||
template <>
|
template <>
|
||||||
struct hash<MoveOnly>
|
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();}
|
std::size_t operator()(const MoveOnly& x) const {return x.get();}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user