[all-commits] [llvm/llvm-project] 6f36ea: [libc++] Fix std::move algorithm with trivial move...

Louis Dionne via All-commits all-commits at lists.llvm.org
Mon Jul 10 08:50:41 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6f36ead577dfa20397549b7034330180da0945f0
      https://github.com/llvm/llvm-project/commit/6f36ead577dfa20397549b7034330180da0945f0
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-07-10 (Mon, 10 Jul 2023)

  Changed paths:
    M libcxx/include/__string/constexpr_c_functions.h
    A libcxx/test/libcxx/strings/c.strings/constexpr_memmove.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter_iter.pass.cpp
    M libcxx/test/support/MoveOnly.h

  Log Message:
  -----------
  [libc++] Fix std::move algorithm with trivial move-only types

As reported in https://reviews.llvm.org/D151953#4472195, the std::move
algorithm (and various other functions that relied on it) stopped working
after starting to use `__constexpr_memmove` in its implementation. This
patch fixes the underlying issue in `__constexpr_memmove` and adds tests
for various related algorithms and functions that were not exercising
trivial move-only types.

Differential Revision: https://reviews.llvm.org/D154613




More information about the All-commits mailing list