summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libcxx/include/__bit_reference4
-rw-r--r--libcxx/test/containers/sequences/vector.bool/find.pass.cpp2
2 files changed, 4 insertions, 2 deletions
diff --git a/libcxx/include/__bit_reference b/libcxx/include/__bit_reference
index 37b79237128..d9ebfbe5e61 100644
--- a/libcxx/include/__bit_reference
+++ b/libcxx/include/__bit_reference
@@ -174,7 +174,7 @@ __find_bool_true(__bit_iterator<_Cp, _IsConst> __first, typename _Cp::size_type
if (__b)
return _It(__first.__seg_, static_cast<unsigned>(_VSTD::__ctz(__b)));
if (__n == __dn)
- return _It(__first.__seg_, __first.__ctz_ + __n);
+ return __first + __n;
__n -= __dn;
++__first.__seg_;
}
@@ -210,7 +210,7 @@ __find_bool_false(__bit_iterator<_Cp, _IsConst> __first, typename _Cp::size_type
if (__b)
return _It(__first.__seg_, static_cast<unsigned>(_VSTD::__ctz(__b)));
if (__n == __dn)
- return _It(__first.__seg_, __first.__ctz_ + __n);
+ return __first + __n;
__n -= __dn;
++__first.__seg_;
}
diff --git a/libcxx/test/containers/sequences/vector.bool/find.pass.cpp b/libcxx/test/containers/sequences/vector.bool/find.pass.cpp
index 8bad87efff6..75567a9b7bb 100644
--- a/libcxx/test/containers/sequences/vector.bool/find.pass.cpp
+++ b/libcxx/test/containers/sequences/vector.bool/find.pass.cpp
@@ -25,6 +25,7 @@ int main()
std::vector<bool> b(i,true);
std::vector<bool>::iterator j = std::find(b.begin()+1, b.end(), false);
assert(j-b.begin() == i);
+ assert(b.end() == j);
}
}
{
@@ -33,6 +34,7 @@ int main()
std::vector<bool> b(i,false);
std::vector<bool>::iterator j = std::find(b.begin()+1, b.end(), true);
assert(j-b.begin() == i);
+ assert(b.end() == j);
}
}
}
OpenPOWER on IntegriCloud