diff options
author | Chuck Atkins <chuck.atkins@kitware.com> | 2022-07-26 10:45:20 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-26 10:45:20 -0500 |
commit | f38a2ebb25ef86feaf7731fe1dbd0c1f443d1f73 (patch) | |
tree | 4ff63a37e37c48945f1e7ca52c4cff090a16cfd6 /var/spack/repos/builtin/packages/llvm/constexpr_longdouble.patch | |
parent | 6a240c9b392d9d519b5df14943732bd1831d25bf (diff) | |
download | spack-f38a2ebb25ef86feaf7731fe1dbd0c1f443d1f73.tar.gz spack-f38a2ebb25ef86feaf7731fe1dbd0c1f443d1f73.tar.bz2 spack-f38a2ebb25ef86feaf7731fe1dbd0c1f443d1f73.tar.xz spack-f38a2ebb25ef86feaf7731fe1dbd0c1f443d1f73.zip |
llvm: Variant and dependency cleanup (#31331)
* llvm: Use variant when clauses for many of the expressed conflicts
* llvm: Remove the shared variant as it wasn't really used
* llvm: Remove unnecessary deps and make explicit the ones that are
* llvm: Cleanup patch conditions
* pocl: Update for llvm cleanup
* unit-test: update unparse package hash with the updated llvm package
* llvm: Fix ppc long double patching and add clarifying comments
Diffstat (limited to 'var/spack/repos/builtin/packages/llvm/constexpr_longdouble.patch')
-rw-r--r-- | var/spack/repos/builtin/packages/llvm/constexpr_longdouble.patch | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/var/spack/repos/builtin/packages/llvm/constexpr_longdouble.patch b/var/spack/repos/builtin/packages/llvm/constexpr_longdouble.patch index f825b14210..8b90001d63 100644 --- a/var/spack/repos/builtin/packages/llvm/constexpr_longdouble.patch +++ b/var/spack/repos/builtin/packages/llvm/constexpr_longdouble.patch @@ -1,14 +1,27 @@ +From 3bf63cf3b366d3a57cf5cbad4112a6abf6c0c3b1 Mon Sep 17 00:00:00 2001 +From: Marshall Clow <mclow.lists@gmail.com> +Date: Tue, 2 Apr 2019 14:46:36 +0000 +Subject: [PATCH] Special case some duration arithmetic for GCC and PPC because + their long double constant folding is broken. Fixes PR#39696. + +llvm-svn: 357478 +--- + libcxx/include/thread | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/libcxx/include/thread b/libcxx/include/thread +index df06ff70f8e37f22f4108be8e5e79a38052a11dd..400459ae7f32c4d7cd24b2d85c49d789500e432d 100644 --- a/libcxx/include/thread +++ b/libcxx/include/thread -@@ -435,7 +435,12 @@ sleep_for(const chrono::duration<_Rep, _Period>& __d) +@@ -434,7 +434,12 @@ sleep_for(const chrono::duration<_Rep, _Period>& __d) using namespace chrono; if (__d > duration<_Rep, _Period>::zero()) { -+#if ! (defined(_LIBCPP_COMPILER_GCC) && (__powerpc__ || __POWERPC__)) ++#if defined(_LIBCPP_COMPILER_GCC) && (__powerpc__ || __POWERPC__) + // GCC's long double const folding is incomplete for IBM128 long doubles. - _LIBCPP_CONSTEXPR duration<long double> _Max = nanoseconds::max(); -+#else + _LIBCPP_CONSTEXPR duration<long double> _Max = duration<long double>(ULLONG_MAX/1000000000ULL) ; ++#else + _LIBCPP_CONSTEXPR duration<long double> _Max = nanoseconds::max(); +#endif nanoseconds __ns; if (__d < _Max) |