summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/magma/magma-2.3.0-gcc-4.8.patch
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/magma/magma-2.3.0-gcc-4.8.patch')
-rw-r--r--var/spack/repos/builtin/packages/magma/magma-2.3.0-gcc-4.8.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/magma/magma-2.3.0-gcc-4.8.patch b/var/spack/repos/builtin/packages/magma/magma-2.3.0-gcc-4.8.patch
new file mode 100644
index 0000000000..f734a5f16a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/magma/magma-2.3.0-gcc-4.8.patch
@@ -0,0 +1,24 @@
+diff -ru magma-2.3.0/testing/testings.h magma-2.3.0-patched/testing/testings.h
+--- magma-2.3.0/testing/testings.h 2017-11-14 21:34:00.000000000 -0800
++++ magma-2.3.0-patched/testing/testings.h 2018-03-23 20:41:16.459934643 -0700
+@@ -269,4 +269,20 @@
+ typename blas::traits<FloatT>::real_t* sigma,
+ FloatT* A, magma_int_t lda );
+
++// This overload for the case sigma = nullptr is a workaround for an issue
++// when building with gcc 4.8.5. This is not an issue with gcc 4.9.2.
++template< typename FloatT >
++void magma_generate_matrix(
++ magma_opts& opts,
++ magma_int_t m, magma_int_t n,
++ std::nullptr_t sigma,
++ FloatT* A, magma_int_t lda )
++{
++ magma_generate_matrix<FloatT>(
++ opts,
++ m, n,
++ (typename blas::traits<FloatT>::real_t*) sigma,
++ A, lda );
++}
++
+ #endif /* TESTINGS_H */