eigen3/0001-Do-stack-allignment-on-ppc.patch
Dirk Stoecker b4b27e89e0 Accepting request 842001 from home:badshah400:branches:science
- Update to version 3.3.8:
  * General bug fixes:
    - Issue #1995: Fix a failure in the GEBP kernel when using
      small L1 cache sizes, OpenMP and FMA.
    - Issue #1990: Make CMake accept installation paths relative
      to CMAKE_INSTALL_PREFIX.
    - Issue #1974: Fix issue when reserving an empty sparse matrix
    - Issue #1823: Fix incorrect use of std::abs
    - Issue #1788: Fix rule-of-three violations inside the stable
      modules. This fixes deprecated-copy warnings when compiling
      with GCC>=9. Also protect some additional Base-constructors
      from getting called by user code code (Issue #1587)
    - Issue #1796: Make matrix squareroot usable for Map and Ref
      types.
    - Issue #1281: Fix AutoDiffScalar's make_coherent for nested
      expression of constant ADs.
    - Issue #1761: Fall back is_integral to std::is_integral in
      c++11 and fix internal::is_integral<size_t/ptrdiff_t> with
      MSVC 2013 and older.
    - Issue #1741: Fix self-adjoint*matrix, triangular*matrix, and
      triangular^1*matrix with a destination having a non-trivial
      inner-stride.
    - Issue #1741: Fix SelfAdjointView::rankUpdate and product to
      triangular part for destination with non-trivial inner
      stride.
    - Issue #1741: Fix C.noalias() = A*C; with C.innerStride()!=1.
    - Issue #1695: Fix a numerical robustness issue in BDCSVD.
    - Issue #1692: Enable enum as sizes of Matrix and Array.
    - Issue #1689: Fix used-but-marked-unused warning.
    - Issue #1679: Avoid possible division by 0 in complex-schur.
    - Issue #1676: Fix C++17 template deduction in DenseBase.
    - Issue #1669: Fix PartialPivLU/inverse with zero-sized
      matrices.
    - Issue #1557: Fix RealSchur and EigenSolver for matrices with
      only zeros on the diagonal.
  * Performance related fixes:
    - Issue #1562: Optimize evaluation of small products of the
      form s*A*B by rewriting them as: s*(A.lazyProduct(B)) to
      save a costly temporary. Measured speedup from 2x to 5x...
    - Fix performance issue with SimplicialLDLT for complexes
      coefficients.
  * Misc fixes:
    - Fix QuaternionBase::cast for quaternion map and wrapper.
    - Fix case issue with Lapack unit tests.
    - Fix possible conflict with an externally defined "real" type
      when using gcc-5.
    - Provide numext::[u]int{32,64}_t.
    - Initialize isometric transforms like affine transforms.
    - Change typedefs from private to protected to fix MSVC
      compilation.
    - Fix compilation of FFTW unit test.
    - Fix compilation of BLAS backend and frontend.
    - Fix real/imag namespace conflict.
    - Avoid throwing in destructors.
    - Fix precision issue in SelfAdjointEigenSolver.h
    - Make digits10() return an integer.
    - Use pade for matrix exponential also for complex values.
    - Cast Index to RealScalar in SVDBase to fix an issue when
      RealScalar is not implicitly convertible to Index.
    - Provide EIGEN_HAS_C99_MATH when using MSVC.
    - Various fixes in polynomial solver and its unit tests.
    - nd 4415d4e2d: Extend polynomial solver unit tests to
      complexes.
    - Automatically switch between EigenSolver and
      ComplexEigenSolver, and fix a few Real versus Scalar issues.
    - Enable construction of Ref<VectorType> from a runtime
      vector.
    - Fix a problem of old gcc versions having problems with
      recursive #pragma GCC diagnostic push/pop.
    - Fix compilation with expression template scalar type.
    - Backport AVX512 implementation to 3.3.
    - Fix StlDeque compilation issue with GCC 10.
    - Avoid false-positive test results in non-linear optimization
      tests.
    - Fix undefined behaviour caused by uncaught exceptions in OMP
      section of parallel GEBP kernel.
    - Fix a bug with half-precision floats on GPUs.
  * Fixed warnings:
    - Fix some maybe-uninitialized warnings in AmbiVector.h and
      test bdcsvd.
    - Silent cmake warnings in Lapack CMakeLists.txt.
    - Rename variable which shadows class name in Polynomials
      module.
    - Workaround gcc's alloc-size-larger-than= warning in
      DenseStorage.h.
    - Hide some unused variable warnings in g++8.1 in Tensor
      contraction mapper.
    - Fix gcc 8.1 warning: "maybe use uninitialized" in std tests.
    - Fix always true warning with gcc 4.7in test numext.
    - Fix nonnull-compare warning in test geo_alignedbox.
    - Disable ignoring attributes warning in vectorization logic
      test.
    - Fix a gcc7 warning about bool * bool in abs2 default
      implementation.
    - Fix a warning in SparseSelfAdjointView about a branch
      statement always evaluation to false.
- Minor rebase of patches to fix offsets.
- Specify relative path to includedir as option to cmake as it
  only accepts paths relative to CMAKE_INSTALL_PREFIX now.
- Drop Group tags.

OBS-URL: https://build.opensuse.org/request/show/842001
OBS-URL: https://build.opensuse.org/package/show/science/eigen3?expand=0&rev=31
2020-10-19 14:36:21 +00:00

23 lines
1.2 KiB
Diff

From 91025c823045259bad2297850625a08fbf986043 Mon Sep 17 00:00:00 2001
From: Dinar Valeev <dvaleev@suse.com>
Date: Thu, 31 Jul 2014 12:51:13 +0000
Subject: [PATCH] Do stack allignment on ppc
---
Eigen/src/Core/util/Macros.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: eigen-3.3.8/Eigen/src/Core/util/Macros.h
===================================================================
--- eigen-3.3.8.orig/Eigen/src/Core/util/Macros.h
+++ eigen-3.3.8/Eigen/src/Core/util/Macros.h
@@ -718,7 +718,7 @@ namespace Eigen {
// certain common platform (compiler+architecture combinations) to avoid these problems.
// Only static alignment is really problematic (relies on nonstandard compiler extensions),
// try to keep heap alignment even when we have to disable static alignment.
- #if EIGEN_COMP_GNUC && !(EIGEN_ARCH_i386_OR_x86_64 || EIGEN_ARCH_ARM_OR_ARM64 || EIGEN_ARCH_PPC || EIGEN_ARCH_IA64)
+ #if EIGEN_COMP_GNUC && !(EIGEN_ARCH_i386_OR_x86_64 || EIGEN_ARCH_ARM_OR_ARM64 || EIGEN_ARCH_IA64)
#define EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT 1
#elif EIGEN_ARCH_ARM_OR_ARM64 && EIGEN_COMP_GNUC_STRICT && EIGEN_GNUC_AT_MOST(4, 6)
// Old versions of GCC on ARM, at least 4.4, were once seen to have buggy static alignment support.