From 17a349d6578c3dfbc5936aabcb73b1bd1ca252d5 Mon Sep 17 00:00:00 2001 From: jperkin Date: Mon, 18 Dec 2023 17:48:42 +0000 Subject: [PATCH] libcxx: GCC 13 build fixes. --- lang/libcxx/distinfo | 5 ++++- ...include_____type__traits_is__convertible.h | 20 +++++++++++++++++++ ...atch-include_____type__traits_remove__cv.h | 15 ++++++++++++++ ...h-include_____type__traits_remove__cvref.h | 15 ++++++++++++++ 4 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 lang/libcxx/patches/patch-include_____type__traits_is__convertible.h create mode 100644 lang/libcxx/patches/patch-include_____type__traits_remove__cv.h create mode 100644 lang/libcxx/patches/patch-include_____type__traits_remove__cvref.h diff --git a/lang/libcxx/distinfo b/lang/libcxx/distinfo index ddee0fc7488b..9fb2ee8c6937 100644 --- a/lang/libcxx/distinfo +++ b/lang/libcxx/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.26 2023/10/06 19:15:21 adam Exp $ +$NetBSD: distinfo,v 1.27 2023/12/18 17:48:42 jperkin Exp $ BLAKE2s (cmake-16.0.6.src.tar.xz) = a967225f31bcd98484d632a2d530c498131b0035f18b15e27915663b915dc6ba SHA512 (cmake-16.0.6.src.tar.xz) = 52ecd941d2d85a5b668caa5d0d40480cb6a97b3bf1174e634c2a93e9ef6d03670ca7e96abb0a60cb33ba537b93d5788754dab1f2f45c1f623f788162717d088b @@ -11,6 +11,9 @@ SHA512 (libcxxabi-16.0.6.src.tar.xz) = 5f49ad34d5d00a3cd5ca92c8570b0cd77123a8184 Size (libcxxabi-16.0.6.src.tar.xz) = 573564 bytes SHA1 (patch-include_____locale) = 2eafcf7f70f67df907593fe8cc0cc1ec1c0e0552 SHA1 (patch-include_____support_solaris_xlocale.h) = c6a969ed48b4df78401fea76c7a936c258cf869f +SHA1 (patch-include_____type__traits_is__convertible.h) = 0f5e9050b0b62843e08bd0361f5cb68b81ce4d81 +SHA1 (patch-include_____type__traits_remove__cv.h) = b509dec32439aacaa4365b823afc2d059253e707 +SHA1 (patch-include_____type__traits_remove__cvref.h) = 74184b32cbd236b36263b32688dfc4a7ffb4167a SHA1 (patch-src_charconv.cpp) = b8569ae77df4a5a7b627b3a9cb6691be73699dca SHA1 (patch-src_filesystem_filesystem__common.h) = 7b088ae8e577b482e05906434b510daed40469ae SHA1 (patch-src_include_to__chars__floating__point.h) = f7f880905609b87830ea657c7510fb3987448a09 diff --git a/lang/libcxx/patches/patch-include_____type__traits_is__convertible.h b/lang/libcxx/patches/patch-include_____type__traits_is__convertible.h new file mode 100644 index 000000000000..645ba73dd397 --- /dev/null +++ b/lang/libcxx/patches/patch-include_____type__traits_is__convertible.h @@ -0,0 +1,20 @@ +$NetBSD: patch-include_____type__traits_is__convertible.h,v 1.1 2023/12/18 17:48:42 jperkin Exp $ + +Backport GCC 13 fix. + +--- include/__type_traits/is_convertible.h.orig 2023-12-15 09:59:09.541570632 +0000 ++++ include/__type_traits/is_convertible.h +@@ -24,7 +24,12 @@ + + _LIBCPP_BEGIN_NAMESPACE_STD + +-#if __has_builtin(__is_convertible_to) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK) ++#if __has_builtin(__is_convertible) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK) ++ ++template ++struct _LIBCPP_TEMPLATE_VIS is_convertible : public integral_constant {}; ++ ++#elif __has_builtin(__is_convertible_to) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK) + + template struct _LIBCPP_TEMPLATE_VIS is_convertible + : public integral_constant {}; diff --git a/lang/libcxx/patches/patch-include_____type__traits_remove__cv.h b/lang/libcxx/patches/patch-include_____type__traits_remove__cv.h new file mode 100644 index 000000000000..5e8b5c778620 --- /dev/null +++ b/lang/libcxx/patches/patch-include_____type__traits_remove__cv.h @@ -0,0 +1,15 @@ +$NetBSD: patch-include_____type__traits_remove__cv.h,v 1.1 2023/12/18 17:48:42 jperkin Exp $ + +GCC 13 build fix. + +--- include/__type_traits/remove_cv.h.orig 2023-12-18 17:44:16.264527380 +0000 ++++ include/__type_traits/remove_cv.h +@@ -19,7 +19,7 @@ + + _LIBCPP_BEGIN_NAMESPACE_STD + +-#if __has_builtin(__remove_cv) ++#if __has_builtin(__remove_cv) && !defined(_LIBCPP_COMPILER_GCC) + template + struct remove_cv { + using type _LIBCPP_NODEBUG = __remove_cv(_Tp); diff --git a/lang/libcxx/patches/patch-include_____type__traits_remove__cvref.h b/lang/libcxx/patches/patch-include_____type__traits_remove__cvref.h new file mode 100644 index 000000000000..759f823d534e --- /dev/null +++ b/lang/libcxx/patches/patch-include_____type__traits_remove__cvref.h @@ -0,0 +1,15 @@ +$NetBSD: patch-include_____type__traits_remove__cvref.h,v 1.1 2023/12/18 17:48:42 jperkin Exp $ + +GCC 13 build fix. + +--- include/__type_traits/remove_cvref.h.orig 2023-12-18 17:44:39.685649726 +0000 ++++ include/__type_traits/remove_cvref.h +@@ -20,7 +20,7 @@ + + _LIBCPP_BEGIN_NAMESPACE_STD + +-#if __has_builtin(__remove_cvref) ++#if __has_builtin(__remove_cvref) && !defined(_LIBCPP_COMPILER_GCC) + template + using __remove_cvref_t _LIBCPP_NODEBUG = __remove_cvref(_Tp); + #else