[libcxx] Mark most tuple tests UNSUPPORTED for c++03 and c++98.

Summary: No declaration for the type `tuple` is given in c++03 or c++98 modes. Mark all tests that use the actual `tuple` type as UNSUPPORTED.

Reviewers: jroelofs, mclow.lists, danalbert

Reviewed By: danalbert

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D5956

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@229808 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/std/utilities/tuple/tuple.general/nothing_to_do.pass.cpp b/test/std/utilities/tuple/tuple.general/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c5..0000000
--- a/test/std/utilities/tuple/tuple.general/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/test/std/utilities/tuple/tuple.general/tuple.smartptr.pass.cpp b/test/std/utilities/tuple/tuple.general/tuple.smartptr.pass.cpp
index 2862762..1d8be42 100644
--- a/test/std/utilities/tuple/tuple.general/tuple.smartptr.pass.cpp
+++ b/test/std/utilities/tuple/tuple.general/tuple.smartptr.pass.cpp
@@ -7,6 +7,9 @@
 //
 //===----------------------------------------------------------------------===//
 //
+
+// UNSUPPORTED: c++98, c++03
+
 //  Tuples of smart pointers; based on bug #18350
 //  auto_ptr doesn't have a copy constructor that takes a const &, but tuple does.
 
diff --git a/test/std/utilities/tuple/tuple.tuple/empty_member.pass.cpp b/test/std/utilities/tuple/tuple.tuple/empty_member.pass.cpp
index ddf558c..1e7243b 100644
--- a/test/std/utilities/tuple/tuple.tuple/empty_member.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/empty_member.pass.cpp
@@ -11,6 +11,8 @@
 
 // template <class... Types> class tuple;
 
+// UNSUPPORTED: c++98, c++03
+
 // This is not a portable test
 
 #include <tuple>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.assign/const_pair.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.assign/const_pair.pass.cpp
index 677bd04..a3d1448 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.assign/const_pair.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.assign/const_pair.pass.cpp
@@ -14,6 +14,8 @@
 // template <class U1, class U2>
 //   tuple& operator=(const pair<U1, U2>& u);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <utility>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_copy.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_copy.pass.cpp
index a084859..2dde6b5 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_copy.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_copy.pass.cpp
@@ -14,6 +14,8 @@
 // template <class... UTypes>
 //   tuple& operator=(const tuple<UTypes...>& u);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <string>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_move.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_move.pass.cpp
index 2c09690..11bfdd0 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_move.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_move.pass.cpp
@@ -14,6 +14,8 @@
 // template <class... UTypes>
 //   tuple& operator=(tuple<UTypes...>&& u);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <string>
 #include <memory>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.fail.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.fail.cpp
index 5c82744..5911391 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.fail.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.fail.cpp
@@ -13,6 +13,8 @@
 
 // tuple& operator=(const tuple& u);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <cassert>
 
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.pass.cpp
index f19043c..d5d0207 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.pass.cpp
@@ -13,6 +13,8 @@
 
 // tuple& operator=(const tuple& u);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <string>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.assign/move.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.assign/move.pass.cpp
index b4ebc6d..fc5e41a 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.assign/move.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.assign/move.pass.cpp
@@ -13,6 +13,8 @@
 
 // tuple& operator=(tuple&& u);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <utility>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.assign/move_pair.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.assign/move_pair.pass.cpp
index fe0163c..812e632 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.assign/move_pair.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.assign/move_pair.pass.cpp
@@ -14,6 +14,8 @@
 // template <class U1, class U2>
 //   tuple& operator=(pair<U1, U2>&& u);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <utility>
 #include <memory>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.fail.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.fail.cpp
index c2c00f2..b9497be 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.fail.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.fail.cpp
@@ -14,6 +14,8 @@
 // template <class... UTypes>
 //   explicit tuple(UTypes&&... u);
 
+// UNSUPPORTED: c++98, c++03
+
 /*
     This is testing an extension whereby only Types having an explicit conversion
     from UTypes are bound by the explicit tuple constructor.
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.pass.cpp
index 7ac9deb..817cc8f 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.pass.cpp
@@ -14,6 +14,8 @@
 // template <class... UTypes>
 //   explicit tuple(UTypes&&... u);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <cassert>
 #include <type_traits>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc.pass.cpp
index 606c609..3977682 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc.pass.cpp
@@ -14,6 +14,8 @@
 // template <class Alloc>
 //   tuple(allocator_arg_t, const Alloc& a);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <cassert>
 
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_UTypes.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_UTypes.pass.cpp
index 4757422..3929965 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_UTypes.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_UTypes.pass.cpp
@@ -14,6 +14,8 @@
 // template <class Alloc, class... UTypes>
 //   tuple(allocator_arg_t, const Alloc& a, UTypes&&...);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <cassert>
 
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_const_Types.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_const_Types.pass.cpp
index 5f6a586..0f68926 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_const_Types.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_const_Types.pass.cpp
@@ -14,6 +14,8 @@
 // template <class Alloc>
 //   tuple(allocator_arg_t, const Alloc& a, const Types&...);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <cassert>
 
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_const_pair.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_const_pair.pass.cpp
index 0b210e5..c594161 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_const_pair.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_const_pair.pass.cpp
@@ -14,6 +14,8 @@
 // template <class Alloc, class U1, class U2>
 //   tuple(allocator_arg_t, const Alloc& a, const pair<U1, U2>&);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <utility>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_copy.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_copy.pass.cpp
index fd127ca..8acfde7 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_copy.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_copy.pass.cpp
@@ -14,6 +14,8 @@
 // template <class Alloc, class... UTypes>
 //   tuple(allocator_arg_t, const Alloc& a, const tuple<UTypes...>&);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <cassert>
 
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_move.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_move.pass.cpp
index b420588..c862d3b 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_move.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_move.pass.cpp
@@ -14,6 +14,8 @@
 // template <class Alloc, class... UTypes>
 //   tuple(allocator_arg_t, const Alloc& a, tuple<UTypes...>&&);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <string>
 #include <memory>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_copy.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_copy.pass.cpp
index 568ed97..14e127e 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_copy.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_copy.pass.cpp
@@ -14,6 +14,8 @@
 // template <class Alloc>
 //   tuple(allocator_arg_t, const Alloc& a, const tuple&);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <cassert>
 
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_move.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_move.pass.cpp
index dd24f40..54d3f7e 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_move.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_move.pass.cpp
@@ -14,6 +14,8 @@
 // template <class Alloc>
 //   tuple(allocator_arg_t, const Alloc& a, tuple&&);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <cassert>
 
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_move_pair.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_move_pair.pass.cpp
index 31c605e..03e9ab2 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_move_pair.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_move_pair.pass.cpp
@@ -14,6 +14,8 @@
 // template <class Alloc, class U1, class U2>
 //   tuple(allocator_arg_t, const Alloc& a, pair<U1, U2>&&);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <utility>
 #include <memory>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types.fail.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types.fail.cpp
index e8a78d1..00e2af2 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types.fail.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types.fail.cpp
@@ -13,6 +13,8 @@
 
 // explicit tuple(const T&...);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <string>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types.pass.cpp
index ca53cd3..bbadf8d 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types.pass.cpp
@@ -13,6 +13,8 @@
 
 // explicit tuple(const T&...);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <string>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types2.fail.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types2.fail.cpp
index 4b3359e..68b3fbd 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types2.fail.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types2.fail.cpp
@@ -13,6 +13,8 @@
 
 // explicit tuple(const T&...);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <string>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_pair.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_pair.pass.cpp
index d40196b..740b658 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_pair.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_pair.pass.cpp
@@ -13,6 +13,8 @@
 
 // template <class U1, class U2> tuple(const pair<U1, U2>& u);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <utility>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_copy.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_copy.pass.cpp
index 00bb1e8..5ad4f92 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_copy.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_copy.pass.cpp
@@ -13,6 +13,8 @@
 
 // template <class... UTypes> tuple(const tuple<UTypes...>& u);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <utility>
 #include <string>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_move.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_move.pass.cpp
index ff19c2e..3a6abd3 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_move.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_move.pass.cpp
@@ -13,6 +13,8 @@
 
 // template <class... UTypes> tuple(tuple<UTypes...>&& u);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <string>
 #include <memory>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/copy.fail.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/copy.fail.cpp
index 711c719..1937f49 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/copy.fail.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/copy.fail.cpp
@@ -13,6 +13,8 @@
 
 // tuple(const tuple& u) = default;
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <cassert>
 
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/copy.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/copy.pass.cpp
index ec40a18..783c9d1 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/copy.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/copy.pass.cpp
@@ -13,6 +13,8 @@
 
 // tuple(const tuple& u) = default;
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <string>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp
index 9cde90d..8578d7f 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp
@@ -13,6 +13,8 @@
 
 // constexpr tuple();
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <string>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp
index c4f2f11..0cda968 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp
@@ -13,6 +13,8 @@
 
 // tuple(tuple&& u);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <utility>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move_pair.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move_pair.pass.cpp
index 05d7845..2dfbaff 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move_pair.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move_pair.pass.cpp
@@ -13,6 +13,8 @@
 
 // template <class U1, class U2> tuple(pair<U1, U2>&& u);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <utility>
 #include <memory>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.creation/forward_as_tuple.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.creation/forward_as_tuple.pass.cpp
index 751c1a5..0e556b1 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.creation/forward_as_tuple.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.creation/forward_as_tuple.pass.cpp
@@ -12,6 +12,8 @@
 // template<class... Types>
 //     tuple<Types&&...> forward_as_tuple(Types&&... t);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <type_traits>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.creation/make_tuple.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.creation/make_tuple.pass.cpp
index 5b33d1a..2ee96dc 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.creation/make_tuple.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.creation/make_tuple.pass.cpp
@@ -14,6 +14,8 @@
 // template<class... Types>
 //   tuple<VTypes...> make_tuple(Types&&... t);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <functional>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.creation/tie.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.creation/tie.pass.cpp
index e6ebf95..52ecd24 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.creation/tie.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.creation/tie.pass.cpp
@@ -14,6 +14,8 @@
 // template<class... Types>
 //   tuple<Types&...> tie(Types&... t);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <string>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp
index 3c5a842..770edca 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp
@@ -13,6 +13,8 @@
 
 // template <class... Tuples> tuple<CTypes...> tuple_cat(Tuples&&... tpls);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <utility>
 #include <array>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_const.fail.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_const.fail.cpp
index d6e8811..490283e 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_const.fail.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_const.fail.cpp
@@ -15,6 +15,8 @@
 //   typename tuple_element<I, tuple<Types...> >::type const&
 //   get(const tuple<Types...>& t);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <string>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_const.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_const.pass.cpp
index 04bf5b2..e21768c 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_const.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_const.pass.cpp
@@ -15,6 +15,8 @@
 //   typename tuple_element<I, tuple<Types...> >::type const&
 //   get(const tuple<Types...>& t);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <string>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_non_const.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_non_const.pass.cpp
index 3b98b5e..1c2b17a 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_non_const.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_non_const.pass.cpp
@@ -15,6 +15,8 @@
 //   typename tuple_element<I, tuple<Types...> >::type&
 //   get(tuple<Types...>& t);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <string>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_rv.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_rv.pass.cpp
index 414d8a1..6c456d4 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_rv.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_rv.pass.cpp
@@ -15,6 +15,8 @@
 //   typename tuple_element<I, tuple<Types...> >::type&&
 //   get(tuple<Types...>&& t);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <utility>
 #include <memory>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.pass.cpp
index 5cc33e1..aa020da 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.pass.cpp
@@ -7,6 +7,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+// UNSUPPORTED: c++98, c++03, c++11
+
 #include <tuple>
 #include <string>
 #include <complex>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type1.fail.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type1.fail.cpp
index d955456..85c32ca 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type1.fail.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type1.fail.cpp
@@ -7,6 +7,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+// UNSUPPORTED: c++98, c++03, c++11
+
 #include <tuple>
 #include <string>
 #include <complex>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type2.fail.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type2.fail.cpp
index fde7c69..0a8d582 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type2.fail.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type2.fail.cpp
@@ -7,6 +7,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+// UNSUPPORTED: c++98, c++03, c++11
+
 #include <tuple>
 #include <string>
 #include <complex>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type3.fail.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type3.fail.cpp
index f188171..0a4550f 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type3.fail.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type3.fail.cpp
@@ -7,6 +7,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+// UNSUPPORTED: c++98, c++03, c++11
+
 #include <tuple>
 #include <string>
 #include <complex>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type4.fail.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type4.fail.cpp
index b6d5773..ffc715f 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type4.fail.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type4.fail.cpp
@@ -7,6 +7,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+// UNSUPPORTED: c++98, c++03, c++11
+
 #include <tuple>
 #include <string>
 #include <memory>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_element.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_element.pass.cpp
index f3f8f2b..42e4fab 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_element.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_element.pass.cpp
@@ -18,6 +18,8 @@
 //     typedef Ti type;
 // };
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <type_traits>
 
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size.pass.cpp
index 6db5823..49b4215 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size.pass.cpp
@@ -15,6 +15,8 @@
 //   class tuple_size<tuple<Types...>>
 //     : public integral_constant<size_t, sizeof...(Types)> { };
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <type_traits>
 
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.rel/eq.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.rel/eq.pass.cpp
index e05cd61..0d25edc 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.rel/eq.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.rel/eq.pass.cpp
@@ -15,6 +15,8 @@
 //   bool
 //   operator==(const tuple<TTypes...>& t, const tuple<UTypes...>& u);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <string>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.rel/lt.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.rel/lt.pass.cpp
index f09a105..eac84a9 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.rel/lt.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.rel/lt.pass.cpp
@@ -27,6 +27,8 @@
 //   bool
 //   operator>=(const tuple<TTypes...>& t, const tuple<UTypes...>& u);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <string>
 #include <cassert>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.special/non_member_swap.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.special/non_member_swap.pass.cpp
index fb7db20..dcae606 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.special/non_member_swap.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.special/non_member_swap.pass.cpp
@@ -14,6 +14,8 @@
 // template <class... Types>
 //   void swap(tuple<Types...>& x, tuple<Types...>& y);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <cassert>
 
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.swap/member_swap.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.swap/member_swap.pass.cpp
index b5c5bd4..6749f59 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.swap/member_swap.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.swap/member_swap.pass.cpp
@@ -13,6 +13,8 @@
 
 // void swap(tuple& rhs);
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <cassert>
 
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.traits/uses_allocator.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.traits/uses_allocator.pass.cpp
index c81835c..ddaf52f 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.traits/uses_allocator.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.traits/uses_allocator.pass.cpp
@@ -14,6 +14,8 @@
 // template <class... Types, class Alloc>
 //   struct uses_allocator<tuple<Types...>, Alloc> : true_type { };
 
+// UNSUPPORTED: c++98, c++03
+
 #include <tuple>
 #include <type_traits>