From 04c9b000ff39ee4998b72e100dc3fd4b090e01bf Mon Sep 17 00:00:00 2001 From: Tyler Veness Date: Mon, 29 Jul 2019 20:28:01 -0700 Subject: [PATCH] Revert "Fix build of Eigen 3.3.7 with GCC 9" -Wextra adds -Wdeprecated-copy, which Eigen emits. We're going to squelch the warning instead to minimize changes to Eigen's upstream sources. --- .../main/native/include/Eigen/src/Core/ArrayBase.h | 2 -- .../main/native/include/Eigen/src/Core/ArrayWrapper.h | 3 --- .../src/main/native/include/Eigen/src/Core/Block.h | 11 ----------- .../src/main/native/include/Eigen/src/Core/Diagonal.h | 2 -- wpiutil/src/main/native/include/Eigen/src/Core/Map.h | 2 -- .../src/main/native/include/Eigen/src/Core/MapBase.h | 4 ---- .../main/native/include/Eigen/src/Core/MatrixBase.h | 2 -- .../main/native/include/Eigen/src/Core/Transpose.h | 7 ------- .../native/include/Eigen/src/Core/util/XprHelper.h | 6 ++---- 9 files changed, 2 insertions(+), 37 deletions(-) diff --git a/wpiutil/src/main/native/include/Eigen/src/Core/ArrayBase.h b/wpiutil/src/main/native/include/Eigen/src/Core/ArrayBase.h index 757d24ce9b..3dbc7084cd 100644 --- a/wpiutil/src/main/native/include/Eigen/src/Core/ArrayBase.h +++ b/wpiutil/src/main/native/include/Eigen/src/Core/ArrayBase.h @@ -100,8 +100,6 @@ template class ArrayBase #undef EIGEN_CURRENT_STORAGE_BASE_CLASS #undef EIGEN_DOC_UNARY_ADDONS - constexpr ArrayBase(const ArrayBase&) = default; - /** Special case of the template operator=, in order to prevent the compiler * from generating a default operator= (issue hit with g++ 4.1) */ diff --git a/wpiutil/src/main/native/include/Eigen/src/Core/ArrayWrapper.h b/wpiutil/src/main/native/include/Eigen/src/Core/ArrayWrapper.h index 1eb0de553c..688aadd626 100644 --- a/wpiutil/src/main/native/include/Eigen/src/Core/ArrayWrapper.h +++ b/wpiutil/src/main/native/include/Eigen/src/Core/ArrayWrapper.h @@ -47,9 +47,6 @@ class ArrayWrapper : public ArrayBase > EIGEN_INHERIT_ASSIGNMENT_OPERATORS(ArrayWrapper) typedef typename internal::remove_all::type NestedExpression; - ArrayWrapper() = default; - ArrayWrapper(const ArrayWrapper&) = default; - typedef typename internal::conditional< internal::is_lvalue::value, Scalar, diff --git a/wpiutil/src/main/native/include/Eigen/src/Core/Block.h b/wpiutil/src/main/native/include/Eigen/src/Core/Block.h index 8177444182..11de45c2ec 100644 --- a/wpiutil/src/main/native/include/Eigen/src/Core/Block.h +++ b/wpiutil/src/main/native/include/Eigen/src/Core/Block.h @@ -111,9 +111,6 @@ template class EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Block) typedef typename internal::remove_all::type NestedExpression; - - constexpr Block() = default; - constexpr Block(const Block&) = default; /** Column or Row constructor */ @@ -161,8 +158,6 @@ class BlockImpl typedef typename XprType::StorageIndex StorageIndex; public: typedef Impl Base; - constexpr BlockImpl() = default; - constexpr BlockImpl(const BlockImpl&) = default; EIGEN_INHERIT_ASSIGNMENT_OPERATORS(BlockImpl) EIGEN_DEVICE_FUNC inline BlockImpl(XprType& xpr, Index i) : Impl(xpr,i) {} EIGEN_DEVICE_FUNC inline BlockImpl(XprType& xpr, Index startRow, Index startCol) : Impl(xpr, startRow, startCol) {} @@ -187,9 +182,6 @@ template }; public: - BlockImpl_dense() = default; - BlockImpl_dense(const BlockImpl_dense&) = default; - typedef MapBase Base; EIGEN_DENSE_PUBLIC_INTERFACE(BlockType) EIGEN_INHERIT_ASSIGNMENT_OPERATORS(BlockImpl_dense) diff --git a/wpiutil/src/main/native/include/Eigen/src/Core/Diagonal.h b/wpiutil/src/main/native/include/Eigen/src/Core/Diagonal.h index d1a1e90b38..afcaf35756 100644 --- a/wpiutil/src/main/native/include/Eigen/src/Core/Diagonal.h +++ b/wpiutil/src/main/native/include/Eigen/src/Core/Diagonal.h @@ -69,8 +69,6 @@ template class Diagonal typedef typename internal::dense_xpr_base::type Base; EIGEN_DENSE_PUBLIC_INTERFACE(Diagonal) - Diagonal(const Diagonal&) = default; - EIGEN_DEVICE_FUNC explicit inline Diagonal(MatrixType& matrix, Index a_index = DiagIndex) : m_matrix(matrix), m_index(a_index) { diff --git a/wpiutil/src/main/native/include/Eigen/src/Core/Map.h b/wpiutil/src/main/native/include/Eigen/src/Core/Map.h index 08a4c52fb7..548bf9a2d5 100644 --- a/wpiutil/src/main/native/include/Eigen/src/Core/Map.h +++ b/wpiutil/src/main/native/include/Eigen/src/Core/Map.h @@ -120,8 +120,6 @@ template class Ma : (this->rows() * innerStride()); } - Map(const Map&) = default; - /** Constructor in the fixed-size case. * * \param dataPtr pointer to the array to map diff --git a/wpiutil/src/main/native/include/Eigen/src/Core/MapBase.h b/wpiutil/src/main/native/include/Eigen/src/Core/MapBase.h index 8829df3c38..668922ffcc 100644 --- a/wpiutil/src/main/native/include/Eigen/src/Core/MapBase.h +++ b/wpiutil/src/main/native/include/Eigen/src/Core/MapBase.h @@ -86,8 +86,6 @@ template class MapBase typedef typename Base::CoeffReturnType CoeffReturnType; - MapBase(const MapBase&) = default; - /** \copydoc DenseBase::rows() */ EIGEN_DEVICE_FUNC inline Index rows() const { return m_rows.value(); } /** \copydoc DenseBase::cols() */ @@ -249,8 +247,6 @@ template class MapBase const Scalar >::type ScalarWithConstIfNotLvalue; - MapBase(const MapBase&) = default; - EIGEN_DEVICE_FUNC inline const Scalar* data() const { return this->m_data; } EIGEN_DEVICE_FUNC diff --git a/wpiutil/src/main/native/include/Eigen/src/Core/MatrixBase.h b/wpiutil/src/main/native/include/Eigen/src/Core/MatrixBase.h index 4296b92b40..e6c35907c3 100644 --- a/wpiutil/src/main/native/include/Eigen/src/Core/MatrixBase.h +++ b/wpiutil/src/main/native/include/Eigen/src/Core/MatrixBase.h @@ -132,8 +132,6 @@ template class MatrixBase #undef EIGEN_CURRENT_STORAGE_BASE_CLASS #undef EIGEN_DOC_UNARY_ADDONS - constexpr MatrixBase(const MatrixBase& other) = default; - /** Special case of the template operator=, in order to prevent the compiler * from generating a default operator= (issue hit with g++ 4.1) */ diff --git a/wpiutil/src/main/native/include/Eigen/src/Core/Transpose.h b/wpiutil/src/main/native/include/Eigen/src/Core/Transpose.h index b9ecb4927d..79b767bcca 100644 --- a/wpiutil/src/main/native/include/Eigen/src/Core/Transpose.h +++ b/wpiutil/src/main/native/include/Eigen/src/Core/Transpose.h @@ -60,9 +60,6 @@ template class Transpose EIGEN_GENERIC_PUBLIC_INTERFACE(Transpose) typedef typename internal::remove_all::type NestedExpression; - constexpr Transpose() = default; - constexpr Transpose(const Transpose&) = default; - EIGEN_DEVICE_FUNC explicit inline Transpose(MatrixType& matrix) : m_matrix(matrix) {} @@ -112,8 +109,6 @@ class TransposeImpl : public internal::generic_xpr_base >::type { public: - constexpr TransposeImpl() = default; - constexpr TransposeImpl(const TransposeImpl&) = default; typedef typename internal::generic_xpr_base >::type Base; }; @@ -122,8 +117,6 @@ template class TransposeImpl { public: - constexpr TransposeImpl() = default; - constexpr TransposeImpl(const TransposeImpl&) = default; typedef typename internal::TransposeImpl_base::type Base; using Base::coeffRef; EIGEN_DENSE_PUBLIC_INTERFACE(Transpose) diff --git a/wpiutil/src/main/native/include/Eigen/src/Core/util/XprHelper.h b/wpiutil/src/main/native/include/Eigen/src/Core/util/XprHelper.h index 4d0671553e..ba5bd186d2 100644 --- a/wpiutil/src/main/native/include/Eigen/src/Core/util/XprHelper.h +++ b/wpiutil/src/main/native/include/Eigen/src/Core/util/XprHelper.h @@ -88,10 +88,8 @@ struct promote_scalar_arg_unsupported {}; //classes inheriting no_assignment_operator don't generate a default operator=. class no_assignment_operator { - public: - constexpr no_assignment_operator() = default; - constexpr no_assignment_operator(const no_assignment_operator&) = default; - no_assignment_operator& operator=(const no_assignment_operator&) = delete; + private: + no_assignment_operator& operator=(const no_assignment_operator&); }; /** \internal return the index type with the largest number of bits */