commit:     c6db8c2f742c153f5c7dd7482a6b23e894cc84e9
Author:     Jack de Kleuver <jackdekleuver <AT> gmail <DOT> com>
AuthorDate: Sat Nov  5 07:09:35 2022 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Sat Nov 19 11:50:41 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6db8c2f

dev-util/hip: Set LLVM version to 15

backport fix for `__noinline__` keyword

Bug: https://bugs.gentoo.org/857126
Signed-off-by: Jack de Kleuver <jackdekleuver <AT> gmail.com>
Signed-off-by: Yiyang Wu <xgreenlandforwyy <AT> gmail.com>
Signed-off-by: Benda Xu <heroxbd <AT> gentoo.org>

 .../files/hip-5.1.3-llvm-15-noinline-keyword.patch  | 21 +++++++++++++++++++++
 .../{hip-5.1.3-r1.ebuild => hip-5.1.3-r2.ebuild}    |  3 ++-
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/dev-util/hip/files/hip-5.1.3-llvm-15-noinline-keyword.patch 
b/dev-util/hip/files/hip-5.1.3-llvm-15-noinline-keyword.patch
new file mode 100644
index 000000000000..de61356a5cc6
--- /dev/null
+++ b/dev-util/hip/files/hip-5.1.3-llvm-15-noinline-keyword.patch
@@ -0,0 +1,21 @@
+LLVM 15 adds __noinline__ as a keyword to match behaviour of GCC 12.
+
+When this macro is left in, it can cause the expression 
__attribute__((__noinline__)) to be expanded incorrectly.
+
+When the __noinline__ keyword is available disable the macro.
+
+Ref: https://reviews.llvm.org/D124866
+     https://bugs.gentoo.org/85712
+===================================================================
+--- a/include/hip/amd_detail/host_defines.h
++++ b/include/hip/amd_detail/host_defines.h
+@@ -47,7 +47,9 @@ THE SOFTWARE.
+ #define __constant__ __attribute__((constant))
+ #endif // !__CLANG_HIP_RUNTIME_WRAPPER_INCLUDED__
+ 
++#if !defined(__has_feature) || !__has_feature(cuda_noinline_keyword)
+ #define __noinline__ __attribute__((noinline))
++#endif
+ #define __forceinline__ inline __attribute__((always_inline))
+ 
+ #if __HIP_NO_IMAGE_SUPPORT

diff --git a/dev-util/hip/hip-5.1.3-r1.ebuild b/dev-util/hip/hip-5.1.3-r2.ebuild
similarity index 98%
rename from dev-util/hip/hip-5.1.3-r1.ebuild
rename to dev-util/hip/hip-5.1.3-r2.ebuild
index 27d78bc64fc7..6ed8327cb213 100644
--- a/dev-util/hip/hip-5.1.3-r1.ebuild
+++ b/dev-util/hip/hip-5.1.3-r2.ebuild
@@ -9,7 +9,7 @@ DOCS_DEPEND="media-gfx/graphviz"
 
 inherit cmake docs llvm prefix python-any-r1
 
-LLVM_MAX_SLOT=14
+LLVM_MAX_SLOT=15
 
 DESCRIPTION="C++ Heterogeneous-Compute Interface for Portability"
 HOMEPAGE="https://github.com/ROCm-Developer-Tools/hipamd";
@@ -52,6 +52,7 @@ PATCHES=(
        "${FILESDIR}/${PN}-5.1.3-correct-sample-install-location.patch"
        "${FILESDIR}/${PN}-5.1.3-remove-cmake-doxygen-commands.patch"
        "${FILESDIR}/0001-SWDEV-316128-HIP-surface-API-support.patch"
+       "${FILESDIR}/${PN}-5.1.3-llvm-15-noinline-keyword.patch"
 )
 
 python_check_deps() {

Reply via email to