[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
This commit is contained in:
Eric Fiselier
2015-02-19 02:10:42 +00:00
parent 59f573f670
commit f063052fe1
52 changed files with 103 additions and 12 deletions

View File

@@ -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()
{
}

View File

@@ -7,6 +7,9 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// //
// UNSUPPORTED: c++98, c++03
// Tuples of smart pointers; based on bug #18350 // Tuples of smart pointers; based on bug #18350
// auto_ptr doesn't have a copy constructor that takes a const &, but tuple does. // auto_ptr doesn't have a copy constructor that takes a const &, but tuple does.

View File

@@ -11,6 +11,8 @@
// template <class... Types> class tuple; // template <class... Types> class tuple;
// UNSUPPORTED: c++98, c++03
// This is not a portable test // This is not a portable test
#include <tuple> #include <tuple>

View File

@@ -14,6 +14,8 @@
// template <class U1, class U2> // template <class U1, class U2>
// tuple& operator=(const pair<U1, U2>& u); // tuple& operator=(const pair<U1, U2>& u);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <utility> #include <utility>
#include <cassert> #include <cassert>

View File

@@ -14,6 +14,8 @@
// template <class... UTypes> // template <class... UTypes>
// tuple& operator=(const tuple<UTypes...>& u); // tuple& operator=(const tuple<UTypes...>& u);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <cassert> #include <cassert>

View File

@@ -14,6 +14,8 @@
// template <class... UTypes> // template <class... UTypes>
// tuple& operator=(tuple<UTypes...>&& u); // tuple& operator=(tuple<UTypes...>&& u);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <memory> #include <memory>

View File

@@ -13,6 +13,8 @@
// tuple& operator=(const tuple& u); // tuple& operator=(const tuple& u);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <cassert> #include <cassert>

View File

@@ -13,6 +13,8 @@
// tuple& operator=(const tuple& u); // tuple& operator=(const tuple& u);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <cassert> #include <cassert>

View File

@@ -13,6 +13,8 @@
// tuple& operator=(tuple&& u); // tuple& operator=(tuple&& u);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <utility> #include <utility>
#include <cassert> #include <cassert>

View File

@@ -14,6 +14,8 @@
// template <class U1, class U2> // template <class U1, class U2>
// tuple& operator=(pair<U1, U2>&& u); // tuple& operator=(pair<U1, U2>&& u);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <utility> #include <utility>
#include <memory> #include <memory>

View File

@@ -14,6 +14,8 @@
// template <class... UTypes> // template <class... UTypes>
// explicit tuple(UTypes&&... u); // explicit tuple(UTypes&&... u);
// UNSUPPORTED: c++98, c++03
/* /*
This is testing an extension whereby only Types having an explicit conversion This is testing an extension whereby only Types having an explicit conversion
from UTypes are bound by the explicit tuple constructor. from UTypes are bound by the explicit tuple constructor.

View File

@@ -14,6 +14,8 @@
// template <class... UTypes> // template <class... UTypes>
// explicit tuple(UTypes&&... u); // explicit tuple(UTypes&&... u);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <cassert> #include <cassert>
#include <type_traits> #include <type_traits>

View File

@@ -14,6 +14,8 @@
// template <class Alloc> // template <class Alloc>
// tuple(allocator_arg_t, const Alloc& a); // tuple(allocator_arg_t, const Alloc& a);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <cassert> #include <cassert>

View File

@@ -14,6 +14,8 @@
// template <class Alloc, class... UTypes> // template <class Alloc, class... UTypes>
// tuple(allocator_arg_t, const Alloc& a, UTypes&&...); // tuple(allocator_arg_t, const Alloc& a, UTypes&&...);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <cassert> #include <cassert>

View File

@@ -14,6 +14,8 @@
// template <class Alloc> // template <class Alloc>
// tuple(allocator_arg_t, const Alloc& a, const Types&...); // tuple(allocator_arg_t, const Alloc& a, const Types&...);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <cassert> #include <cassert>

View File

@@ -14,6 +14,8 @@
// template <class Alloc, class U1, class U2> // template <class Alloc, class U1, class U2>
// tuple(allocator_arg_t, const Alloc& a, const pair<U1, U2>&); // tuple(allocator_arg_t, const Alloc& a, const pair<U1, U2>&);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <utility> #include <utility>
#include <cassert> #include <cassert>

View File

@@ -14,6 +14,8 @@
// template <class Alloc, class... UTypes> // template <class Alloc, class... UTypes>
// tuple(allocator_arg_t, const Alloc& a, const tuple<UTypes...>&); // tuple(allocator_arg_t, const Alloc& a, const tuple<UTypes...>&);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <cassert> #include <cassert>

View File

@@ -14,6 +14,8 @@
// template <class Alloc, class... UTypes> // template <class Alloc, class... UTypes>
// tuple(allocator_arg_t, const Alloc& a, tuple<UTypes...>&&); // tuple(allocator_arg_t, const Alloc& a, tuple<UTypes...>&&);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <memory> #include <memory>

View File

@@ -14,6 +14,8 @@
// template <class Alloc> // template <class Alloc>
// tuple(allocator_arg_t, const Alloc& a, const tuple&); // tuple(allocator_arg_t, const Alloc& a, const tuple&);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <cassert> #include <cassert>

View File

@@ -14,6 +14,8 @@
// template <class Alloc> // template <class Alloc>
// tuple(allocator_arg_t, const Alloc& a, tuple&&); // tuple(allocator_arg_t, const Alloc& a, tuple&&);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <cassert> #include <cassert>

View File

@@ -14,6 +14,8 @@
// template <class Alloc, class U1, class U2> // template <class Alloc, class U1, class U2>
// tuple(allocator_arg_t, const Alloc& a, pair<U1, U2>&&); // tuple(allocator_arg_t, const Alloc& a, pair<U1, U2>&&);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <utility> #include <utility>
#include <memory> #include <memory>

View File

@@ -13,6 +13,8 @@
// explicit tuple(const T&...); // explicit tuple(const T&...);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <cassert> #include <cassert>

View File

@@ -13,6 +13,8 @@
// explicit tuple(const T&...); // explicit tuple(const T&...);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <cassert> #include <cassert>

View File

@@ -13,6 +13,8 @@
// explicit tuple(const T&...); // explicit tuple(const T&...);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <cassert> #include <cassert>

View File

@@ -13,6 +13,8 @@
// template <class U1, class U2> tuple(const pair<U1, U2>& u); // template <class U1, class U2> tuple(const pair<U1, U2>& u);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <utility> #include <utility>
#include <cassert> #include <cassert>

View File

@@ -13,6 +13,8 @@
// template <class... UTypes> tuple(const tuple<UTypes...>& u); // template <class... UTypes> tuple(const tuple<UTypes...>& u);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <utility> #include <utility>
#include <string> #include <string>

View File

@@ -13,6 +13,8 @@
// template <class... UTypes> tuple(tuple<UTypes...>&& u); // template <class... UTypes> tuple(tuple<UTypes...>&& u);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <memory> #include <memory>

View File

@@ -13,6 +13,8 @@
// tuple(const tuple& u) = default; // tuple(const tuple& u) = default;
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <cassert> #include <cassert>

View File

@@ -13,6 +13,8 @@
// tuple(const tuple& u) = default; // tuple(const tuple& u) = default;
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <cassert> #include <cassert>

View File

@@ -13,6 +13,8 @@
// constexpr tuple(); // constexpr tuple();
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <cassert> #include <cassert>

View File

@@ -13,6 +13,8 @@
// tuple(tuple&& u); // tuple(tuple&& u);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <utility> #include <utility>
#include <cassert> #include <cassert>

View File

@@ -13,6 +13,8 @@
// template <class U1, class U2> tuple(pair<U1, U2>&& u); // template <class U1, class U2> tuple(pair<U1, U2>&& u);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <utility> #include <utility>
#include <memory> #include <memory>

View File

@@ -12,6 +12,8 @@
// template<class... Types> // template<class... Types>
// tuple<Types&&...> forward_as_tuple(Types&&... t); // tuple<Types&&...> forward_as_tuple(Types&&... t);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <type_traits> #include <type_traits>
#include <cassert> #include <cassert>

View File

@@ -14,6 +14,8 @@
// template<class... Types> // template<class... Types>
// tuple<VTypes...> make_tuple(Types&&... t); // tuple<VTypes...> make_tuple(Types&&... t);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <functional> #include <functional>
#include <cassert> #include <cassert>

View File

@@ -14,6 +14,8 @@
// template<class... Types> // template<class... Types>
// tuple<Types&...> tie(Types&... t); // tuple<Types&...> tie(Types&... t);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <cassert> #include <cassert>

View File

@@ -13,6 +13,8 @@
// template <class... Tuples> tuple<CTypes...> tuple_cat(Tuples&&... tpls); // template <class... Tuples> tuple<CTypes...> tuple_cat(Tuples&&... tpls);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <utility> #include <utility>
#include <array> #include <array>

View File

@@ -15,6 +15,8 @@
// typename tuple_element<I, tuple<Types...> >::type const& // typename tuple_element<I, tuple<Types...> >::type const&
// get(const tuple<Types...>& t); // get(const tuple<Types...>& t);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <cassert> #include <cassert>

View File

@@ -15,6 +15,8 @@
// typename tuple_element<I, tuple<Types...> >::type const& // typename tuple_element<I, tuple<Types...> >::type const&
// get(const tuple<Types...>& t); // get(const tuple<Types...>& t);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <cassert> #include <cassert>

View File

@@ -15,6 +15,8 @@
// typename tuple_element<I, tuple<Types...> >::type& // typename tuple_element<I, tuple<Types...> >::type&
// get(tuple<Types...>& t); // get(tuple<Types...>& t);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <cassert> #include <cassert>

View File

@@ -15,6 +15,8 @@
// typename tuple_element<I, tuple<Types...> >::type&& // typename tuple_element<I, tuple<Types...> >::type&&
// get(tuple<Types...>&& t); // get(tuple<Types...>&& t);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <utility> #include <utility>
#include <memory> #include <memory>

View File

@@ -7,6 +7,8 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <complex> #include <complex>

View File

@@ -7,6 +7,8 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <complex> #include <complex>

View File

@@ -7,6 +7,8 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <complex> #include <complex>

View File

@@ -7,6 +7,8 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <complex> #include <complex>

View File

@@ -7,6 +7,8 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <memory> #include <memory>

View File

@@ -18,6 +18,8 @@
// typedef Ti type; // typedef Ti type;
// }; // };
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <type_traits> #include <type_traits>

View File

@@ -15,6 +15,8 @@
// class tuple_size<tuple<Types...>> // class tuple_size<tuple<Types...>>
// : public integral_constant<size_t, sizeof...(Types)> { }; // : public integral_constant<size_t, sizeof...(Types)> { };
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <type_traits> #include <type_traits>

View File

@@ -15,6 +15,8 @@
// bool // bool
// operator==(const tuple<TTypes...>& t, const tuple<UTypes...>& u); // operator==(const tuple<TTypes...>& t, const tuple<UTypes...>& u);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <cassert> #include <cassert>

View File

@@ -27,6 +27,8 @@
// bool // bool
// operator>=(const tuple<TTypes...>& t, const tuple<UTypes...>& u); // operator>=(const tuple<TTypes...>& t, const tuple<UTypes...>& u);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <string> #include <string>
#include <cassert> #include <cassert>

View File

@@ -14,6 +14,8 @@
// template <class... Types> // template <class... Types>
// void swap(tuple<Types...>& x, tuple<Types...>& y); // void swap(tuple<Types...>& x, tuple<Types...>& y);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <cassert> #include <cassert>

View File

@@ -13,6 +13,8 @@
// void swap(tuple& rhs); // void swap(tuple& rhs);
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <cassert> #include <cassert>

View File

@@ -14,6 +14,8 @@
// template <class... Types, class Alloc> // template <class... Types, class Alloc>
// struct uses_allocator<tuple<Types...>, Alloc> : true_type { }; // struct uses_allocator<tuple<Types...>, Alloc> : true_type { };
// UNSUPPORTED: c++98, c++03
#include <tuple> #include <tuple>
#include <type_traits> #include <type_traits>