[all-commits] [llvm/llvm-project] 0724f8: [libc++] Implement C++20's P0784 (More constexpr c...

Louis Dionne via All-commits all-commits at lists.llvm.org
Tue Sep 22 08:20:59 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 0724f8bf47f8cb073d41e2750d45d5b05e66bf0b
      https://github.com/llvm/llvm-project/commit/0724f8bf47f8cb073d41e2750d45d5b05e66bf0b
  Author: Louis Dionne <ldionne at apple.com>
  Date:   2020-09-22 (Tue, 22 Sep 2020)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/include/memory
    M libcxx/include/new
    M libcxx/include/version
    M libcxx/test/std/containers/sequences/vector/vector.cons/copy.move_only.verify.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
    M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate.pass.cpp
    M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate.verify.cpp
    M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate_hint.pass.cpp
    M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/construct.pass.cpp
    M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/deallocate.pass.cpp
    M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/destroy.pass.cpp
    M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp
    M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/select_on_container_copy_construction.pass.cpp
    A libcxx/test/std/utilities/memory/default.allocator/allocator.dtor.pass.cpp
    M libcxx/test/std/utilities/memory/default.allocator/allocator.globals/eq.pass.cpp
    A libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.constexpr.size.verify.cpp
    M libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.pass.cpp
    M libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp
    M libcxx/test/std/utilities/memory/default.allocator/allocator_types.pass.cpp
    A libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy_at.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy_n.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/www/cxx2a_status.html

  Log Message:
  -----------
  [libc++] Implement C++20's P0784 (More constexpr containers)

This commit adds std::construct_at, and marks various members of
std::allocator_traits and std::allocator as constexpr. It also adds
tests and turns the existing tests into hybrid constexpr/runtime tests.

Thanks to Richard Smith for initial work on this, and to Michael Park
for D69803, D69132 and D69134, which are superseded by this patch.

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




More information about the All-commits mailing list