summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGalen Shipman <gshipman@lanl.gov>2019-12-06 11:38:58 -0700
committerAdam J. Stewart <ajstewart426@gmail.com>2019-12-06 12:38:58 -0600
commit5d523dd6890148af1cf18a04c312738d8c2dec26 (patch)
treec6147dbac604712f5edeadfe54851fe3442f7297
parentdd26cc4004879419c1701d1296331a20b65ef3af (diff)
downloadspack-5d523dd6890148af1cf18a04c312738d8c2dec26.tar.gz
spack-5d523dd6890148af1cf18a04c312738d8c2dec26.tar.bz2
spack-5d523dd6890148af1cf18a04c312738d8c2dec26.tar.xz
spack-5d523dd6890148af1cf18a04c312738d8c2dec26.zip
Add patch to fix issue building current llvm develop master on power9 (#13986)
* Add patch to fix issue building current llvm develop master on power9 * Conform to proper block commenting Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
-rw-r--r--var/spack/repos/builtin/packages/llvm/package.py3
-rw-r--r--var/spack/repos/builtin/packages/llvm/thread-p9.patch16
2 files changed, 19 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py
index 9d209adf1a..87b598263c 100644
--- a/var/spack/repos/builtin/packages/llvm/package.py
+++ b/var/spack/repos/builtin/packages/llvm/package.py
@@ -203,6 +203,9 @@ class Llvm(CMakePackage):
# for a bug report about this problem in llvm master.
patch('llvm_py37.patch', when='@4:6 ^python@3.7:')
+ # https://bugs.llvm.org/show_bug.cgi?id=39696
+ patch('thread-p9.patch', when='@develop+libcxx')
+
@run_before('cmake')
def check_darwin_lldb_codesign_requirement(self):
if not self.spec.satisfies('+lldb platform=darwin'):
diff --git a/var/spack/repos/builtin/packages/llvm/thread-p9.patch b/var/spack/repos/builtin/packages/llvm/thread-p9.patch
new file mode 100644
index 0000000000..140473a850
--- /dev/null
+++ b/var/spack/repos/builtin/packages/llvm/thread-p9.patch
@@ -0,0 +1,16 @@
+diff --git a/libcxx/include/thread b/libcxx/include/thread
+index 02da703..d1677a1 100644
+--- a/projects/libcxx/include/thread
++++ b/projects/libcxx/include/thread
+@@ -368,9 +368,9 @@ sleep_for(const chrono::duration<_Rep, _Period>& __d)
+ {
+ #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)