[libcxx-commits] [PATCH] D142842: [libc++] Remove _LIBCPP_ABI_BAD_FUNCTION_CALL_KEY_FUNCTION

Nikolas Klauser via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Feb 21 07:54:25 PST 2023


philnik added inline comments.


================
Comment at: libcxx/include/__functional/function.h:53
 public:
-// Note that when a key function is not used, every translation unit that uses
-// bad_function_call will end up containing a weak definition of the vtable and
-// typeinfo.
-#ifdef _LIBCPP_ABI_BAD_FUNCTION_CALL_KEY_FUNCTION
-    ~bad_function_call() _NOEXCEPT override;
-#else
-    ~bad_function_call() _NOEXCEPT override {}
-#endif
+    ~bad_function_call() _NOEXCEPT override = default;
 
----------------
Mordante wrote:
> Why is this still needed?
It's not.


================
Comment at: libcxx/src/functional.cpp:27
 
 _LIBCPP_END_NAMESPACE_STD
----------------
ldionne wrote:
> You will need to grep for `Address Sanitizer doesn't instrument weak symbols on Linux.` and adjust the `UNSUPPORTED` there. It should become something like `UNSUPPORTED: asan && libcpp-abi-version=2`.
IIUC this shouldn't be a problem anymore, since we don't have any weak symbols in ABIv2, and have only weak symbols in ABIv1 again.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D142842/new/

https://reviews.llvm.org/D142842



More information about the libcxx-commits mailing list