N3644 tests for map/multimap/set/multiset. Drive-by NOEXCEPT for __tree_const_iterator constructor. Fix comment typos in other tests
llvm-svn: 188019
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 2472b928d221fb4d48c8e0f771f0467c51af73c7
diff --git a/include/__tree b/include/__tree
index 9ffc38d..d8f6cb7 100644
--- a/include/__tree
+++ b/include/__tree
@@ -641,7 +641,11 @@
#endif
pointer;
- _LIBCPP_INLINE_VISIBILITY __tree_iterator() _NOEXCEPT {}
+ _LIBCPP_INLINE_VISIBILITY __tree_iterator() _NOEXCEPT
+#if _LIBCPP_STD_VER > 11
+ : __ptr_(nullptr)
+#endif
+ {}
_LIBCPP_INLINE_VISIBILITY reference operator*() const {return __ptr_->__value_;}
_LIBCPP_INLINE_VISIBILITY pointer operator->() const
@@ -712,7 +716,12 @@
#endif
pointer;
- _LIBCPP_INLINE_VISIBILITY __tree_const_iterator() {}
+ _LIBCPP_INLINE_VISIBILITY __tree_const_iterator() _NOEXCEPT
+#if _LIBCPP_STD_VER > 11
+ : __ptr_(nullptr)
+#endif
+ {}
+
private:
typedef typename remove_const<__node>::type __non_const_node;
typedef typename pointer_traits<__node_pointer>::template
diff --git a/test/containers/associative/map/map.access/iterator.pass.cpp b/test/containers/associative/map/map.access/iterator.pass.cpp
index 048c074..64a6284 100644
--- a/test/containers/associative/map/map.access/iterator.pass.cpp
+++ b/test/containers/associative/map/map.access/iterator.pass.cpp
@@ -207,4 +207,18 @@
}
}
#endif
+#if _LIBCPP_STD_VER > 11
+ { // N3644 testing
+ typedef std::map<int, double> C;
+ C::iterator ii1{}, ii2{};
+ C::iterator ii4 = ii1;
+ C::const_iterator cii{};
+ assert ( ii1 == ii2 );
+ assert ( ii1 == ii4 );
+ assert ( ii1 == cii );
+
+ assert ( !(ii1 != ii2 ));
+ assert ( !(ii1 != cii ));
+ }
+#endif
}
diff --git a/test/containers/associative/multimap/iterator.pass.cpp b/test/containers/associative/multimap/iterator.pass.cpp
index 283b32d..a58b583 100644
--- a/test/containers/associative/multimap/iterator.pass.cpp
+++ b/test/containers/associative/multimap/iterator.pass.cpp
@@ -211,4 +211,18 @@
}
}
#endif
+#if _LIBCPP_STD_VER > 11
+ { // N3644 testing
+ typedef std::multimap<int, double> C;
+ C::iterator ii1{}, ii2{};
+ C::iterator ii4 = ii1;
+ C::const_iterator cii{};
+ assert ( ii1 == ii2 );
+ assert ( ii1 == ii4 );
+ assert ( ii1 == cii );
+
+ assert ( !(ii1 != ii2 ));
+ assert ( !(ii1 != cii ));
+ }
+#endif
}
diff --git a/test/containers/associative/multiset/iterator.pass.cpp b/test/containers/associative/multiset/iterator.pass.cpp
index 2a7b209..f801de7 100644
--- a/test/containers/associative/multiset/iterator.pass.cpp
+++ b/test/containers/associative/multiset/iterator.pass.cpp
@@ -195,4 +195,18 @@
assert(*i == j);
}
#endif
+#if _LIBCPP_STD_VER > 11
+ { // N3644 testing
+ typedef std::multiset<int> C;
+ C::iterator ii1{}, ii2{};
+ C::iterator ii4 = ii1;
+ C::const_iterator cii{};
+ assert ( ii1 == ii2 );
+ assert ( ii1 == ii4 );
+ assert ( ii1 == cii );
+
+ assert ( !(ii1 != ii2 ));
+ assert ( !(ii1 != cii ));
+ }
+#endif
}
diff --git a/test/containers/associative/set/iterator.pass.cpp b/test/containers/associative/set/iterator.pass.cpp
index b509aea..f52e845 100644
--- a/test/containers/associative/set/iterator.pass.cpp
+++ b/test/containers/associative/set/iterator.pass.cpp
@@ -191,4 +191,18 @@
assert(*i == j);
}
#endif
+#if _LIBCPP_STD_VER > 11
+ { // N3644 testing
+ typedef std::set<int> C;
+ C::iterator ii1{}, ii2{};
+ C::iterator ii4 = ii1;
+ C::const_iterator cii{};
+ assert ( ii1 == ii2 );
+ assert ( ii1 == ii4 );
+ assert ( ii1 == cii );
+
+ assert ( !(ii1 != ii2 ));
+ assert ( !(ii1 != cii ));
+ }
+#endif
}
diff --git a/test/containers/sequences/array/iterators.pass.cpp b/test/containers/sequences/array/iterators.pass.cpp
index af5e064..8da3803 100644
--- a/test/containers/sequences/array/iterators.pass.cpp
+++ b/test/containers/sequences/array/iterators.pass.cpp
@@ -37,7 +37,7 @@
}
#if _LIBCPP_STD_VER > 11
- { // N3664 testing
+ { // N3644 testing
{
typedef std::array<int, 5> C;
C::iterator ii1{}, ii2{};
diff --git a/test/containers/sequences/deque/iterators.pass.cpp b/test/containers/sequences/deque/iterators.pass.cpp
index 5645b5d..a83a16b 100644
--- a/test/containers/sequences/deque/iterators.pass.cpp
+++ b/test/containers/sequences/deque/iterators.pass.cpp
@@ -45,7 +45,7 @@
}
#endif
#if _LIBCPP_STD_VER > 11
- { // N3664 testing
+ { // N3644 testing
std::deque<int>::iterator ii1{}, ii2{};
std::deque<int>::iterator ii4 = ii1;
std::deque<int>::const_iterator cii{};
diff --git a/test/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp b/test/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp
index aa39339..2e99514 100644
--- a/test/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp
+++ b/test/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp
@@ -121,7 +121,7 @@
}
#endif
#if _LIBCPP_STD_VER > 11
- { // N3664 testing
+ { // N3644 testing
std::forward_list<int>::iterator ii1{}, ii2{};
std::forward_list<int>::iterator ii4 = ii1;
std::forward_list<int>::const_iterator cii{};
diff --git a/test/containers/sequences/vector.bool/iterators.pass.cpp b/test/containers/sequences/vector.bool/iterators.pass.cpp
index f45bf98..98f725e 100644
--- a/test/containers/sequences/vector.bool/iterators.pass.cpp
+++ b/test/containers/sequences/vector.bool/iterators.pass.cpp
@@ -95,7 +95,7 @@
}
#endif
#if _LIBCPP_STD_VER > 11
- { // N3664 testing
+ { // N3644 testing
std::vector<bool>::iterator ii1{}, ii2{};
std::vector<bool>::iterator ii4 = ii1;
std::vector<bool>::const_iterator cii{};
diff --git a/test/containers/sequences/vector/iterators.pass.cpp b/test/containers/sequences/vector/iterators.pass.cpp
index 8e0d482..4ee16e9 100644
--- a/test/containers/sequences/vector/iterators.pass.cpp
+++ b/test/containers/sequences/vector/iterators.pass.cpp
@@ -136,7 +136,7 @@
}
#endif
#if _LIBCPP_STD_VER > 11
- { // N3664 testing
+ { // N3644 testing
typedef std::vector<int> C;
C::iterator ii1{}, ii2{};
C::iterator ii4 = ii1;
diff --git a/test/containers/unord/unord.map/iterators.pass.cpp b/test/containers/unord/unord.map/iterators.pass.cpp
index 4fc85a2..c780a66 100644
--- a/test/containers/unord/unord.map/iterators.pass.cpp
+++ b/test/containers/unord/unord.map/iterators.pass.cpp
@@ -109,7 +109,7 @@
}
#endif
#if _LIBCPP_STD_VER > 11
- { // N3664 testing
+ { // N3644 testing
typedef std::unordered_map<int,double> C;
C::iterator ii1{}, ii2{};
C::iterator ii4 = ii1;
diff --git a/test/containers/unord/unord.multimap/iterators.pass.cpp b/test/containers/unord/unord.multimap/iterators.pass.cpp
index cdf70c1..9abb196 100644
--- a/test/containers/unord/unord.multimap/iterators.pass.cpp
+++ b/test/containers/unord/unord.multimap/iterators.pass.cpp
@@ -115,7 +115,7 @@
}
#endif
#if _LIBCPP_STD_VER > 11
- { // N3664 testing
+ { // N3644 testing
typedef std::unordered_multimap<int,double> C;
C::iterator ii1{}, ii2{};
C::iterator ii4 = ii1;
diff --git a/test/containers/unord/unord.multiset/iterators.pass.cpp b/test/containers/unord/unord.multiset/iterators.pass.cpp
index bc6f880..e51b3e1 100644
--- a/test/containers/unord/unord.multiset/iterators.pass.cpp
+++ b/test/containers/unord/unord.multiset/iterators.pass.cpp
@@ -108,7 +108,7 @@
}
#endif
#if _LIBCPP_STD_VER > 11
- { // N3664 testing
+ { // N3644 testing
typedef std::unordered_multiset<int> C;
C::iterator ii1{}, ii2{};
C::iterator ii4 = ii1;
diff --git a/test/containers/unord/unord.set/iterators.pass.cpp b/test/containers/unord/unord.set/iterators.pass.cpp
index 6127d66..7bb9770 100644
--- a/test/containers/unord/unord.set/iterators.pass.cpp
+++ b/test/containers/unord/unord.set/iterators.pass.cpp
@@ -108,7 +108,7 @@
}
#endif
#if _LIBCPP_STD_VER > 11
- { // N3664 testing
+ { // N3644 testing
typedef std::unordered_set<int> C;
C::iterator ii1{}, ii2{};
C::iterator ii4 = ii1;
diff --git a/test/strings/basic.string/string.iterators/iterators.pass.cpp b/test/strings/basic.string/string.iterators/iterators.pass.cpp
index ff89609..386cede 100644
--- a/test/strings/basic.string/string.iterators/iterators.pass.cpp
+++ b/test/strings/basic.string/string.iterators/iterators.pass.cpp
@@ -22,7 +22,7 @@
int main()
{
#if _LIBCPP_STD_VER > 11
- { // N3664 testing
+ { // N3644 testing
typedef std::string C;
C::iterator ii1{}, ii2{};
C::iterator ii4 = ii1;
@@ -34,7 +34,7 @@
assert ( !(ii1 != cii ));
}
- { // N3664 testing
+ { // N3644 testing
typedef std::wstring C;
C::iterator ii1{}, ii2{};
C::iterator ii4 = ii1;
@@ -46,7 +46,7 @@
assert ( !(ii1 != cii ));
}
- { // N3664 testing
+ { // N3644 testing
typedef std::u16string C;
C::iterator ii1{}, ii2{};
C::iterator ii4 = ii1;
@@ -58,7 +58,7 @@
assert ( !(ii1 != cii ));
}
- { // N3664 testing
+ { // N3644 testing
typedef std::u32string C;
C::iterator ii1{}, ii2{};
C::iterator ii4 = ii1;