[libcxx-commits] [PATCH] D139235: Revert "Revert "[libc++][ranges]Refactor `copy{, _backward}` and `move{, _backward}`""

Konstantin Varlamov via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Dec 5 21:20:17 PST 2022


var-const created this revision.
Herald added a project: All.
var-const updated this revision to Diff 479762.
var-const added a comment.
var-const edited the summary of this revision.
var-const updated this revision to Diff 480328.
var-const published this revision for review.
Herald added a reviewer: jdoerfert.
Herald added subscribers: libcxx-commits, sstefan1.
Herald added a project: libc++.
Herald added a reviewer: libc++.

Apply the fix.


var-const added a comment.

Expand testing.


This reverts commit a6e1080b87db8fbe0e1afadd96af5a3c0bd5e279 <https://reviews.llvm.org/rGa6e1080b87db8fbe0e1afadd96af5a3c0bd5e279>.

Fix the conditions when the `memmove` optimization can be applied, fix and expand the tests.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D139235

Files:
  libcxx/include/CMakeLists.txt
  libcxx/include/__algorithm/copy.h
  libcxx/include/__algorithm/copy_backward.h
  libcxx/include/__algorithm/copy_move_common.h
  libcxx/include/__algorithm/move.h
  libcxx/include/__algorithm/move_backward.h
  libcxx/include/__algorithm/ranges_copy.h
  libcxx/include/__algorithm/ranges_copy_backward.h
  libcxx/include/__algorithm/ranges_copy_n.h
  libcxx/include/__algorithm/ranges_move.h
  libcxx/include/__algorithm/ranges_move_backward.h
  libcxx/include/__algorithm/ranges_set_difference.h
  libcxx/include/__algorithm/ranges_set_symmetric_difference.h
  libcxx/include/__algorithm/ranges_set_union.h
  libcxx/include/__algorithm/rotate.h
  libcxx/include/__algorithm/set_difference.h
  libcxx/include/__algorithm/set_symmetric_difference.h
  libcxx/include/__algorithm/set_union.h
  libcxx/include/__iterator/reverse_iterator.h
  libcxx/include/algorithm
  libcxx/include/module.modulemap.in
  libcxx/include/valarray
  libcxx/test/libcxx/algorithms/alg.modifying.operations/copy.pass.cpp
  libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_nontrivial.pass.cpp
  libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_trivial.pass.cpp
  libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_unwrap_reverse.pass.cpp
  libcxx/test/libcxx/private_headers.verify.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D139235.480328.patch
Type: text/x-patch
Size: 83433 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20221206/1fe2cabe/attachment-0001.bin>


More information about the libcxx-commits mailing list