From eab148288a6dec638fb23da1ec316a4070d46881 Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Thu, 29 Sep 2022 03:58:03 -0600 Subject: superlu:oneapi-deal with non ISO C99 compliance (#32685) superlu:oneapi-deal with non ISO C99 complianc in the package. The Intel OneAPI compilers are based on LLVM 14. A recent enhancement to LLVM - https://reviews.llvm.org/D122983 results in superlu-dist not compiling because of some non ISO C99 compliant stuff. A workaround is to use an llvm compile line option noted in the above URL. Signed-off-by: Howard Pritchard --- var/spack/repos/builtin/packages/superlu-dist/package.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/superlu-dist/package.py b/var/spack/repos/builtin/packages/superlu-dist/package.py index b87c506278..67e993f6d5 100644 --- a/var/spack/repos/builtin/packages/superlu-dist/package.py +++ b/var/spack/repos/builtin/packages/superlu-dist/package.py @@ -97,6 +97,13 @@ class SuperluDist(CMakePackage, CudaPackage, ROCmPackage): if (spec.satisfies("%xl") or spec.satisfies("%xl_r")) and spec.satisfies("@:6.1.1"): append_define("CMAKE_C_FLAGS", "-DNoChange") + if spec.satisfies("%oneapi"): + # + # 2022 and later Intel OneAPI compilers throws errors compiling + # some of the non ISO C99 compliant code in this package + # see https://reviews.llvm.org/D122983 + # + append_define("CMAKE_C_FLAGS", "-Wno-error=implicit-function-declaration") append_define("XSDK_INDEX_SIZE", "64" if "+int64" in spec else "32") -- cgit v1.2.3-70-g09d2