Skip to content

Commit 6cc395f

Browse files
committed
[libc++][C++03] Fix alg.copy/copy.pass.cpp
1 parent 6f51431 commit 6cc395f

File tree

2 files changed

+9
-11
lines changed

2 files changed

+9
-11
lines changed

libcxx/include/__cxx03/__bit_reference

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ _LIBCPP_HIDE_FROM_ABI __bit_iterator<_Cp, false> __copy_aligned(
167167
unsigned __clz = __bits_per_word - __first.__ctz_;
168168
difference_type __dn = std::min(static_cast<difference_type>(__clz), __n);
169169
__n -= __dn;
170-
__storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz - __dn));
170+
__storage_type __m = (__storage_type(~0) << __first.__ctz_) & (__storage_type(~0) >> (__clz - __dn));
171171
__storage_type __b = *__first.__seg_ & __m;
172172
*__result.__seg_ &= ~__m;
173173
*__result.__seg_ |= __b;
@@ -185,7 +185,7 @@ _LIBCPP_HIDE_FROM_ABI __bit_iterator<_Cp, false> __copy_aligned(
185185
// do last word
186186
if (__n > 0) {
187187
__first.__seg_ += __nw;
188-
__storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
188+
__storage_type __m = __storage_type(~0) >> (__bits_per_word - __n);
189189
__storage_type __b = *__first.__seg_ & __m;
190190
*__result.__seg_ &= ~__m;
191191
*__result.__seg_ |= __b;
@@ -210,11 +210,11 @@ _LIBCPP_HIDE_FROM_ABI __bit_iterator<_Cp, false> __copy_unaligned(
210210
unsigned __clz_f = __bits_per_word - __first.__ctz_;
211211
difference_type __dn = std::min(static_cast<difference_type>(__clz_f), __n);
212212
__n -= __dn;
213-
__storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
213+
__storage_type __m = (__storage_type(~0) << __first.__ctz_) & (__storage_type(~0) >> (__clz_f - __dn));
214214
__storage_type __b = *__first.__seg_ & __m;
215215
unsigned __clz_r = __bits_per_word - __result.__ctz_;
216216
__storage_type __ddn = std::min<__storage_type>(__dn, __clz_r);
217-
__m = (~__storage_type(0) << __result.__ctz_) & (~__storage_type(0) >> (__clz_r - __ddn));
217+
__m = (__storage_type(~0) << __result.__ctz_) & (__storage_type(~0) >> (__clz_r - __ddn));
218218
*__result.__seg_ &= ~__m;
219219
if (__result.__ctz_ > __first.__ctz_)
220220
*__result.__seg_ |= __b << (__result.__ctz_ - __first.__ctz_);
@@ -224,7 +224,7 @@ _LIBCPP_HIDE_FROM_ABI __bit_iterator<_Cp, false> __copy_unaligned(
224224
__result.__ctz_ = static_cast<unsigned>((__ddn + __result.__ctz_) % __bits_per_word);
225225
__dn -= __ddn;
226226
if (__dn > 0) {
227-
__m = ~__storage_type(0) >> (__bits_per_word - __dn);
227+
__m = __storage_type(~0) >> (__bits_per_word - __dn);
228228
*__result.__seg_ &= ~__m;
229229
*__result.__seg_ |= __b >> (__first.__ctz_ + __ddn);
230230
__result.__ctz_ = static_cast<unsigned>(__dn);
@@ -235,7 +235,7 @@ _LIBCPP_HIDE_FROM_ABI __bit_iterator<_Cp, false> __copy_unaligned(
235235
// __first.__ctz_ == 0;
236236
// do middle words
237237
unsigned __clz_r = __bits_per_word - __result.__ctz_;
238-
__storage_type __m = ~__storage_type(0) << __result.__ctz_;
238+
__storage_type __m = __storage_type(~0) << __result.__ctz_;
239239
for (; __n >= __bits_per_word; __n -= __bits_per_word, ++__first.__seg_) {
240240
__storage_type __b = *__first.__seg_;
241241
*__result.__seg_ &= ~__m;
@@ -246,17 +246,17 @@ _LIBCPP_HIDE_FROM_ABI __bit_iterator<_Cp, false> __copy_unaligned(
246246
}
247247
// do last word
248248
if (__n > 0) {
249-
__m = ~__storage_type(0) >> (__bits_per_word - __n);
249+
__m = __storage_type(~0) >> (__bits_per_word - __n);
250250
__storage_type __b = *__first.__seg_ & __m;
251251
__storage_type __dn = std::min(__n, static_cast<difference_type>(__clz_r));
252-
__m = (~__storage_type(0) << __result.__ctz_) & (~__storage_type(0) >> (__clz_r - __dn));
252+
__m = (__storage_type(~0) << __result.__ctz_) & (__storage_type(~0) >> (__clz_r - __dn));
253253
*__result.__seg_ &= ~__m;
254254
*__result.__seg_ |= __b << __result.__ctz_;
255255
__result.__seg_ += (__dn + __result.__ctz_) / __bits_per_word;
256256
__result.__ctz_ = static_cast<unsigned>((__dn + __result.__ctz_) % __bits_per_word);
257257
__n -= __dn;
258258
if (__n > 0) {
259-
__m = ~__storage_type(0) >> (__bits_per_word - __n);
259+
__m = __storage_type(~0) >> (__bits_per_word - __n);
260260
*__result.__seg_ &= ~__m;
261261
*__result.__seg_ |= __b >> __dn;
262262
__result.__ctz_ = static_cast<unsigned>(__n);

libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
// constexpr OutIter // constexpr after C++17
1313
// copy(InIter first, InIter last, OutIter result);
1414

15-
// XFAIL: FROZEN-CXX03-HEADERS-FIXME
16-
1715
#include <algorithm>
1816
#include <cassert>
1917
#include <vector>

0 commit comments

Comments
 (0)