[Android-tools-devel] Bug#1104650: android-platform-art: FTBFS with clang-20
Sudip Mukherjee
sudipm.mukherjee at gmail.com
Sun May 4 00:02:41 BST 2025
Control: tags -1 patch
--
On Sat, May 03, 2025 at 11:26:06PM +0100, Sudip Mukherjee wrote:
> Source: android-platform-art
> Version: 14.0.0+r15-4
> Severity: wishlist
> Tags: ftbfs
> X-Debbugs-Cc: sudipm.mukherjee at gmail.com
>
> Dear Maintainer,
>
> android-platform-art is FTBFS with clang-20.
The attached debdiff fixes the FTBFS in Ubuntu.
--
Regards
Sudip
-------------- next part --------------
diff -Nru android-platform-art-14.0.0+r15/debian/changelog android-platform-art-14.0.0+r15/debian/changelog
--- android-platform-art-14.0.0+r15/debian/changelog 2024-12-01 15:19:27.000000000 +0000
+++ android-platform-art-14.0.0+r15/debian/changelog 2025-05-03 23:51:33.000000000 +0100
@@ -1,3 +1,11 @@
+android-platform-art (14.0.0+r15-4.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * d/p/fix-ambiguous.patch: Fix FTBFS due to ambiguous FillVRegs template
+ specializations due to clang-20.
+
+ -- Sudip Mukherjee <sudipm.mukherjee at gmail.com> Sat, 03 May 2025 23:51:33 +0100
+
android-platform-art (14.0.0+r15-4) unstable; urgency=medium
[ Hans-Christoph Steiner ]
diff -Nru android-platform-art-14.0.0+r15/debian/patches/fix-ambiguous.patch android-platform-art-14.0.0+r15/debian/patches/fix-ambiguous.patch
--- android-platform-art-14.0.0+r15/debian/patches/fix-ambiguous.patch 1970-01-01 01:00:00.000000000 +0100
+++ android-platform-art-14.0.0+r15/debian/patches/fix-ambiguous.patch 2025-05-03 23:50:56.000000000 +0100
@@ -0,0 +1,40 @@
+Description: Fix ambiguous FillVRegs template specializations due to clang-20
+
+Origin: upstream, https://android.googlesource.com/platform/art/+/d5a09b3adf930729ccb17c1e466c9c5eb053082a
+Bug-Debian: https://bugs.debian.org/1104650
+Last-Update: 2025-05-03
+---
+
+--- android-platform-art-14.0.0+r15.orig/runtime/art_method-inl.h
++++ android-platform-art-14.0.0+r15/runtime/art_method-inl.h
+@@ -151,18 +151,14 @@ constexpr size_t NumberOfVRegs() {
+ return sum;
+ }
+
+-template <char... ArgType>
+-inline ALWAYS_INLINE void FillVRegs(uint32_t* vregs ATTRIBUTE_UNUSED,
+- typename ShortyTraits<ArgType>::Type... args ATTRIBUTE_UNUSED)
+- REQUIRES_SHARED(Locks::mutator_lock_) {}
+-
+ template <char FirstArgType, char... ArgType>
+ inline ALWAYS_INLINE void FillVRegs(uint32_t* vregs,
+ typename ShortyTraits<FirstArgType>::Type first_arg,
+ typename ShortyTraits<ArgType>::Type... args)
+ REQUIRES_SHARED(Locks::mutator_lock_) {
+ ShortyTraits<FirstArgType>::Set(vregs, first_arg);
+- FillVRegs<ArgType...>(vregs + ShortyTraits<FirstArgType>::kVRegCount, args...);
++ if constexpr (sizeof...(args) > 0)
++ FillVRegs<ArgType...>(vregs + ShortyTraits<FirstArgType>::kVRegCount, args...);
+ }
+
+ template <char... ArgType>
+@@ -170,7 +166,8 @@ inline ALWAYS_INLINE auto MaterializeVRe
+ REQUIRES_SHARED(Locks::mutator_lock_) {
+ constexpr size_t kNumVRegs = NumberOfVRegs<ArgType...>();
+ std::array<uint32_t, kNumVRegs> vregs;
+- FillVRegs<ArgType...>(vregs.data(), args...);
++ if constexpr (sizeof...(args) > 0)
++ FillVRegs<ArgType...>(vregs.data(), args...);
+ return vregs;
+ }
+
diff -Nru android-platform-art-14.0.0+r15/debian/patches/series android-platform-art-14.0.0+r15/debian/patches/series
--- android-platform-art-14.0.0+r15/debian/patches/series 2024-12-01 15:02:11.000000000 +0000
+++ android-platform-art-14.0.0+r15/debian/patches/series 2025-05-03 23:51:11.000000000 +0100
@@ -6,3 +6,4 @@
fix-pthread-stack.patch
remove-include-unused-base-strlcpy-h.patch
Fix-Filter-function-shadowing-its-own-template-parameter.patch
+fix-ambiguous.patch
More information about the Android-tools-devel
mailing list