mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-16 13:46:37 +00:00
Revert "[libc++] Remove _LIBCPP_CONSTEVAL"
It causes mysterious memory leaks when comparing std::string, see GitHub Issue #60709 and the code review. > All supported compilers support `consteval`, so there is no more need for the macro. > > Reviewed By: ldionne, Mordante, #libc > > Spies: libcxx-commits > > Differential Revision: https://reviews.llvm.org/D143489 This reverts commit aaef3b82f4f0dd3924a3491b381d5015ff472b86.
This commit is contained in:
parent
04a2baf58f
commit
bbff77a14e
@ -37,6 +37,7 @@ AttributeMacros: ['_LIBCPP_HIDE_FROM_ABI',
|
||||
'_LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION',
|
||||
'_LIBCPP_HIDE_FROM_ABI_AFTER_V1',
|
||||
'_LIBCPP_INLINE_VISIBILITY',
|
||||
'_LIBCPP_CONSTEVAL',
|
||||
'_LIBCPP_NOALIAS',
|
||||
'_LIBCPP_USING_IF_EXISTS',
|
||||
'_LIBCPP_DEPRECATED',
|
||||
|
@ -40,7 +40,7 @@ template<class _Tp, class... _Args>
|
||||
inline constexpr bool __one_of_v = (is_same_v<_Tp, _Args> || ...);
|
||||
|
||||
struct _CmpUnspecifiedParam {
|
||||
_LIBCPP_HIDE_FROM_ABI consteval
|
||||
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEVAL
|
||||
_CmpUnspecifiedParam(int _CmpUnspecifiedParam::*) noexcept {}
|
||||
|
||||
template<class _Tp, class = enable_if_t<!__one_of_v<_Tp, int, partial_ordering, weak_ordering, strong_ordering>>>
|
||||
|
@ -686,6 +686,12 @@ _LIBCPP_BEGIN_NAMESPACE_STD _LIBCPP_END_NAMESPACE_STD
|
||||
# define _LIBCPP_HAS_NO_INT128
|
||||
# endif
|
||||
|
||||
# ifndef __cpp_consteval
|
||||
# define _LIBCPP_CONSTEVAL _LIBCPP_CONSTEXPR
|
||||
# else
|
||||
# define _LIBCPP_CONSTEVAL consteval
|
||||
# endif
|
||||
|
||||
# if __has_attribute(__malloc__)
|
||||
# define _LIBCPP_NOALIAS __attribute__((__malloc__))
|
||||
# else
|
||||
|
Loading…
x
Reference in New Issue
Block a user