summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/llvm/constexpr_longdouble_9.0.patch12
-rw-r--r--var/spack/repos/builtin/packages/llvm/package.py1
2 files changed, 13 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/llvm/constexpr_longdouble_9.0.patch b/var/spack/repos/builtin/packages/llvm/constexpr_longdouble_9.0.patch
new file mode 100644
index 0000000000..bbc5ab7385
--- /dev/null
+++ b/var/spack/repos/builtin/packages/llvm/constexpr_longdouble_9.0.patch
@@ -0,0 +1,12 @@
+-- a/libcxx/include/thread
++++ b/libcxx/include/thread
+@@ -370,7 +370,7 @@ 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
+
diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py
index 97c4a57b2c..6307eab58a 100644
--- a/var/spack/repos/builtin/packages/llvm/package.py
+++ b/var/spack/repos/builtin/packages/llvm/package.py
@@ -197,6 +197,7 @@ class Llvm(CMakePackage):
# see https://bugs.llvm.org/show_bug.cgi?id=39696
# for a bug report about this problem in llvm master.
patch('constexpr_longdouble.patch', when='@6:8+libcxx')
+ patch('constexpr_longdouble_9.0.patch', when='@9+libcxx')
# Backport from llvm master; see
# https://bugs.llvm.org/show_bug.cgi?id=38233