Skip to content
Snippets Groups Projects
Commit b919565e authored by alice's avatar alice
Browse files

main/llvm-runtimes: fix libcxx with gcc13

parent 9bf813f7
No related branches found
No related tags found
No related merge requests found
......@@ -6,7 +6,7 @@ pkgname=llvm-runtimes
# Note: Update together with llvm.
pkgver=16.0.6
_llvmver=${pkgver%%.*}
pkgrel=0
pkgrel=1
pkgdesc="LLVM Runtimes"
url="https://llvm.org/"
arch="all"
......@@ -30,6 +30,7 @@ subpackages="
llvm-libunwind-dev:libunwind_dev
"
source="https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver//_/-}/llvm-project-${pkgver//_/}.src.tar.xz
gcc13-libcxx.patch
armv6-arch.patch.noauto
compiler-rt-lsan-dtp-offset.patch
compiler-rt-ppc-fixes.patch
......@@ -143,6 +144,7 @@ libcxx_dev() {
sha512sums="
89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7 llvm-project-16.0.6.src.tar.xz
10abdde31e16ce919f9ef89656601c8d925b63d06c6b43dcba880766cb937cd329de2b177856e2a6e767c7e5f01efaefe4ef6ab8981a61e870202f654faa208f gcc13-libcxx.patch
5e7bbddbaea902e5ba5cd4db78bedbeef216f44fdd9b8f73efde6c09f40115c078649a109ffa61fefa0ee2f26655c038a48589ecac83068a47d60e9248c5dff1 armv6-arch.patch.noauto
7c2cbd095b863f735842aaa8f0daecbf0282200fc58f1394139cee30d53c4a738757e38cbf0ec734398ee827e8a47314592bd7dc9768ef5c3664db682680e5a1 compiler-rt-lsan-dtp-offset.patch
aaef886f71c5499da18ff18937404ab641cbc3a540ee9e4eed7ae6895970863e6d01ed598f8b2f1512936f33d6dd122cd7a00545afaf710a8026c729a3af720c compiler-rt-ppc-fixes.patch
......
Patch-Source: https://reviews.llvm.org/D149313
--
diff --git a/libcxx/include/__type_traits/is_convertible.h b/libcxx/include/__type_traits/is_convertible.h
--- a/libcxx/include/__type_traits/is_convertible.h
+++ b/libcxx/include/__type_traits/is_convertible.h
@@ -24,11 +24,18 @@
_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)> {};
+// TODO: Remove this fallback when GCC < 13 support is no longer required.
+// GCC 13 has the __is_convertible built-in.
#else // __has_builtin(__is_convertible_to) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK)
namespace __is_convertible_imp
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment