[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/strings/basic.string.literals/literal.pass.cpp b/libcxx/test/std/strings/basic.string.literals/literal.pass.cpp
index dbb5f68..2622766 100644
--- a/libcxx/test/std/strings/basic.string.literals/literal.pass.cpp
+++ b/libcxx/test/std/strings/basic.string.literals/literal.pass.cpp
@@ -7,12 +7,14 @@
 // Source Licenses. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: c++98, c++03, c++11
+
 #include <string>
 #include <cassert>
 
 int main()
 {
-#if _LIBCPP_STD_VER > 11 
     using namespace std::literals::string_literals;
 
     static_assert ( std::is_same<decltype(   "Hi"s), std::string>::value, "" );
@@ -43,5 +45,4 @@
     Lfoo =  L"ABC"s;     assert(Lfoo ==  L"ABC");   assert(Lfoo == std::wstring  ( L"ABC"));
     ufoo =  u"ABC"s;     assert(ufoo ==  u"ABC");   assert(ufoo == std::u16string( u"ABC"));
     Ufoo =  U"ABC"s;     assert(Ufoo ==  U"ABC");   assert(Ufoo == std::u32string( U"ABC"));
-#endif
 }
diff --git a/libcxx/test/std/strings/basic.string.literals/literal1.fail.cpp b/libcxx/test/std/strings/basic.string.literals/literal1.fail.cpp
index 6ba0b30..721440d 100644
--- a/libcxx/test/std/strings/basic.string.literals/literal1.fail.cpp
+++ b/libcxx/test/std/strings/basic.string.literals/literal1.fail.cpp
@@ -7,16 +7,15 @@
 // Source Licenses. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: c++98, c++03, c++11
+
 #include <string>
 #include <cassert>
 
 int main()
 {
-#if _LIBCPP_STD_VER > 11 
     using std::string;
 
     string foo  =   ""s;  // should fail w/conversion operator not found
-#else
-#error
-#endif
 }
diff --git a/libcxx/test/std/strings/basic.string.literals/literal1.pass.cpp b/libcxx/test/std/strings/basic.string.literals/literal1.pass.cpp
index f514374..f0b7b46 100644
--- a/libcxx/test/std/strings/basic.string.literals/literal1.pass.cpp
+++ b/libcxx/test/std/strings/basic.string.literals/literal1.pass.cpp
@@ -7,14 +7,15 @@
 // Source Licenses. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: c++98, c++03, c++11
+
 #include <string>
 #include <cassert>
 
 int main()
 {
-#if _LIBCPP_STD_VER > 11 
     using namespace std::literals;
 
     std::string foo  =   ""s;
-#endif
 }
diff --git a/libcxx/test/std/strings/basic.string.literals/literal2.fail.cpp b/libcxx/test/std/strings/basic.string.literals/literal2.fail.cpp
index 68f1d25..99f92fd 100644
--- a/libcxx/test/std/strings/basic.string.literals/literal2.fail.cpp
+++ b/libcxx/test/std/strings/basic.string.literals/literal2.fail.cpp
@@ -7,14 +7,13 @@
 // Source Licenses. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: c++98, c++03, c++11
+
 #include <string>
 #include <cassert>
 
 int main()
 {
-#if _LIBCPP_STD_VER > 11 
     std::string foo  =   ""s;  // should fail w/conversion operator not found
-#else
-#error
-#endif
 }
diff --git a/libcxx/test/std/strings/basic.string.literals/literal2.pass.cpp b/libcxx/test/std/strings/basic.string.literals/literal2.pass.cpp
index 86d28e6..3cc2936 100644
--- a/libcxx/test/std/strings/basic.string.literals/literal2.pass.cpp
+++ b/libcxx/test/std/strings/basic.string.literals/literal2.pass.cpp
@@ -7,14 +7,15 @@
 // Source Licenses. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: c++98, c++03, c++11
+
 #include <string>
 #include <cassert>
 
 int main()
 {
-#if _LIBCPP_STD_VER > 11 
     using namespace std::literals::string_literals;
 
     std::string foo  =   ""s;
-#endif
 }
diff --git a/libcxx/test/std/strings/basic.string.literals/literal3.pass.cpp b/libcxx/test/std/strings/basic.string.literals/literal3.pass.cpp
index 98e3e40..d6e8c8f 100644
--- a/libcxx/test/std/strings/basic.string.literals/literal3.pass.cpp
+++ b/libcxx/test/std/strings/basic.string.literals/literal3.pass.cpp
@@ -7,14 +7,15 @@
 // Source Licenses. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: c++98, c++03, c++11
+
 #include <string>
 #include <cassert>
 
 int main()
 {
-#if _LIBCPP_STD_VER > 11 
     using namespace std;
 
     string foo  =   ""s;
-#endif
 }