[libcxx] Improve tests to use the UNSUPPORTED lit directive
Quite a few libcxx tests seem to follow the format:
#if _LIBCPP_STD_VER > X
// Do test.
#else
// Empty test.
#endif
We should instead use the UNSUPPORTED lit directive to exclude the test on
earlier C++ standards. This gives us a more accurate number of test passes
for those standards and avoids unnecessary conflicts with other lit
directives on the same tests.
Reviewers: bcraig, ericwf, mclow.lists
Differential revision: http://reviews.llvm.org/D20730
llvm-svn: 271108
diff --git a/libcxx/test/std/utilities/utility/exchange/exchange.pass.cpp b/libcxx/test/std/utilities/utility/exchange/exchange.pass.cpp
index 620b414..c4952f7 100644
--- a/libcxx/test/std/utilities/utility/exchange/exchange.pass.cpp
+++ b/libcxx/test/std/utilities/utility/exchange/exchange.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// utilities
// exchange
@@ -17,7 +18,6 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
{
int v = 12;
assert ( std::exchange ( v, 23 ) == 12 );
@@ -53,6 +53,4 @@
assert ( std::exchange ( s3, "" ) == s2 );
assert ( s3.size () == 0 );
}
-
-#endif
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type1.fail.cpp b/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type1.fail.cpp
index 27194eff..f0d55a6 100644
--- a/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type1.fail.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type1.fail.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
#include <utility>
#include <complex>
@@ -14,11 +15,7 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
typedef std::complex<float> cf;
auto t1 = std::make_pair<int, double> ( 42, 3.4 );
assert (( std::get<cf>(t1) == cf {1,2} )); // no such type
-#else
-#error
-#endif
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type2.fail.cpp b/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type2.fail.cpp
index f9e3942..72e6375 100644
--- a/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type2.fail.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type2.fail.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
#include <utility>
#include <complex>
@@ -14,11 +15,7 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
typedef std::complex<float> cf;
auto t1 = std::make_pair<int, int> ( 42, 43 );
assert ( std::get<int>(t1) == 42 ); // two ints
-#else
-#error
-#endif
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type3.fail.cpp b/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type3.fail.cpp
index 4843473..d5179e4 100644
--- a/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type3.fail.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type3.fail.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
#include <utility>
#include <complex>
@@ -14,11 +15,7 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
typedef std::unique_ptr<int> upint;
std::pair<upint, int> t(upint(new int(4)), 23);
upint p = std::get<upint>(t);
-#else
-#error
-#endif
}