[all-commits] [llvm/llvm-project] 434dc0: [libc++] Always define a key function for std::bad...

Konstantin Varlamov via All-commits all-commits at lists.llvm.org
Tue Nov 16 11:26:06 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 434dc0a5bcae50e87458e893ae5469619a35839e
      https://github.com/llvm/llvm-project/commit/434dc0a5bcae50e87458e893ae5469619a35839e
  Author: Konstantin Varlamov <varconst at apple.com>
  Date:   2021-11-16 (Tue, 16 Nov 2021)

  Changed paths:
    M libcxx/include/__config
    M libcxx/include/__functional/function.h
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist
    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/functional.cpp
    M libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/copy.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/robust_against_adl.pass.cpp

  Log Message:
  -----------
  [libc++] Always define a key function for std::bad_function_call in the dylib

However, whether applications rely on the std::bad_function_call vtable
being in the dylib is still controlled by the ABI macro, since changing
that would be an ABI break.

Also separate preprocessor definitions for whether to use a key function
and whether to use a `bad_function_call`-specific `what` message
(`what` message is mandated by [LWG2233](http://wg21.link/LWG2233)).

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




More information about the All-commits mailing list