git: 904a91a90445 - stable/14 - Merge commit cb7a03b41fff from llvm git (by Nikolas Klauser):
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 30 Nov 2024 18:44:47 UTC
The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=904a91a90445e4c710046f59b375a169b7b54fad commit 904a91a90445e4c710046f59b375a169b7b54fad Author: John Baldwin <jhb@FreeBSD.org> AuthorDate: 2024-08-05 19:19:30 +0000 Commit: John Baldwin <jhb@FreeBSD.org> CommitDate: 2024-11-30 18:03:18 +0000 Merge commit cb7a03b41fff from llvm git (by Nikolas Klauser): [libc++] Fix failures with GCC 14 (#92663) Fixes #91831 Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D46003 (cherry picked from commit 9bc300465e48e19d794d88d0c158a2adb92c7197) --- contrib/llvm-project/libcxx/include/__string/constexpr_c_functions.h | 2 +- contrib/llvm-project/libcxx/include/__type_traits/remove_pointer.h | 5 +++++ contrib/llvm-project/libcxx/include/bitset | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/contrib/llvm-project/libcxx/include/__string/constexpr_c_functions.h b/contrib/llvm-project/libcxx/include/__string/constexpr_c_functions.h index 198f0f5e6809..46ad388ec2ea 100644 --- a/contrib/llvm-project/libcxx/include/__string/constexpr_c_functions.h +++ b/contrib/llvm-project/libcxx/include/__string/constexpr_c_functions.h @@ -108,7 +108,7 @@ __constexpr_memcmp_equal(const _Tp* __lhs, const _Up* __rhs, __element_count __n } return true; } else { - return __builtin_memcmp(__lhs, __rhs, __count * sizeof(_Tp)) == 0; + return ::__builtin_memcmp(__lhs, __rhs, __count * sizeof(_Tp)) == 0; } } diff --git a/contrib/llvm-project/libcxx/include/__type_traits/remove_pointer.h b/contrib/llvm-project/libcxx/include/__type_traits/remove_pointer.h index 54390a1939f7..1048f67055a2 100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/remove_pointer.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/remove_pointer.h @@ -23,8 +23,13 @@ struct remove_pointer { using type _LIBCPP_NODEBUG = __remove_pointer(_Tp); }; +# ifdef _LIBCPP_COMPILER_GCC +template <class _Tp> +using __remove_pointer_t = typename remove_pointer<_Tp>::type; +# else template <class _Tp> using __remove_pointer_t = __remove_pointer(_Tp); +# endif #else // clang-format off template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer {typedef _LIBCPP_NODEBUG _Tp type;}; diff --git a/contrib/llvm-project/libcxx/include/bitset b/contrib/llvm-project/libcxx/include/bitset index 308c58995dc3..5ea48d491303 100644 --- a/contrib/llvm-project/libcxx/include/bitset +++ b/contrib/llvm-project/libcxx/include/bitset @@ -376,8 +376,11 @@ template <size_t _N_words, size_t _Size> _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unsigned long long __bitset<_N_words, _Size>::to_ullong(true_type, true_type) const { unsigned long long __r = __first_[0]; + _LIBCPP_DIAGNOSTIC_PUSH + _LIBCPP_GCC_DIAGNOSTIC_IGNORED("-Wshift-count-overflow") for (size_t __i = 1; __i < sizeof(unsigned long long) / sizeof(__storage_type); ++__i) __r |= static_cast<unsigned long long>(__first_[__i]) << (sizeof(__storage_type) * CHAR_BIT); + _LIBCPP_DIAGNOSTIC_POP return __r; }