diff options
author | Marshall Clow <mclow.lists@gmail.com> | 2016-10-10 14:10:45 +0000 |
---|---|---|
committer | Marshall Clow <mclow.lists@gmail.com> | 2016-10-10 14:10:45 +0000 |
commit | 610ad3a5985c1eb40917eb948f5a09266270112c (patch) | |
tree | 337b4fb73e4cb83d2968188d65ad892282153890 /libcxx/test | |
parent | 6cadb5610effee8f32fd61c6d4e86312f0fec93a (diff) | |
download | bcm5719-llvm-610ad3a5985c1eb40917eb948f5a09266270112c.tar.gz bcm5719-llvm-610ad3a5985c1eb40917eb948f5a09266270112c.zip |
Add tests for LWG2544. We already implement this; just adding tests to make sure that we keep doing it.
llvm-svn: 283749
Diffstat (limited to 'libcxx/test')
3 files changed, 66 insertions, 0 deletions
diff --git a/libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_equal/equal.pass.cpp b/libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_equal/equal.pass.cpp index 2005d303fb3..0137664312d 100644 --- a/libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_equal/equal.pass.cpp +++ b/libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_equal/equal.pass.cpp @@ -26,26 +26,37 @@ int main() std::istreambuf_iterator<char> i2(inf2); std::istreambuf_iterator<char> i3; std::istreambuf_iterator<char> i4; + std::istreambuf_iterator<char> i5(nullptr); assert( i1.equal(i1)); assert( i1.equal(i2)); assert(!i1.equal(i3)); assert(!i1.equal(i4)); + assert(!i1.equal(i5)); assert( i2.equal(i1)); assert( i2.equal(i2)); assert(!i2.equal(i3)); assert(!i2.equal(i4)); + assert(!i2.equal(i5)); assert(!i3.equal(i1)); assert(!i3.equal(i2)); assert( i3.equal(i3)); assert( i3.equal(i4)); + assert( i3.equal(i5)); assert(!i4.equal(i1)); assert(!i4.equal(i2)); assert( i4.equal(i3)); assert( i4.equal(i4)); + assert( i4.equal(i5)); + + assert(!i5.equal(i1)); + assert(!i5.equal(i2)); + assert( i5.equal(i3)); + assert( i5.equal(i4)); + assert( i5.equal(i5)); } { std::wistringstream inf1(L"abc"); @@ -54,25 +65,36 @@ int main() std::istreambuf_iterator<wchar_t> i2(inf2); std::istreambuf_iterator<wchar_t> i3; std::istreambuf_iterator<wchar_t> i4; + std::istreambuf_iterator<wchar_t> i5(nullptr); assert( i1.equal(i1)); assert( i1.equal(i2)); assert(!i1.equal(i3)); assert(!i1.equal(i4)); + assert(!i1.equal(i5)); assert( i2.equal(i1)); assert( i2.equal(i2)); assert(!i2.equal(i3)); assert(!i2.equal(i4)); + assert(!i2.equal(i5)); assert(!i3.equal(i1)); assert(!i3.equal(i2)); assert( i3.equal(i3)); assert( i3.equal(i4)); + assert( i3.equal(i5)); assert(!i4.equal(i1)); assert(!i4.equal(i2)); assert( i4.equal(i3)); assert( i4.equal(i4)); + assert( i4.equal(i5)); + + assert(!i5.equal(i1)); + assert(!i5.equal(i2)); + assert( i5.equal(i3)); + assert( i5.equal(i4)); + assert( i5.equal(i5)); } } diff --git a/libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op!=/not_equal.pass.cpp b/libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op!=/not_equal.pass.cpp index 5e8536423d8..81e5f3439fe 100644 --- a/libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op!=/not_equal.pass.cpp +++ b/libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op!=/not_equal.pass.cpp @@ -28,26 +28,37 @@ int main() std::istreambuf_iterator<char> i2(inf2); std::istreambuf_iterator<char> i3; std::istreambuf_iterator<char> i4; + std::istreambuf_iterator<char> i5(nullptr); assert(!(i1 != i1)); assert(!(i1 != i2)); assert( (i1 != i3)); assert( (i1 != i4)); + assert( (i1 != i5)); assert(!(i2 != i1)); assert(!(i2 != i2)); assert( (i2 != i3)); assert( (i2 != i4)); + assert( (i2 != i5)); assert( (i3 != i1)); assert( (i3 != i2)); assert(!(i3 != i3)); assert(!(i3 != i4)); + assert(!(i3 != i5)); assert( (i4 != i1)); assert( (i4 != i2)); assert(!(i4 != i3)); assert(!(i4 != i4)); + assert(!(i4 != i5)); + + assert( (i5 != i1)); + assert( (i5 != i2)); + assert(!(i5 != i3)); + assert(!(i5 != i4)); + assert(!(i5 != i5)); } { std::wistringstream inf1(L"abc"); @@ -56,25 +67,36 @@ int main() std::istreambuf_iterator<wchar_t> i2(inf2); std::istreambuf_iterator<wchar_t> i3; std::istreambuf_iterator<wchar_t> i4; + std::istreambuf_iterator<wchar_t> i5(nullptr); assert(!(i1 != i1)); assert(!(i1 != i2)); assert( (i1 != i3)); assert( (i1 != i4)); + assert( (i1 != i5)); assert(!(i2 != i1)); assert(!(i2 != i2)); assert( (i2 != i3)); assert( (i2 != i4)); + assert( (i2 != i5)); assert( (i3 != i1)); assert( (i3 != i2)); assert(!(i3 != i3)); assert(!(i3 != i4)); + assert(!(i3 != i5)); assert( (i4 != i1)); assert( (i4 != i2)); assert(!(i4 != i3)); assert(!(i4 != i4)); + assert(!(i4 != i5)); + + assert( (i5 != i1)); + assert( (i5 != i2)); + assert(!(i5 != i3)); + assert(!(i5 != i4)); + assert(!(i5 != i5)); } } diff --git a/libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op==/equal.pass.cpp b/libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op==/equal.pass.cpp index 919576920ef..65a78cb104a 100644 --- a/libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op==/equal.pass.cpp +++ b/libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op==/equal.pass.cpp @@ -28,26 +28,37 @@ int main() std::istreambuf_iterator<char> i2(inf2); std::istreambuf_iterator<char> i3; std::istreambuf_iterator<char> i4; + std::istreambuf_iterator<char> i5(nullptr); assert( (i1 == i1)); assert( (i1 == i2)); assert(!(i1 == i3)); assert(!(i1 == i4)); + assert(!(i1 == i5)); assert( (i2 == i1)); assert( (i2 == i2)); assert(!(i2 == i3)); assert(!(i2 == i4)); + assert(!(i2 == i5)); assert(!(i3 == i1)); assert(!(i3 == i2)); assert( (i3 == i3)); assert( (i3 == i4)); + assert( (i3 == i5)); assert(!(i4 == i1)); assert(!(i4 == i2)); assert( (i4 == i3)); assert( (i4 == i4)); + assert( (i4 == i5)); + + assert(!(i5 == i1)); + assert(!(i5 == i2)); + assert( (i5 == i3)); + assert( (i5 == i4)); + assert( (i5 == i5)); } { std::wistringstream inf1(L"abc"); @@ -56,25 +67,36 @@ int main() std::istreambuf_iterator<wchar_t> i2(inf2); std::istreambuf_iterator<wchar_t> i3; std::istreambuf_iterator<wchar_t> i4; + std::istreambuf_iterator<wchar_t> i5(nullptr); assert( (i1 == i1)); assert( (i1 == i2)); assert(!(i1 == i3)); assert(!(i1 == i4)); + assert(!(i1 == i5)); assert( (i2 == i1)); assert( (i2 == i2)); assert(!(i2 == i3)); assert(!(i2 == i4)); + assert(!(i2 == i5)); assert(!(i3 == i1)); assert(!(i3 == i2)); assert( (i3 == i3)); assert( (i3 == i4)); + assert( (i3 == i5)); assert(!(i4 == i1)); assert(!(i4 == i2)); assert( (i4 == i3)); assert( (i4 == i4)); + assert( (i4 == i5)); + + assert(!(i5 == i1)); + assert(!(i5 == i2)); + assert( (i5 == i3)); + assert( (i5 == i4)); + assert( (i5 == i5)); } } |