[all-commits] [llvm/llvm-project] 17c05a: [libc++] Introduce a compile-time mechanism to ove...

Louis Dionne via All-commits all-commits at lists.llvm.org
Tue Jan 24 18:39:34 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 17c05a44d9f0ab08342c7310bd0e22114e932882
      https://github.com/llvm/llvm-project/commit/17c05a44d9f0ab08342c7310bd0e22114e932882
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M libcxx/docs/ReleaseNotes.rst
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/include/__assert
    M libcxx/include/__availability
    M libcxx/include/__verbose_abort
    R libcxx/test/libcxx/assertions/customize_verbose_abort.backdeployment.pass.cpp
    A libcxx/test/libcxx/assertions/customize_verbose_abort.compile-time.pass.cpp
    A libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
    R libcxx/test/libcxx/assertions/customize_verbose_abort.pass.cpp
    A libcxx/test/libcxx/assertions/deprecated-link-time-custom-handler.pass.cpp
    M libcxx/test/libcxx/assertions/headers_declare_verbose_abort.sh.cpp

  Log Message:
  -----------
  [libc++] Introduce a compile-time mechanism to override __libcpp_verbose_abort

This changes the mechanism for verbose termination (again!) to make it
support compile-time customization in addition to link-time customization,
which is important for users who need fine-grained control over what code
gets generated around sites that call the verbose termination handler.

This concern had been raised to me both privately by prospecting users
and in https://llvm.org/D140944, so I think it is clearly worth fixing.

We still support _LIBCPP_AVAILABILITY_CUSTOM_VERBOSE_ABORT_PROVIDED for
a limited time since the same functionality can be achieved by overriding
the _LIBCPP_VERBOSE_ABORT macro.

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




More information about the All-commits mailing list