diff options
author | Nick Desaulniers <ndesaulniers@google.com> | 2023-05-17 09:30:30 -0700 |
---|---|---|
committer | Nick Desaulniers <ndesaulniers@google.com> | 2023-05-17 09:42:35 -0700 |
commit | 74d49b203c95a1fcb59fdc57b6ab3ce1d4b91491 (patch) | |
tree | 61d0ea4494e1a1f8b074209584d3c87866f207af /libcxxabi | |
parent | d3da5b4521f82e1b092006e3d168053e673f72d9 (diff) | |
download | llvm-74d49b203c95a1fcb59fdc57b6ab3ce1d4b91491.tar.gz |
[libcxxabi] define _LIBCPP_VERBOSE_ABORT
libc++ may be built with or without assertions. This causes definitions
of various methods of std::string_view to contain assertions and calls
to __libcpp_verbose_abort which libcxxabi does not provide. libcxxabi
does provide abort_message with the same interface, so define
_LIBCPP_VERBOSE_ABORT to use that. Otherwise D148566 will trigger
linkage failures for the missing symbol __libcpp_verbose_abort.
Link: https://libcxx.llvm.org/UsingLibcxx.html#enabling-the-safe-libc-mode
Reviewed By: #libc_abi, philnik, ldionne
Differential Revision: https://reviews.llvm.org/D149092
Diffstat (limited to 'libcxxabi')
-rw-r--r-- | libcxxabi/src/cxa_demangle.cpp | 1 | ||||
-rw-r--r-- | libcxxabi/src/demangle/DemangleConfig.h | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/libcxxabi/src/cxa_demangle.cpp b/libcxxabi/src/cxa_demangle.cpp index 7baac680074c..0616031eee53 100644 --- a/libcxxabi/src/cxa_demangle.cpp +++ b/libcxxabi/src/cxa_demangle.cpp @@ -10,6 +10,7 @@ // file does not yet support: // - C++ modules TS +#include "demangle/DemangleConfig.h" #include "demangle/ItaniumDemangle.h" #include "__cxxabi_config.h" #include <cassert> diff --git a/libcxxabi/src/demangle/DemangleConfig.h b/libcxxabi/src/demangle/DemangleConfig.h index 9d818535b094..5ae933c033d5 100644 --- a/libcxxabi/src/demangle/DemangleConfig.h +++ b/libcxxabi/src/demangle/DemangleConfig.h @@ -11,6 +11,11 @@ #ifndef LIBCXXABI_DEMANGLE_DEMANGLE_CONFIG_H #define LIBCXXABI_DEMANGLE_DEMANGLE_CONFIG_H +// Must be defined before pulling in headers from libc++. +// https://libcxx.llvm.org/UsingLibcxx.html#enabling-the-safe-libc-mode +#define _LIBCPP_VERBOSE_ABORT(...) abort_message(__VA_ARGS__) + +#include "../abort_message.h" #include <ciso646> #ifdef _MSC_VER |