From 6f7a58b142cf30ffdc8bff074742d4f658ab3e2f Mon Sep 17 00:00:00 2001 From: Dan Lipsa Date: Wed, 11 Dec 2019 15:03:57 -0500 Subject: Fix constexpr for llvm 9.0 (#14095) --- .../builtin/packages/llvm/constexpr_longdouble_9.0.patch | 12 ++++++++++++ var/spack/repos/builtin/packages/llvm/package.py | 1 + 2 files changed, 13 insertions(+) create mode 100644 var/spack/repos/builtin/packages/llvm/constexpr_longdouble_9.0.patch (limited to 'var') 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 _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 -- cgit v1.2.3-70-g09d2