[all-commits] [llvm/llvm-project] 8751bb: [libc++] Deprecate the _LIBCPP_ENABLE_CXX20_REMOVE...

Louis Dionne via All-commits all-commits at lists.llvm.org
Fri Jan 12 06:51:25 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8751bbe7d3642e2641dad02da7ad9b95a3f77d4f
      https://github.com/llvm/llvm-project/commit/8751bbe7d3642e2641dad02da7ad9b95a3f77d4f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/include/__memory/allocator.h
    M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.depr_in_cxx17.verify.cpp
    M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.depr_in_cxx17.verify.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/enable_removed_allocator_members.deprecated.verify.cpp

  Log Message:
  -----------
  [libc++] Deprecate the _LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS macro (#77692)

As described in #69994, using the escape hatch makes us non-conforming
in C++20 due to incorrect constexpr-ness. It also leads to bad
diagnostics as reported by #63900. We discussed the issue in the libc++
monthly meeting and we agreed that we should deprecate the macro in LLVM
18, and then remove it in LLVM 19 since it causes too many problems.

This patch does the first part of this -- it deprecates the macro.

Fixes #69994
Fixes #63900
Partially addresses #75975




More information about the All-commits mailing list