libcxx: GCC 13 build fixes.

This commit is contained in:
jperkin 2023-12-18 17:48:42 +00:00
parent 16e01497c7
commit 17a349d657
4 changed files with 54 additions and 1 deletions

View File

@ -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

View File

@ -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 <class _T1, class _T2>
+struct _LIBCPP_TEMPLATE_VIS is_convertible : public integral_constant<bool, __is_convertible(_T1, _T2)> {};
+
+#elif __has_builtin(__is_convertible_to) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK)
template <class _T1, class _T2> struct _LIBCPP_TEMPLATE_VIS is_convertible
: public integral_constant<bool, __is_convertible_to(_T1, _T2)> {};

View File

@ -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 <class _Tp>
struct remove_cv {
using type _LIBCPP_NODEBUG = __remove_cv(_Tp);

View File

@ -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 <class _Tp>
using __remove_cvref_t _LIBCPP_NODEBUG = __remove_cvref(_Tp);
#else