From 6035da5283f12f7e6a49cda0c21696c8e5a115b7 Mon Sep 17 00:00:00 2001 From: Antonio Sanchez Date: Thu, 1 Jul 2021 12:47:52 -0700 Subject: Fix compile issues for gcc 4.8. - Move constructors can only be defaulted as NOEXCEPT if all members have NOEXCEPT move constructors. - gcc 4.8 has some funny parsing bug in `a < b->c`, thinking `b-` is a template parameter. --- Eigen/src/Core/DenseStorage.h | 8 ++++---- unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Eigen/src/Core/DenseStorage.h b/Eigen/src/Core/DenseStorage.h index 8a4cbd4be..08ef6c530 100644 --- a/Eigen/src/Core/DenseStorage.h +++ b/Eigen/src/Core/DenseStorage.h @@ -220,7 +220,7 @@ template class DenseSt EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN(Index size = Size) } #else - EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage& other) = default; + EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage&) = default; #endif #if !EIGEN_HAS_CXX11 EIGEN_DEVICE_FUNC @@ -230,7 +230,7 @@ template class DenseSt return *this; } #else - EIGEN_DEVICE_FUNC DenseStorage& operator=(const DenseStorage& other) = default; + EIGEN_DEVICE_FUNC DenseStorage& operator=(const DenseStorage&) = default; #endif #if EIGEN_HAS_RVALUE_REFERENCES #if !EIGEN_HAS_CXX11 @@ -245,8 +245,8 @@ template class DenseSt return *this; } #else - EIGEN_DEVICE_FUNC DenseStorage(DenseStorage&& other) EIGEN_NOEXCEPT = default; - EIGEN_DEVICE_FUNC DenseStorage& operator=(DenseStorage&& other) EIGEN_NOEXCEPT = default; + EIGEN_DEVICE_FUNC DenseStorage(DenseStorage&&) = default; + EIGEN_DEVICE_FUNC DenseStorage& operator=(DenseStorage&&) = default; #endif #endif EIGEN_DEVICE_FUNC DenseStorage(Index size, Index rows, Index cols) { diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h b/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h index 3b2100ab0..d96303224 100644 --- a/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +++ b/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h @@ -372,7 +372,7 @@ template struct ArgMaxTupleReducer EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reduce(const T t, T* accum) const { if (t.second < accum->second) { return; - } else if (t.second > accum->second || t.first < accum->first) { + } else if (t.second > accum->second || accum->first > t.first ) { *accum = t; } } @@ -400,7 +400,7 @@ template struct ArgMinTupleReducer EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reduce(const T& t, T* accum) const { if (t.second > accum->second) { return; - } else if (t.second < accum->second || t.first < accum->first) { + } else if (t.second < accum->second || accum->first > t.first) { *accum = t; } } -- cgit v1.2.3