authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-06-25 01:46:31+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-06-25 01:46:47+02:00
log7ff1556502ac3ec134b3c15d8c70fa9f7845a983
treea89becb17ed98fc04deab7a22cfb3dd88de07743
parent5f78220dbe17133ece22e4f6a7e5e6337bfd7800
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

libcxx: update to LLVM 22.1.8


3 files changed, 18 insertions(+), 14 deletions(-)

lib/libcxx/include/__config+1-1
...@@ -30,7 +30,7 @@...@@ -30,7 +30,7 @@
30// _LIBCPP_VERSION represents the version of libc++, which matches the version of LLVM.30// _LIBCPP_VERSION represents the version of libc++, which matches the version of LLVM.
31// Given a LLVM release LLVM XX.YY.ZZ (e.g. LLVM 17.0.1 == 17.00.01), _LIBCPP_VERSION is31// Given a LLVM release LLVM XX.YY.ZZ (e.g. LLVM 17.0.1 == 17.00.01), _LIBCPP_VERSION is
32// defined to XXYYZZ.32// defined to XXYYZZ.
33# define _LIBCPP_VERSION 22010433# define _LIBCPP_VERSION 220108
3434
35# define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y35# define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y
36# define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y)36# define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y)
lib/libcxx/include/__tree+2-2
...@@ -2026,8 +2026,8 @@ __tree<_Tp, _Compare, _Allocator>::__node_handle_insert_unique(const_iterator __...@@ -2026,8 +2026,8 @@ __tree<_Tp, _Compare, _Allocator>::__node_handle_insert_unique(const_iterator __
2026template <class _Tp, class _Compare, class _Allocator>2026template <class _Tp, class _Compare, class _Allocator>
2027template <class _NodeHandle>2027template <class _NodeHandle>
2028_LIBCPP_HIDE_FROM_ABI _NodeHandle __tree<_Tp, _Compare, _Allocator>::__node_handle_extract(key_type const& __key) {2028_LIBCPP_HIDE_FROM_ABI _NodeHandle __tree<_Tp, _Compare, _Allocator>::__node_handle_extract(key_type const& __key) {
2029 iterator __it = find(__key);2029 iterator __it = __lower_bound_multi(__key);
2030 if (__it == end())2030 if (__it == end() || __value_comp_(__key, *__it))
2031 return _NodeHandle();2031 return _NodeHandle();
2032 return __node_handle_extract<_NodeHandle>(__it);2032 return __node_handle_extract<_NodeHandle>(__it);
2033}2033}
lib/libcxx/include/optional+15-11
...@@ -828,6 +828,10 @@ private:...@@ -828,6 +828,10 @@ private:
828 template <class _Up>828 template <class _Up>
829 constexpr static bool __libcpp_opt_ref_ctor_deleted =829 constexpr static bool __libcpp_opt_ref_ctor_deleted =
830 is_lvalue_reference_v<_Tp> && reference_constructs_from_temporary_v<_Tp, _Up>;830 is_lvalue_reference_v<_Tp> && reference_constructs_from_temporary_v<_Tp, _Up>;
831
832 template <class _Up>
833 constexpr static bool __ref_ctor_enabled =
834 is_lvalue_reference_v<_Tp> && !reference_constructs_from_temporary_v<_Tp, _Up>;
831# endif835# endif
832836
833 // LWG2756: conditionally explicit conversion from _Up837 // LWG2756: conditionally explicit conversion from _Up
...@@ -935,7 +939,7 @@ public:...@@ -935,7 +939,7 @@ public:
935 template <class _Up, enable_if_t<_CheckOptionalLikeCtor<_Up, _Up const&>::template __enable_implicit<_Up>(), int> = 0>939 template <class _Up, enable_if_t<_CheckOptionalLikeCtor<_Up, _Up const&>::template __enable_implicit<_Up>(), int> = 0>
936 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 optional(const optional<_Up>& __v)940 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 optional(const optional<_Up>& __v)
937# if _LIBCPP_STD_VER >= 26941# if _LIBCPP_STD_VER >= 26
938 noexcept(is_lvalue_reference_v<_Tp> && is_nothrow_constructible_v<_Tp&, _Up&>)942 noexcept(is_lvalue_reference_v<_Tp> && is_nothrow_constructible_v<_Tp&, const _Up&>)
939# endif943# endif
940 {944 {
941 this->__construct_from(__v);945 this->__construct_from(__v);
...@@ -943,7 +947,7 @@ public:...@@ -943,7 +947,7 @@ public:
943 template <class _Up, enable_if_t<_CheckOptionalLikeCtor<_Up, _Up const&>::template __enable_explicit<_Up>(), int> = 0>947 template <class _Up, enable_if_t<_CheckOptionalLikeCtor<_Up, _Up const&>::template __enable_explicit<_Up>(), int> = 0>
944 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit optional(const optional<_Up>& __v)948 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit optional(const optional<_Up>& __v)
945# if _LIBCPP_STD_VER >= 26949# if _LIBCPP_STD_VER >= 26
946 noexcept(is_lvalue_reference_v<_Tp> && is_nothrow_constructible_v<_Tp&, _Up&>)950 noexcept(is_lvalue_reference_v<_Tp> && is_nothrow_constructible_v<_Tp&, const _Up&>)
947# endif951# endif
948 {952 {
949 this->__construct_from(__v);953 this->__construct_from(__v);
...@@ -981,25 +985,25 @@ public:...@@ -981,25 +985,25 @@ public:
981985
982 // optional(optional<U>& rhs)986 // optional(optional<U>& rhs)
983 template <class _Up>987 template <class _Up>
984 requires(!__libcpp_opt_ref_ctor_deleted<_Up>) && (!is_same_v<remove_cvref_t<_Tp>, optional<_Up>>) &&988 requires __ref_ctor_enabled<_Up&> && (!is_same_v<remove_cvref_t<_Tp>, optional<_Up>>) && (!is_same_v<_Tp&, _Up>) &&
985 (!is_same_v<_Tp&, _Up>) && is_constructible_v<_Tp&, _Up&>989 is_constructible_v<_Tp&, _Up&>
986 _LIBCPP_HIDE_FROM_ABI constexpr explicit(!is_convertible_v<_Up&, _Tp&>)990 _LIBCPP_HIDE_FROM_ABI constexpr explicit(!is_convertible_v<_Up&, _Tp&>)
987 optional(optional<_Up>& __rhs) noexcept(is_nothrow_constructible_v<_Tp&, _Up&>) {991 optional(optional<_Up>& __rhs) noexcept(is_nothrow_constructible_v<_Tp&, _Up&>) {
988 this->__construct_from(__rhs);992 this->__construct_from(__rhs);
989 }993 }
990994
991 template <class _Up>995 template <class _Up>
992 requires __libcpp_opt_ref_ctor_deleted<_Up> && (!is_same_v<remove_cvref_t<_Tp>, optional<_Up>>) &&996 requires __libcpp_opt_ref_ctor_deleted<_Up&> && (!is_same_v<remove_cvref_t<_Tp>, optional<_Up>>) &&
993 (!is_same_v<_Tp&, _Up>) && is_constructible_v<_Tp&, _Up&>997 (!is_same_v<_Tp&, _Up>) && is_constructible_v<_Tp&, _Up&>
994 constexpr explicit optional(optional<_Up>& __rhs) noexcept = delete;998 constexpr explicit optional(optional<_Up>& __rhs) noexcept = delete;
995999
996 // optional(const optional<U>&)1000 // optional(const optional<U>&)
997 template <class _Up, enable_if_t<_CheckOptionalLikeCtor<_Up, _Up const&>::template __enable_implicit<_Up>(), int> = 0>1001 template <class _Up, enable_if_t<_CheckOptionalLikeCtor<_Up, _Up const&>::template __enable_implicit<_Up>(), int> = 0>
998 requires __libcpp_opt_ref_ctor_deleted<_Up>1002 requires __libcpp_opt_ref_ctor_deleted<const _Up&>
999 optional(const optional<_Up>&) = delete;1003 optional(const optional<_Up>&) = delete;
10001004
1001 template <class _Up, enable_if_t<_CheckOptionalLikeCtor<_Up, _Up const&>::template __enable_explicit<_Up>(), int> = 0>1005 template <class _Up, enable_if_t<_CheckOptionalLikeCtor<_Up, _Up const&>::template __enable_explicit<_Up>(), int> = 0>
1002 requires __libcpp_opt_ref_ctor_deleted<_Up>1006 requires __libcpp_opt_ref_ctor_deleted<const _Up&>
1003 explicit optional(const optional<_Up>&) = delete;1007 explicit optional(const optional<_Up>&) = delete;
10041008
1005 // optional(optional<U>&&)1009 // optional(optional<U>&&)
...@@ -1013,16 +1017,16 @@ public:...@@ -1013,16 +1017,16 @@ public:
10131017
1014 // optional(const optional<U>&&)1018 // optional(const optional<U>&&)
1015 template <class _Up>1019 template <class _Up>
1016 requires(!__libcpp_opt_ref_ctor_deleted<_Up>) && (!is_same_v<remove_cvref_t<_Tp>, optional<_Up>>) &&1020 requires __ref_ctor_enabled<const _Up> && (!is_same_v<remove_cvref_t<_Tp>, optional<_Up>>) &&
1017 (!is_same_v<_Tp&, _Up>) && is_constructible_v<_Tp&, _Up>1021 (!is_same_v<_Tp&, _Up>) && is_constructible_v<_Tp&, const _Up>
1018 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit(!is_convertible_v<const _Up, _Tp&>)1022 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit(!is_convertible_v<const _Up, _Tp&>)
1019 optional(const optional<_Up>&& __v) noexcept(is_nothrow_constructible_v<_Tp&, const _Up>) {1023 optional(const optional<_Up>&& __v) noexcept(is_nothrow_constructible_v<_Tp&, const _Up>) {
1020 this->__construct_from(std::move(__v));1024 this->__construct_from(std::move(__v));
1021 }1025 }
10221026
1023 template <class _Up>1027 template <class _Up>
1024 requires __libcpp_opt_ref_ctor_deleted<_Up> && (!is_same_v<remove_cvref_t<_Tp>, optional<_Up>>) &&1028 requires __libcpp_opt_ref_ctor_deleted<const _Up> && (!is_same_v<remove_cvref_t<_Tp>, optional<_Up>>) &&
1025 (!is_same_v<_Tp&, _Up>) && is_constructible_v<_Tp&, _Up>1029 (!is_same_v<_Tp&, _Up>) && is_constructible_v<_Tp&, const _Up>
1026 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 optional(const optional<_Up>&& __v) noexcept = delete;1030 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 optional(const optional<_Up>&& __v) noexcept = delete;
1027# endif1031# endif
10281032