summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libcxx/test/containers/associative/map/types.pass.cpp47
-rw-r--r--libcxx/test/containers/associative/multimap/types.pass.cpp47
-rw-r--r--libcxx/test/containers/associative/multiset/types.pass.cpp47
-rw-r--r--libcxx/test/containers/associative/set/types.pass.cpp47
-rw-r--r--libcxx/test/containers/sequences/deque/deque.capacity/resize_size.pass.cpp2
-rw-r--r--libcxx/test/containers/sequences/deque/deque.capacity/resize_size_value.pass.cpp2
-rw-r--r--libcxx/test/containers/sequences/deque/types.pass.cpp3
-rw-r--r--libcxx/test/containers/sequences/forwardlist/types.pass.cpp39
-rw-r--r--libcxx/test/containers/unord/unord.map/types.pass.cpp3
-rw-r--r--libcxx/test/containers/unord/unord.multimap/types.pass.cpp3
-rw-r--r--libcxx/test/containers/unord/unord.multiset/types.pass.cpp3
-rw-r--r--libcxx/test/containers/unord/unord.set/types.pass.cpp3
12 files changed, 135 insertions, 111 deletions
diff --git a/libcxx/test/containers/associative/map/types.pass.cpp b/libcxx/test/containers/associative/map/types.pass.cpp
index 487b69f8c37..d117deff693 100644
--- a/libcxx/test/containers/associative/map/types.pass.cpp
+++ b/libcxx/test/containers/associative/map/types.pass.cpp
@@ -37,31 +37,34 @@
int main()
{
{
- static_assert((std::is_same<std::map<int, double>::key_type, int>::value), "");
- static_assert((std::is_same<std::map<int, double>::mapped_type, double>::value), "");
- static_assert((std::is_same<std::map<int, double>::value_type, std::pair<const int, double> >::value), "");
- static_assert((std::is_same<std::map<int, double>::key_compare, std::less<int> >::value), "");
- static_assert((std::is_same<std::map<int, double>::allocator_type, std::allocator<std::pair<const int, double> > >::value), "");
- static_assert((std::is_same<std::map<int, double>::reference, std::pair<const int, double>&>::value), "");
- static_assert((std::is_same<std::map<int, double>::const_reference, const std::pair<const int, double>&>::value), "");
- static_assert((std::is_same<std::map<int, double>::pointer, std::pair<const int, double>*>::value), "");
- static_assert((std::is_same<std::map<int, double>::const_pointer, const std::pair<const int, double>*>::value), "");
- static_assert((std::is_same<std::map<int, double>::size_type, std::size_t>::value), "");
- static_assert((std::is_same<std::map<int, double>::difference_type, std::ptrdiff_t>::value), "");
+ typedef std::map<int, double> C;
+ static_assert((std::is_same<C::key_type, int>::value), "");
+ static_assert((std::is_same<C::mapped_type, double>::value), "");
+ static_assert((std::is_same<C::value_type, std::pair<const int, double> >::value), "");
+ static_assert((std::is_same<C::key_compare, std::less<int> >::value), "");
+ static_assert((std::is_same<C::allocator_type, std::allocator<std::pair<const int, double> > >::value), "");
+ static_assert((std::is_same<C::reference, std::pair<const int, double>&>::value), "");
+ static_assert((std::is_same<C::const_reference, const std::pair<const int, double>&>::value), "");
+ static_assert((std::is_same<C::pointer, std::pair<const int, double>*>::value), "");
+ static_assert((std::is_same<C::const_pointer, const std::pair<const int, double>*>::value), "");
+ static_assert((std::is_same<C::size_type, std::size_t>::value), "");
+ static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), "");
}
#if __cplusplus >= 201103L
{
- static_assert((std::is_same<std::map<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::key_type, int>::value), "");
- static_assert((std::is_same<std::map<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::mapped_type, double>::value), "");
- static_assert((std::is_same<std::map<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::value_type, std::pair<const int, double> >::value), "");
- static_assert((std::is_same<std::map<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::key_compare, std::less<int> >::value), "");
- static_assert((std::is_same<std::map<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::allocator_type, min_allocator<std::pair<const int, double> > >::value), "");
- static_assert((std::is_same<std::map<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::reference, std::pair<const int, double>&>::value), "");
- static_assert((std::is_same<std::map<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::const_reference, const std::pair<const int, double>&>::value), "");
- static_assert((std::is_same<std::map<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::pointer, min_pointer<std::pair<const int, double>>>::value), "");
- static_assert((std::is_same<std::map<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::const_pointer, min_pointer<const std::pair<const int, double>>>::value), "");
- static_assert((std::is_same<std::map<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::size_type, std::size_t>::value), "");
- static_assert((std::is_same<std::map<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::difference_type, std::ptrdiff_t>::value), "");
+ typedef std::map<int, double, std::less<int>, min_allocator<std::pair<const int, double>>> C;
+ static_assert((std::is_same<C::key_type, int>::value), "");
+ static_assert((std::is_same<C::mapped_type, double>::value), "");
+ static_assert((std::is_same<C::value_type, std::pair<const int, double> >::value), "");
+ static_assert((std::is_same<C::key_compare, std::less<int> >::value), "");
+ static_assert((std::is_same<C::allocator_type, min_allocator<std::pair<const int, double> > >::value), "");
+ static_assert((std::is_same<C::reference, std::pair<const int, double>&>::value), "");
+ static_assert((std::is_same<C::const_reference, const std::pair<const int, double>&>::value), "");
+ static_assert((std::is_same<C::pointer, min_pointer<std::pair<const int, double>>>::value), "");
+ static_assert((std::is_same<C::const_pointer, min_pointer<const std::pair<const int, double>>>::value), "");
+// min_allocator doesn't have a size_type, so one gets synthesized
+ static_assert((std::is_same<C::size_type, std::make_unsigned<C::difference_type>::type>::value), "");
+ static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), "");
}
#endif
}
diff --git a/libcxx/test/containers/associative/multimap/types.pass.cpp b/libcxx/test/containers/associative/multimap/types.pass.cpp
index 82132f15d09..a0f4db056a8 100644
--- a/libcxx/test/containers/associative/multimap/types.pass.cpp
+++ b/libcxx/test/containers/associative/multimap/types.pass.cpp
@@ -37,31 +37,34 @@
int main()
{
{
- static_assert((std::is_same<std::multimap<int, double>::key_type, int>::value), "");
- static_assert((std::is_same<std::multimap<int, double>::mapped_type, double>::value), "");
- static_assert((std::is_same<std::multimap<int, double>::value_type, std::pair<const int, double> >::value), "");
- static_assert((std::is_same<std::multimap<int, double>::key_compare, std::less<int> >::value), "");
- static_assert((std::is_same<std::multimap<int, double>::allocator_type, std::allocator<std::pair<const int, double> > >::value), "");
- static_assert((std::is_same<std::multimap<int, double>::reference, std::pair<const int, double>&>::value), "");
- static_assert((std::is_same<std::multimap<int, double>::const_reference, const std::pair<const int, double>&>::value), "");
- static_assert((std::is_same<std::multimap<int, double>::pointer, std::pair<const int, double>*>::value), "");
- static_assert((std::is_same<std::multimap<int, double>::const_pointer, const std::pair<const int, double>*>::value), "");
- static_assert((std::is_same<std::multimap<int, double>::size_type, std::size_t>::value), "");
- static_assert((std::is_same<std::multimap<int, double>::difference_type, std::ptrdiff_t>::value), "");
+ typedef std::multimap<int, double> C;
+ static_assert((std::is_same<C::key_type, int>::value), "");
+ static_assert((std::is_same<C::mapped_type, double>::value), "");
+ static_assert((std::is_same<C::value_type, std::pair<const int, double> >::value), "");
+ static_assert((std::is_same<C::key_compare, std::less<int> >::value), "");
+ static_assert((std::is_same<C::allocator_type, std::allocator<std::pair<const int, double> > >::value), "");
+ static_assert((std::is_same<C::reference, std::pair<const int, double>&>::value), "");
+ static_assert((std::is_same<C::const_reference, const std::pair<const int, double>&>::value), "");
+ static_assert((std::is_same<C::pointer, std::pair<const int, double>*>::value), "");
+ static_assert((std::is_same<C::const_pointer, const std::pair<const int, double>*>::value), "");
+ static_assert((std::is_same<C::size_type, std::size_t>::value), "");
+ static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), "");
}
#if __cplusplus >= 201103L
{
- static_assert((std::is_same<std::multimap<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::key_type, int>::value), "");
- static_assert((std::is_same<std::multimap<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::mapped_type, double>::value), "");
- static_assert((std::is_same<std::multimap<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::value_type, std::pair<const int, double> >::value), "");
- static_assert((std::is_same<std::multimap<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::key_compare, std::less<int> >::value), "");
- static_assert((std::is_same<std::multimap<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::allocator_type, min_allocator<std::pair<const int, double> > >::value), "");
- static_assert((std::is_same<std::multimap<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::reference, std::pair<const int, double>&>::value), "");
- static_assert((std::is_same<std::multimap<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::const_reference, const std::pair<const int, double>&>::value), "");
- static_assert((std::is_same<std::multimap<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::pointer, min_pointer<std::pair<const int, double>>>::value), "");
- static_assert((std::is_same<std::multimap<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::const_pointer, min_pointer<const std::pair<const int, double>>>::value), "");
- static_assert((std::is_same<std::multimap<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::size_type, std::size_t>::value), "");
- static_assert((std::is_same<std::multimap<int, double, std::less<int>, min_allocator<std::pair<const int, double>>>::difference_type, std::ptrdiff_t>::value), "");
+ typedef std::multimap<int, double, std::less<int>, min_allocator<std::pair<const int, double>>> C;
+ static_assert((std::is_same<C::key_type, int>::value), "");
+ static_assert((std::is_same<C::mapped_type, double>::value), "");
+ static_assert((std::is_same<C::value_type, std::pair<const int, double> >::value), "");
+ static_assert((std::is_same<C::key_compare, std::less<int> >::value), "");
+ static_assert((std::is_same<C::allocator_type, min_allocator<std::pair<const int, double> > >::value), "");
+ static_assert((std::is_same<C::reference, std::pair<const int, double>&>::value), "");
+ static_assert((std::is_same<C::const_reference, const std::pair<const int, double>&>::value), "");
+ static_assert((std::is_same<C::pointer, min_pointer<std::pair<const int, double>>>::value), "");
+ static_assert((std::is_same<C::const_pointer, min_pointer<const std::pair<const int, double>>>::value), "");
+// min_allocator doesn't have a size_type, so one gets synthesized
+ static_assert((std::is_same<C::size_type, std::make_unsigned<C::difference_type>::type>::value), "");
+ static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), "");
}
#endif
}
diff --git a/libcxx/test/containers/associative/multiset/types.pass.cpp b/libcxx/test/containers/associative/multiset/types.pass.cpp
index da9c8d6b5fe..e1e3ad9100c 100644
--- a/libcxx/test/containers/associative/multiset/types.pass.cpp
+++ b/libcxx/test/containers/associative/multiset/types.pass.cpp
@@ -37,31 +37,34 @@
int main()
{
{
- static_assert((std::is_same<std::multiset<int>::key_type, int>::value), "");
- static_assert((std::is_same<std::multiset<int>::value_type, int>::value), "");
- static_assert((std::is_same<std::multiset<int>::key_compare, std::less<int> >::value), "");
- static_assert((std::is_same<std::multiset<int>::value_compare, std::less<int> >::value), "");
- static_assert((std::is_same<std::multiset<int>::allocator_type, std::allocator<int> >::value), "");
- static_assert((std::is_same<std::multiset<int>::reference, int&>::value), "");
- static_assert((std::is_same<std::multiset<int>::const_reference, const int&>::value), "");
- static_assert((std::is_same<std::multiset<int>::pointer, int*>::value), "");
- static_assert((std::is_same<std::multiset<int>::const_pointer, const int*>::value), "");
- static_assert((std::is_same<std::multiset<int>::size_type, std::size_t>::value), "");
- static_assert((std::is_same<std::multiset<int>::difference_type, std::ptrdiff_t>::value), "");
+ typedef std::multiset<int> C;
+ static_assert((std::is_same<C::key_type, int>::value), "");
+ static_assert((std::is_same<C::value_type, int>::value), "");
+ static_assert((std::is_same<C::key_compare, std::less<int> >::value), "");
+ static_assert((std::is_same<C::value_compare, std::less<int> >::value), "");
+ static_assert((std::is_same<C::allocator_type, std::allocator<int> >::value), "");
+ static_assert((std::is_same<C::reference, int&>::value), "");
+ static_assert((std::is_same<C::const_reference, const int&>::value), "");
+ static_assert((std::is_same<C::pointer, int*>::value), "");
+ static_assert((std::is_same<C::const_pointer, const int*>::value), "");
+ static_assert((std::is_same<C::size_type, std::size_t>::value), "");
+ static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), "");
}
#if __cplusplus >= 201103L
{
- static_assert((std::is_same<std::multiset<int, std::less<int>, min_allocator<int>>::key_type, int>::value), "");
- static_assert((std::is_same<std::multiset<int, std::less<int>, min_allocator<int>>::value_type, int>::value), "");
- static_assert((std::is_same<std::multiset<int, std::less<int>, min_allocator<int>>::key_compare, std::less<int> >::value), "");
- static_assert((std::is_same<std::multiset<int, std::less<int>, min_allocator<int>>::value_compare, std::less<int> >::value), "");
- static_assert((std::is_same<std::multiset<int, std::less<int>, min_allocator<int>>::allocator_type, min_allocator<int>>::value), "");
- static_assert((std::is_same<std::multiset<int, std::less<int>, min_allocator<int>>::reference, int&>::value), "");
- static_assert((std::is_same<std::multiset<int, std::less<int>, min_allocator<int>>::const_reference, const int&>::value), "");
- static_assert((std::is_same<std::multiset<int, std::less<int>, min_allocator<int>>::pointer, min_pointer<int>>::value), "");
- static_assert((std::is_same<std::multiset<int, std::less<int>, min_allocator<int>>::const_pointer, min_pointer<const int>>::value), "");
- static_assert((std::is_same<std::multiset<int, std::less<int>, min_allocator<int>>::size_type, std::size_t>::value), "");
- static_assert((std::is_same<std::multiset<int, std::less<int>, min_allocator<int>>::difference_type, std::ptrdiff_t>::value), "");
+ typedef std::multiset<int, std::less<int>, min_allocator<int>> C;
+ static_assert((std::is_same<C::key_type, int>::value), "");
+ static_assert((std::is_same<C::value_type, int>::value), "");
+ static_assert((std::is_same<C::key_compare, std::less<int> >::value), "");
+ static_assert((std::is_same<C::value_compare, std::less<int> >::value), "");
+ static_assert((std::is_same<C::allocator_type, min_allocator<int>>::value), "");
+ static_assert((std::is_same<C::reference, int&>::value), "");
+ static_assert((std::is_same<C::const_reference, const int&>::value), "");
+ static_assert((std::is_same<C::pointer, min_pointer<int>>::value), "");
+ static_assert((std::is_same<C::const_pointer, min_pointer<const int>>::value), "");
+// min_allocator doesn't have a size_type, so one gets synthesized
+ static_assert((std::is_same<C::size_type, std::make_unsigned<C::difference_type>::type>::value), "");
+ static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), "");
}
#endif
}
diff --git a/libcxx/test/containers/associative/set/types.pass.cpp b/libcxx/test/containers/associative/set/types.pass.cpp
index 8d7bb68f078..3362c42aee4 100644
--- a/libcxx/test/containers/associative/set/types.pass.cpp
+++ b/libcxx/test/containers/associative/set/types.pass.cpp
@@ -37,31 +37,34 @@
int main()
{
{
- static_assert((std::is_same<std::set<int>::key_type, int>::value), "");
- static_assert((std::is_same<std::set<int>::value_type, int>::value), "");
- static_assert((std::is_same<std::set<int>::key_compare, std::less<int> >::value), "");
- static_assert((std::is_same<std::set<int>::value_compare, std::less<int> >::value), "");
- static_assert((std::is_same<std::set<int>::allocator_type, std::allocator<int> >::value), "");
- static_assert((std::is_same<std::set<int>::reference, int&>::value), "");
- static_assert((std::is_same<std::set<int>::const_reference, const int&>::value), "");
- static_assert((std::is_same<std::set<int>::pointer, int*>::value), "");
- static_assert((std::is_same<std::set<int>::const_pointer, const int*>::value), "");
- static_assert((std::is_same<std::set<int>::size_type, std::size_t>::value), "");
- static_assert((std::is_same<std::set<int>::difference_type, std::ptrdiff_t>::value), "");
+ typedef std::set<int> C;
+ static_assert((std::is_same<C::key_type, int>::value), "");
+ static_assert((std::is_same<C::value_type, int>::value), "");
+ static_assert((std::is_same<C::key_compare, std::less<int> >::value), "");
+ static_assert((std::is_same<C::value_compare, std::less<int> >::value), "");
+ static_assert((std::is_same<C::allocator_type, std::allocator<int> >::value), "");
+ static_assert((std::is_same<C::reference, int&>::value), "");
+ static_assert((std::is_same<C::const_reference, const int&>::value), "");
+ static_assert((std::is_same<C::pointer, int*>::value), "");
+ static_assert((std::is_same<C::const_pointer, const int*>::value), "");
+ static_assert((std::is_same<C::size_type, std::size_t>::value), "");
+ static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), "");
}
#if __cplusplus >= 201103L
{
- static_assert((std::is_same<std::set<int, std::less<int>, min_allocator<int>>::key_type, int>::value), "");
- static_assert((std::is_same<std::set<int, std::less<int>, min_allocator<int>>::value_type, int>::value), "");
- static_assert((std::is_same<std::set<int, std::less<int>, min_allocator<int>>::key_compare, std::less<int> >::value), "");
- static_assert((std::is_same<std::set<int, std::less<int>, min_allocator<int>>::value_compare, std::less<int> >::value), "");
- static_assert((std::is_same<std::set<int, std::less<int>, min_allocator<int>>::allocator_type, min_allocator<int> >::value), "");
- static_assert((std::is_same<std::set<int, std::less<int>, min_allocator<int>>::reference, int&>::value), "");
- static_assert((std::is_same<std::set<int, std::less<int>, min_allocator<int>>::const_reference, const int&>::value), "");
- static_assert((std::is_same<std::set<int, std::less<int>, min_allocator<int>>::pointer, min_pointer<int>>::value), "");
- static_assert((std::is_same<std::set<int, std::less<int>, min_allocator<int>>::const_pointer, min_pointer<const int>>::value), "");
- static_assert((std::is_same<std::set<int, std::less<int>, min_allocator<int>>::size_type, std::size_t>::value), "");
- static_assert((std::is_same<std::set<int, std::less<int>, min_allocator<int>>::difference_type, std::ptrdiff_t>::value), "");
+ typedef std::set<int, std::less<int>, min_allocator<int>> C;
+ static_assert((std::is_same<C::key_type, int>::value), "");
+ static_assert((std::is_same<C::value_type, int>::value), "");
+ static_assert((std::is_same<C::key_compare, std::less<int> >::value), "");
+ static_assert((std::is_same<C::value_compare, std::less<int> >::value), "");
+ static_assert((std::is_same<C::allocator_type, min_allocator<int> >::value), "");
+ static_assert((std::is_same<C::reference, int&>::value), "");
+ static_assert((std::is_same<C::const_reference, const int&>::value), "");
+ static_assert((std::is_same<C::pointer, min_pointer<int>>::value), "");
+ static_assert((std::is_same<C::const_pointer, min_pointer<const int>>::value), "");
+// min_allocator doesn't have a size_type, so one gets synthesized
+ static_assert((std::is_same<C::size_type, std::make_unsigned<C::difference_type>::type>::value), "");
+ static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), "");
}
#endif
}
diff --git a/libcxx/test/containers/sequences/deque/deque.capacity/resize_size.pass.cpp b/libcxx/test/containers/sequences/deque/deque.capacity/resize_size.pass.cpp
index 15f49df395e..8f732a06c7c 100644
--- a/libcxx/test/containers/sequences/deque/deque.capacity/resize_size.pass.cpp
+++ b/libcxx/test/containers/sequences/deque/deque.capacity/resize_size.pass.cpp
@@ -43,7 +43,7 @@ void
test(C& c1, int size)
{
typedef typename C::const_iterator CI;
- std::size_t c1_osize = c1.size();
+ typename C::size_type c1_osize = c1.size();
c1.resize(size);
assert(c1.size() == size);
assert(distance(c1.begin(), c1.end()) == c1.size());
diff --git a/libcxx/test/containers/sequences/deque/deque.capacity/resize_size_value.pass.cpp b/libcxx/test/containers/sequences/deque/deque.capacity/resize_size_value.pass.cpp
index 727b5d5d864..1d1522cbcb3 100644
--- a/libcxx/test/containers/sequences/deque/deque.capacity/resize_size_value.pass.cpp
+++ b/libcxx/test/containers/sequences/deque/deque.capacity/resize_size_value.pass.cpp
@@ -43,7 +43,7 @@ void
test(C& c1, int size, int x)
{
typedef typename C::const_iterator CI;
- std::size_t c1_osize = c1.size();
+ typename C::size_type c1_osize = c1.size();
c1.resize(size, x);
assert(c1.size() == size);
assert(distance(c1.begin(), c1.end()) == c1.size());
diff --git a/libcxx/test/containers/sequences/deque/types.pass.cpp b/libcxx/test/containers/sequences/deque/types.pass.cpp
index d32b65c9004..da9470d8a6c 100644
--- a/libcxx/test/containers/sequences/deque/types.pass.cpp
+++ b/libcxx/test/containers/sequences/deque/types.pass.cpp
@@ -82,7 +82,8 @@ int main()
static_assert((std::is_same<C::const_reference, const C::value_type&>::value), "");
static_assert((std::is_same<C::pointer, min_pointer<C::value_type>>::value), "");
static_assert((std::is_same<C::const_pointer, min_pointer<const C::value_type>>::value), "");
- static_assert((std::is_same<C::size_type, std::size_t>::value), "");
+// min_allocator doesn't have a size_type, so one gets synthesized
+ static_assert((std::is_same<C::size_type, std::make_unsigned<C::difference_type>::type>::value), "");
static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), "");
}
#endif
diff --git a/libcxx/test/containers/sequences/forwardlist/types.pass.cpp b/libcxx/test/containers/sequences/forwardlist/types.pass.cpp
index 68cebf978cb..c95548710bc 100644
--- a/libcxx/test/containers/sequences/forwardlist/types.pass.cpp
+++ b/libcxx/test/containers/sequences/forwardlist/types.pass.cpp
@@ -32,22 +32,29 @@
int main()
{
- static_assert((std::is_same<std::forward_list<char>::value_type, char>::value), "");
- static_assert((std::is_same<std::forward_list<char>::allocator_type, std::allocator<char> >::value), "");
- static_assert((std::is_same<std::forward_list<char>::reference, char&>::value), "");
- static_assert((std::is_same<std::forward_list<char>::const_reference, const char&>::value), "");
- static_assert((std::is_same<std::forward_list<char>::pointer, char*>::value), "");
- static_assert((std::is_same<std::forward_list<char>::const_pointer, const char*>::value), "");
- static_assert((std::is_same<std::forward_list<char>::size_type, std::size_t>::value), "");
- static_assert((std::is_same<std::forward_list<char>::difference_type, std::ptrdiff_t>::value), "");
+ {
+ typedef std::forward_list<char> C;
+ static_assert((std::is_same<C::value_type, char>::value), "");
+ static_assert((std::is_same<C::allocator_type, std::allocator<char> >::value), "");
+ static_assert((std::is_same<C::reference, char&>::value), "");
+ static_assert((std::is_same<C::const_reference, const char&>::value), "");
+ static_assert((std::is_same<C::pointer, char*>::value), "");
+ static_assert((std::is_same<C::const_pointer, const char*>::value), "");
+ static_assert((std::is_same<C::size_type, std::size_t>::value), "");
+ static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), "");
+ }
#if __cplusplus >= 201103L
- static_assert((std::is_same<std::forward_list<char, min_allocator<char>>::value_type, char>::value), "");
- static_assert((std::is_same<std::forward_list<char, min_allocator<char>>::allocator_type, min_allocator<char> >::value), "");
- static_assert((std::is_same<std::forward_list<char, min_allocator<char>>::reference, char&>::value), "");
- static_assert((std::is_same<std::forward_list<char, min_allocator<char>>::const_reference, const char&>::value), "");
- static_assert((std::is_same<std::forward_list<char, min_allocator<char>>::pointer, min_pointer<char>>::value), "");
- static_assert((std::is_same<std::forward_list<char, min_allocator<char>>::const_pointer, min_pointer<const char>>::value), "");
- static_assert((std::is_same<std::forward_list<char, min_allocator<char>>::size_type, std::size_t>::value), "");
- static_assert((std::is_same<std::forward_list<char, min_allocator<char>>::difference_type, std::ptrdiff_t>::value), "");
+ {
+ typedef std::forward_list<char, min_allocator<char>> C;
+ static_assert((std::is_same<C::value_type, char>::value), "");
+ static_assert((std::is_same<C::allocator_type, min_allocator<char> >::value), "");
+ static_assert((std::is_same<C::reference, char&>::value), "");
+ static_assert((std::is_same<C::const_reference, const char&>::value), "");
+ static_assert((std::is_same<C::pointer, min_pointer<char>>::value), "");
+ static_assert((std::is_same<C::const_pointer, min_pointer<const char>>::value), "");
+// min_allocator doesn't have a size_type, so one gets synthesized
+ static_assert((std::is_same<C::size_type, std::make_unsigned<C::difference_type>::type>::value), "");
+ static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), "");
+ }
#endif
}
diff --git a/libcxx/test/containers/unord/unord.map/types.pass.cpp b/libcxx/test/containers/unord/unord.map/types.pass.cpp
index 2f3eab15186..b53ff8e1540 100644
--- a/libcxx/test/containers/unord/unord.map/types.pass.cpp
+++ b/libcxx/test/containers/unord/unord.map/types.pass.cpp
@@ -64,7 +64,8 @@ int main()
static_assert((std::is_same<C::const_reference, const C::value_type&>::value), "");
static_assert((std::is_same<C::pointer, min_pointer<C::value_type>>::value), "");
static_assert((std::is_same<C::const_pointer, min_pointer<const C::value_type>>::value), "");
- static_assert((std::is_same<C::size_type, std::size_t>::value), "");
+ // min_allocator doesn't have a size_type, so one gets synthesized
+ static_assert((std::is_same<C::size_type, std::make_unsigned<C::difference_type>::type>::value), "");
static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), "");
}
#endif
diff --git a/libcxx/test/containers/unord/unord.multimap/types.pass.cpp b/libcxx/test/containers/unord/unord.multimap/types.pass.cpp
index 5235415c4c5..55ae749746c 100644
--- a/libcxx/test/containers/unord/unord.multimap/types.pass.cpp
+++ b/libcxx/test/containers/unord/unord.multimap/types.pass.cpp
@@ -64,7 +64,8 @@ int main()
static_assert((std::is_same<C::const_reference, const C::value_type&>::value), "");
static_assert((std::is_same<C::pointer, min_pointer<C::value_type>>::value), "");
static_assert((std::is_same<C::const_pointer, min_pointer<const C::value_type>>::value), "");
- static_assert((std::is_same<C::size_type, std::size_t>::value), "");
+ // min_allocator doesn't have a size_type, so one gets synthesized
+ static_assert((std::is_same<C::size_type, std::make_unsigned<C::difference_type>::type>::value), "");
static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), "");
}
#endif
diff --git a/libcxx/test/containers/unord/unord.multiset/types.pass.cpp b/libcxx/test/containers/unord/unord.multiset/types.pass.cpp
index 82b403daa5e..5222222d819 100644
--- a/libcxx/test/containers/unord/unord.multiset/types.pass.cpp
+++ b/libcxx/test/containers/unord/unord.multiset/types.pass.cpp
@@ -61,7 +61,8 @@ int main()
static_assert((std::is_same<C::const_reference, const C::value_type&>::value), "");
static_assert((std::is_same<C::pointer, min_pointer<C::value_type>>::value), "");
static_assert((std::is_same<C::const_pointer, min_pointer<const C::value_type>>::value), "");
- static_assert((std::is_same<C::size_type, std::size_t>::value), "");
+ // min_allocator doesn't have a size_type, so one gets synthesized
+ static_assert((std::is_same<C::size_type, std::make_unsigned<C::difference_type>::type>::value), "");
static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), "");
}
#endif
diff --git a/libcxx/test/containers/unord/unord.set/types.pass.cpp b/libcxx/test/containers/unord/unord.set/types.pass.cpp
index be0b359b242..7e752a434ec 100644
--- a/libcxx/test/containers/unord/unord.set/types.pass.cpp
+++ b/libcxx/test/containers/unord/unord.set/types.pass.cpp
@@ -61,7 +61,8 @@ int main()
static_assert((std::is_same<C::const_reference, const C::value_type&>::value), "");
static_assert((std::is_same<C::pointer, min_pointer<C::value_type>>::value), "");
static_assert((std::is_same<C::const_pointer, min_pointer<const C::value_type>>::value), "");
- static_assert((std::is_same<C::size_type, std::size_t>::value), "");
+ // min_allocator doesn't have a size_type, so one gets synthesized
+ static_assert((std::is_same<C::size_type, std::make_unsigned<C::difference_type>::type>::value), "");
static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), "");
}
#endif
OpenPOWER on IntegriCloud