[all-commits] [llvm/llvm-project] 627465: [libc++] Move preferred_name declarations into the...

philnik777 via All-commits all-commits at lists.llvm.org
Mon Oct 31 16:37:21 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 627465cf9fa71ac1933986c20b32d6842a5b2678
      https://github.com/llvm/llvm-project/commit/627465cf9fa71ac1933986c20b32d6842a5b2678
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2022-11-01 (Tue, 01 Nov 2022)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__fwd/memory_resource.h
    A libcxx/include/__fwd/string.h
    M libcxx/include/__fwd/string_view.h
    M libcxx/include/iosfwd
    M libcxx/include/module.modulemap.in
    M libcxx/include/regex
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/test/libcxx/private_headers.verify.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_regex_synop.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_string_synop.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_string_synop2.pass.cpp

  Log Message:
  -----------
  [libc++] Move preferred_name declarations into the forward declaring headers and add pmr preferred names

We currently define the preferred names in multiple places. `basic_string` and `basic_string_view` also have a lot of aliases, which makes the declarations quite long. So let's only add the preferred names in forward-declaring headers to make the implementation more readable and have all the preferred names in one place.

Reviewed By: ldionne

Spies: EricWF, krytarowski, libcxx-commits

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


  Commit: f4ca5da2be3f0e51f5516187b979edf52cdf412f
      https://github.com/llvm/llvm-project/commit/f4ca5da2be3f0e51f5516187b979edf52cdf412f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2022-11-01 (Tue, 01 Nov 2022)

  Changed paths:
    M libcxx/include/__memory_resource/memory_resource.h
    M libcxx/include/__memory_resource/unsynchronized_pool_resource.h
    M libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res.global/null_memory_resource.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/allocate.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/deallocate.pass.cpp
    M libcxx/test/support/test_std_memory_resource.h

  Log Message:
  -----------
  [libc++][PMR] Add attributes

This allows the compiler to do more optimizations.

Reviewed By: ldionne, #libc

Spies: libcxx-commits, krytarowski

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


  Commit: 35d0e27618a3ddfaf8ec4261019a3aa181dabf98
      https://github.com/llvm/llvm-project/commit/35d0e27618a3ddfaf8ec4261019a3aa181dabf98
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2022-11-01 (Tue, 01 Nov 2022)

  Changed paths:
    M libcxx/docs/ReleaseNotes.rst
    M libcxx/docs/Status/Cxx17Issues.csv
    M libcxx/docs/Status/Cxx17Papers.csv
    M libcxx/docs/Status/Cxx20.rst
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx20Papers.csv

  Log Message:
  -----------
  [libc++][PMR] Mark completed papers and issues as such

Reviewed By: ldionne, #libc

Spies: krytarowski, Quuxplusone, tschuett, libcxx-commits

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


  Commit: 57215eda64d089cecdd866026fd8a80db5dd1032
      https://github.com/llvm/llvm-project/commit/57215eda64d089cecdd866026fd8a80db5dd1032
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2022-11-01 (Tue, 01 Nov 2022)

  Changed paths:
    M libcxx/include/__memory_resource/memory_resource.h
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
    M libcxx/src/memory_resource.cpp
    M libcxx/test/libcxx/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_piecewise_pair.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/memory_resource_convert.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.eq/equal.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.eq/not_equal.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/allocate.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/deallocate.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/dtor.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/is_equal.pass.cpp

  Log Message:
  -----------
  [libc++][PMR] Move the pmr::memory_resource destructor into the dylib

This avoids emitting the VTable of `pmr::memory_resource` in every TU.

Reviewed By: ldionne

Spies: EricWF, nemanjai, libcxx-commits

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


  Commit: 28e399fa1ec876ea1052db30de570a21ab18d9fb
      https://github.com/llvm/llvm-project/commit/28e399fa1ec876ea1052db30de570a21ab18d9fb
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2022-11-01 (Tue, 01 Nov 2022)

  Changed paths:
    M libcxx/docs/ReleaseNotes.rst
    M libcxx/include/experimental/memory_resource
    M libcxx/include/experimental/regex
    M libcxx/include/experimental/string
    M libcxx/src/experimental/memory_resource.cpp
    M libcxx/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/assert.deallocate.pass.cpp
    M libcxx/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
    M libcxx/test/libcxx/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/assert.deallocate.pass.cpp
    M libcxx/test/libcxx/experimental/memory/memory.resource.global/global_memory_resource_lifetime.pass.cpp
    M libcxx/test/libcxx/experimental/memory/memory.resource.global/new_delete_resource_lifetime.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/assign.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/copy.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/default.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/memory_resource_convert.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/other_alloc.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/equal.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/not_equal.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/allocate.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_const_lvalue_pair.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_rvalue.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_values.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair_evil.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_types.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/deallocate.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/destroy.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/resource.pass.cpp
    M libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/select_on_container_copy_construction.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_copy.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_move.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/default.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_allocate_and_deallocate.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_is_equal.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.overview/overview.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.aliases/header_deque_synop.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.aliases/header_forward_list_synop.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.aliases/header_list_synop.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.aliases/header_map_synop.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.aliases/header_regex_synop.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.aliases/header_set_synop.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.aliases/header_string_synop.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.aliases/header_unordered_map_synop.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.aliases/header_unordered_set_synop.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.aliases/header_vector_synop.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.global/default_resource.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.global/new_delete_resource.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource.global/null_memory_resource.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource/construct.fail.cpp
    M libcxx/test/std/experimental/memory/memory.resource/memory.resource.eq/equal.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource/memory.resource.eq/not_equal.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource/memory.resource.priv/private_members.fail.cpp
    M libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/allocate.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/deallocate.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/dtor.pass.cpp
    M libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/is_equal.pass.cpp

  Log Message:
  -----------
  [libc++][PMR] Deprecate the implementation in std::experimental

This commit deprecates <experimental/memory_resource> since we now ship the non-experimental
version of it. Per the libc++ policy [1], we are deprecating the experimental feature in
upcoming LLVM 16 and will remove it entirely in LLVM 18.

[1]: https://libcxx.llvm.org/DesignDocs/ExperimentalFeatures.html#id4

Reviewed By: ldionne, #libc

Spies: EricWF, libcxx-commits

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


Compare: https://github.com/llvm/llvm-project/compare/748922b31f7f...28e399fa1ec8


More information about the All-commits mailing list