[all-commits] [llvm/llvm-project] 49e7be: [libc++] Disentangle std::pointer_safety

Louis Dionne via All-commits all-commits at lists.llvm.org
Mon May 3 11:34:11 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 49e7be2e5ba1759ae9d4ce9843ce2467cf7823a5
      https://github.com/llvm/llvm-project/commit/49e7be2e5ba1759ae9d4ce9843ce2467cf7823a5
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2021-05-03 (Mon, 03 May 2021)

  Changed paths:
    M libcxx/docs/ReleaseNotes.rst
    M libcxx/include/__config
    M libcxx/include/__memory/pointer_safety.h
    M libcxx/include/memory
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist
    M libcxx/src/memory.cpp
    R libcxx/test/libcxx/utilities/memory/util.dynamic.safety/get_pointer_safety_cxx03.pass.cpp
    R libcxx/test/libcxx/utilities/memory/util.dynamic.safety/get_pointer_safety_new_abi.pass.cpp
    M libcxx/test/std/utilities/memory/util.dynamic.safety/declare_no_pointers.pass.cpp
    M libcxx/test/std/utilities/memory/util.dynamic.safety/declare_reachable.pass.cpp
    M libcxx/test/std/utilities/memory/util.dynamic.safety/get_pointer_safety.pass.cpp

  Log Message:
  -----------
  [libc++] Disentangle std::pointer_safety

This patch gets rid of technical debt around std::pointer_safety which,
I claim, is entirely unnecessary. I don't think anybody has used
std::pointer_safety in actual code because we do not implement the
underlying garbage collection support. In fact, P2186 even proposes
removing these facilities entirely from a future C++ version. As such,
I think it's entirely fine to get rid of complex workarounds whose goals
were to avoid breaking the ABI back in 2017.

I'm putting this up both to get reviews and to discuss this proposal for
a breaking change. I think we should be comfortable with making these
tiny breaks if we are confident they won't hurt anyone, which I'm fairly
confident is the case here.

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




More information about the All-commits mailing list