diff options
author | Laurent Aphecetche <laurent.aphecetche@gmail.com> | 2023-12-22 13:03:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-22 05:03:23 -0700 |
commit | ec9d08e71ec2ef0b50d834f2ee7ad25658689e01 (patch) | |
tree | 95c7a7c0a452ecc2eb5c76bce50143f54818cbb9 /var/spack/repos/builtin/packages/llvm/package.py | |
parent | 397c0664649068a9923d6eb2f3d49ac801dda27f (diff) | |
download | spack-ec9d08e71ec2ef0b50d834f2ee7ad25658689e01.tar.gz spack-ec9d08e71ec2ef0b50d834f2ee7ad25658689e01.tar.bz2 spack-ec9d08e71ec2ef0b50d834f2ee7ad25658689e01.tar.xz spack-ec9d08e71ec2ef0b50d834f2ee7ad25658689e01.zip |
llvm: fix llvm@14 build with apple-clang-15 (#40191)
* llvm: fix llvm@14 build with apple-clang-15
* fix formatting
---------
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Diffstat (limited to 'var/spack/repos/builtin/packages/llvm/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/llvm/package.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py index b85e5be19d..d2195fca49 100644 --- a/var/spack/repos/builtin/packages/llvm/package.py +++ b/var/spack/repos/builtin/packages/llvm/package.py @@ -572,6 +572,8 @@ class Llvm(CMakePackage, CudaPackage): patch("add-include-for-libelf-llvm-12-14.patch", when="@12:14") patch("add-include-for-libelf-llvm-15.patch", when="@15") + patch("sanitizer-platform-limits-posix-xdr-macos.patch", when="@10:14 platform=darwin") + @when("@14:17") def patch(self): # https://github.com/llvm/llvm-project/pull/69458 @@ -940,6 +942,26 @@ class Llvm(CMakePackage, CudaPackage): # Semicolon seperated list of runtimes to enable if runtimes: + # The older versions are not careful enough with the order of the runtimes. + # Instead of applying + # https://github.com/llvm/llvm-project/commit/06400a0142af8297b5d39b8f34a7c59db6f9910c, + # which might be incompatible with the version that we install, + # we sort the runtimes here according to the same order as + # in the aforementioned commit: + if self.spec.satisfies("@:14"): + runtimes_order = [ + "libc", + "libunwind", + "libcxxabi", + "libcxx", + "compiler-rt", + "openmp", + ] + runtimes.sort( + key=lambda x: runtimes_order.index(x) + if x in runtimes_order + else len(runtimes_order) + ) cmake_args.extend( [ define("LLVM_ENABLE_RUNTIMES", runtimes), |