diff --git a/Eigen/src/Core/util/XprHelper.h b/Eigen/src/Core/util/XprHelper.h index fd2db56a4..f83bca15a 100644 --- a/Eigen/src/Core/util/XprHelper.h +++ b/Eigen/src/Core/util/XprHelper.h @@ -129,7 +129,7 @@ struct promote_index_type template class variable_if_dynamic { public: - EIGEN_EMPTY_STRUCT_CTOR(variable_if_dynamic) + EIGEN_DEFAULT_EMPTY_CONSTRUCTOR_AND_DESTRUCTOR(variable_if_dynamic) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE explicit variable_if_dynamic(T v) { EIGEN_ONLY_USED_FOR_DEBUG(v); eigen_assert(v == T(Value)); } EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE T value() { return T(Value); } EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE operator T() const { return T(Value); } diff --git a/Eigen/src/SparseCore/SparseSelfAdjointView.h b/Eigen/src/SparseCore/SparseSelfAdjointView.h index 76117a010..85b00e10e 100644 --- a/Eigen/src/SparseCore/SparseSelfAdjointView.h +++ b/Eigen/src/SparseCore/SparseSelfAdjointView.h @@ -142,6 +142,9 @@ template class SparseSelfAdjointView return *this = src.twistedBy(pnull); } + // Since we override the copy-assignment operator, we need to explicitly re-declare the copy-constructor + EIGEN_DEFAULT_COPY_CONSTRUCTOR(SparseSelfAdjointView) + template SparseSelfAdjointView& operator=(const SparseSelfAdjointView& src) { diff --git a/test/indexed_view.cpp b/test/indexed_view.cpp index 231f44393..72c54af68 100644 --- a/test/indexed_view.cpp +++ b/test/indexed_view.cpp @@ -26,6 +26,9 @@ #if defined(__GNUC__) && (__GNUC__ >=9) #pragma GCC diagnostic ignored "-Wdeprecated-copy" #endif +#if defined(__clang__) && (__clang_major__ >= 10) + #pragma clang diagnostic ignored "-Wdeprecated-copy" +#endif #endif