Fix for PRPR17934; based on a fix suggested by Peter Sommerlad
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@196058 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -50,11 +50,20 @@ int main()
|
||||
assert ( !(ii1 != ii2 ));
|
||||
assert ( !(ii1 != cii ));
|
||||
|
||||
// C c;
|
||||
// assert ( ii1 != c.cbegin());
|
||||
// assert ( cii != c.begin());
|
||||
// assert ( cii != c.cend());
|
||||
// assert ( ii1 != c.end());
|
||||
C c;
|
||||
assert ( c.begin() == std::begin(c));
|
||||
assert ( c.cbegin() == std::cbegin(c));
|
||||
assert ( c.rbegin() == std::rbegin(c));
|
||||
assert ( c.crbegin() == std::crbegin(c));
|
||||
assert ( c.end() == std::end(c));
|
||||
assert ( c.cend() == std::cend(c));
|
||||
assert ( c.rend() == std::rend(c));
|
||||
assert ( c.crend() == std::crend(c));
|
||||
|
||||
assert ( std::begin(c) != std::end(c));
|
||||
assert ( std::rbegin(c) != std::rend(c));
|
||||
assert ( std::cbegin(c) != std::cend(c));
|
||||
assert ( std::crbegin(c) != std::crend(c));
|
||||
}
|
||||
{
|
||||
typedef std::array<int, 0> C;
|
||||
@@ -68,11 +77,20 @@ int main()
|
||||
assert ( !(ii1 != ii2 ));
|
||||
assert ( !(ii1 != cii ));
|
||||
|
||||
// C c;
|
||||
// assert ( ii1 != c.cbegin());
|
||||
// assert ( cii != c.begin());
|
||||
// assert ( cii != c.cend());
|
||||
// assert ( ii1 != c.end());
|
||||
C c;
|
||||
assert ( c.begin() == std::begin(c));
|
||||
assert ( c.cbegin() == std::cbegin(c));
|
||||
assert ( c.rbegin() == std::rbegin(c));
|
||||
assert ( c.crbegin() == std::crbegin(c));
|
||||
assert ( c.end() == std::end(c));
|
||||
assert ( c.cend() == std::cend(c));
|
||||
assert ( c.rend() == std::rend(c));
|
||||
assert ( c.crend() == std::crend(c));
|
||||
|
||||
assert ( std::begin(c) == std::end(c));
|
||||
assert ( std::rbegin(c) == std::rend(c));
|
||||
assert ( std::cbegin(c) == std::cend(c));
|
||||
assert ( std::crbegin(c) == std::crend(c));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -52,6 +52,7 @@ void test_const_container( const std::initializer_list<T> & c, T val ) {
|
||||
assert ( std::end(c) == c.end());
|
||||
#if _LIBCPP_STD_VER > 11
|
||||
// initializer_list doesn't have cbegin/cend/rbegin/rend
|
||||
// but std::cbegin(),etc work (b/c they're general fn templates)
|
||||
// assert ( std::cbegin(c) == c.cbegin());
|
||||
// assert ( std::cbegin(c) != c.cend());
|
||||
// assert ( std::cend(c) == c.cend());
|
||||
|
||||
Reference in New Issue
Block a user