mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-cpp/highway: revbump for UB case fix
Closes: https://bugs.gentoo.org/922793 Signed-off-by: Daniel Novomeský <dnovomesky@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/35005 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
This commit is contained in:
committed by
Joonas Niilola
parent
8c13be99f6
commit
75145e4759
@@ -0,0 +1,29 @@
|
||||
https://github.com/google/highway/issues/1549
|
||||
https://github.com/google/highway/commit/45eea15b5488f3e7a15c2c94ac77bd9e99703203
|
||||
|
||||
From 45eea15b5488f3e7a15c2c94ac77bd9e99703203 Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Malaterre <mathieu.malaterre@gmail.com>
|
||||
Date: Thu, 5 Oct 2023 08:00:38 +0200
|
||||
Subject: [PATCH] Fix UB case with signed overflow, prefer unsigned
|
||||
|
||||
Fixes #1549
|
||||
|
||||
Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110643
|
||||
Suggested-by: Andrew Pinski <pinskia@gcc.gnu.org>
|
||||
---
|
||||
hwy/ops/arm_neon-inl.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hwy/ops/arm_neon-inl.h b/hwy/ops/arm_neon-inl.h
|
||||
index 7ac7a10c62..97de46be2e 100644
|
||||
--- a/hwy/ops/arm_neon-inl.h
|
||||
+++ b/hwy/ops/arm_neon-inl.h
|
||||
@@ -4592,7 +4592,7 @@ HWY_API Mask128<T, N> IsNaN(const Vec128<T, N> v) {
|
||||
template <typename T, size_t N, HWY_IF_FLOAT(T)>
|
||||
HWY_API Mask128<T, N> IsInf(const Vec128<T, N> v) {
|
||||
const DFromV<decltype(v)> d;
|
||||
- const RebindToSigned<decltype(d)> di;
|
||||
+ const RebindToUnsigned<decltype(d)> di;
|
||||
const VFromD<decltype(di)> vi = BitCast(di, v);
|
||||
// 'Shift left' to clear the sign bit, check for exponent=max and mantissa=0.
|
||||
return RebindMask(d, Eq(Add(vi, vi), Set(di, hwy::MaxExponentTimes2<T>())));
|
||||
41
dev-cpp/highway/highway-1.0.7-r1.ebuild
Normal file
41
dev-cpp/highway/highway-1.0.7-r1.ebuild
Normal file
@@ -0,0 +1,41 @@
|
||||
# Copyright 2021-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit cmake-multilib
|
||||
|
||||
DESCRIPTION="Performance-portable, length-agnostic SIMD with runtime dispatch"
|
||||
HOMEPAGE="https://github.com/google/highway"
|
||||
|
||||
if [[ "${PV}" == *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/google/highway.git"
|
||||
else
|
||||
SRC_URI="https://github.com/google/highway/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="cpu_flags_arm_neon test"
|
||||
|
||||
DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-1.0.7-Fix_UB_case_with_signed_overflow.patch"
|
||||
)
|
||||
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DHWY_CMAKE_ARM7=$(usex cpu_flags_arm_neon)
|
||||
-DBUILD_TESTING=$(usex test)
|
||||
-DHWY_WARNINGS_ARE_ERRORS=OFF
|
||||
)
|
||||
|
||||
use test && mycmakeargs+=( "-DHWY_SYSTEM_GTEST=ON" )
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
Reference in New Issue
Block a user