summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/hip')
-rw-r--r--dev-util/hip/files/hip-5.1.3-llvm-15-noinline-keyword.patch21
-rw-r--r--dev-util/hip/hip-5.1.3-r2.ebuild (renamed from dev-util/hip/hip-5.1.3-r1.ebuild)3
2 files changed, 23 insertions, 1 deletions
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
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() {