From 0fc6e981b05ba7db0b7d7f295182b95c1eff1b27 Mon Sep 17 00:00:00 2001 From: Marshall Clow Date: Tue, 6 May 2014 15:33:23 +0000 Subject: Fix PR 19663. Some calls to find(vector) were returning iterators that were subtly invalid (didn't compare equal). Thanks to Erik Verbruggen for the report (and diagnosis) llvm-svn: 208096 --- libcxx/include/__bit_reference | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libcxx/include/__bit_reference') 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(_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(_VSTD::__ctz(__b))); if (__n == __dn) - return _It(__first.__seg_, __first.__ctz_ + __n); + return __first + __n; __n -= __dn; ++__first.__seg_; } -- cgit v1.2.3