diff --git a/CMakeLists.txt b/CMakeLists.txt index 3ede420b..879884bf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,12 +99,11 @@ if(NOT USE_SYSTEM_EIGEN) fetchcontent_declare( Eigen3 GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git - # master on 2024-02-29 - GIT_TAG 23f6c26857100b16f4851043d0c230fb5e27027b + # master on 2024-03-06 + GIT_TAG 17f3bf8985021c242eedc9fa26c5c66d43a300f2 PATCH_COMMAND git apply ${CMAKE_CURRENT_SOURCE_DIR}/cmake/eigen-disable-fortran-support.patch - ${CMAKE_CURRENT_SOURCE_DIR}/cmake/0001-Fix-deprecated-anonymous-enum-enum-conversion-warnin.patch UPDATE_DISCONNECTED 1 ) fetchcontent_makeavailable(Eigen3) diff --git a/cmake/0001-Fix-deprecated-anonymous-enum-enum-conversion-warnin.patch b/cmake/0001-Fix-deprecated-anonymous-enum-enum-conversion-warnin.patch deleted file mode 100644 index 7ed99be4..00000000 --- a/cmake/0001-Fix-deprecated-anonymous-enum-enum-conversion-warnin.patch +++ /dev/null @@ -1,77 +0,0 @@ -From f5339946c7bb6fd2854d915907a7343302ea1c0d Mon Sep 17 00:00:00 2001 -From: Tyler Veness -Date: Fri, 1 Mar 2024 15:37:44 -0800 -Subject: [PATCH] Fix deprecated anonymous enum-enum conversion warnings - ---- - Eigen/src/Core/Matrix.h | 4 ++-- - Eigen/src/Core/TriangularMatrix.h | 3 ++- - Eigen/src/Core/util/XprHelper.h | 2 +- - Eigen/src/SparseCore/SparseSelfAdjointView.h | 2 +- - 4 files changed, 6 insertions(+), 5 deletions(-) - -diff --git a/Eigen/src/Core/Matrix.h b/Eigen/src/Core/Matrix.h -index ce0e4e6a2..c11a994a8 100644 ---- a/Eigen/src/Core/Matrix.h -+++ b/Eigen/src/Core/Matrix.h -@@ -30,7 +30,7 @@ struct traits> { - actual_alignment = ((Options_ & DontAlign) == 0) ? default_alignment : 0, - required_alignment = unpacket_traits::alignment, - packet_access_bit = (packet_traits::Vectorizable && -- (EIGEN_UNALIGNED_VECTORIZE || (actual_alignment >= required_alignment))) -+ (EIGEN_UNALIGNED_VECTORIZE || (int(actual_alignment) >= int(required_alignment)))) - ? PacketAccessBit - : 0 - }; -@@ -48,7 +48,7 @@ struct traits> { - Flags = compute_matrix_flags(Options_), - Options = Options_, - InnerStrideAtCompileTime = 1, -- OuterStrideAtCompileTime = (Options & RowMajor) ? ColsAtCompileTime : RowsAtCompileTime, -+ OuterStrideAtCompileTime = (int(Options) & int(RowMajor)) ? ColsAtCompileTime : RowsAtCompileTime, - - // FIXME, the following flag in only used to define NeedsToAlign in PlainObjectBase - EvaluatorFlags = LinearAccessBit | DirectAccessBit | packet_access_bit | row_major_bit, -diff --git a/Eigen/src/Core/TriangularMatrix.h b/Eigen/src/Core/TriangularMatrix.h -index afdb2425f..2b1683be9 100644 ---- a/Eigen/src/Core/TriangularMatrix.h -+++ b/Eigen/src/Core/TriangularMatrix.h -@@ -184,7 +184,8 @@ class TriangularView - enum { - Mode = Mode_, - Flags = internal::traits::Flags, -- TransposeMode = (Mode & Upper ? Lower : 0) | (Mode & Lower ? Upper : 0) | (Mode & (UnitDiag)) | (Mode & (ZeroDiag)), -+ TransposeMode = (int(Mode) & int(Upper) ? Lower : 0) | (int(Mode) & int(Lower) ? Upper : 0) | -+ (int(Mode) & int(UnitDiag)) | (int(Mode) & int(ZeroDiag)), - IsVectorAtCompileTime = false - }; - -diff --git a/Eigen/src/Core/util/XprHelper.h b/Eigen/src/Core/util/XprHelper.h -index 5b7bdc077..555faa1cc 100644 ---- a/Eigen/src/Core/util/XprHelper.h -+++ b/Eigen/src/Core/util/XprHelper.h -@@ -484,7 +484,7 @@ struct nested_eval { - // solution could be to count the number of temps? - NAsInteger = n == Dynamic ? HugeCost : n, - CostEval = (NAsInteger + 1) * ScalarReadCost + CoeffReadCost, -- CostNoEval = NAsInteger * CoeffReadCost, -+ CostNoEval = int(NAsInteger) * int(CoeffReadCost), - Evaluate = (int(evaluator::Flags) & EvalBeforeNestingBit) || (int(CostEval) < int(CostNoEval)) - }; - -diff --git a/Eigen/src/SparseCore/SparseSelfAdjointView.h b/Eigen/src/SparseCore/SparseSelfAdjointView.h -index 129899c45..2f087c9c4 100644 ---- a/Eigen/src/SparseCore/SparseSelfAdjointView.h -+++ b/Eigen/src/SparseCore/SparseSelfAdjointView.h -@@ -53,7 +53,7 @@ class SparseSelfAdjointView : public EigenBase::RowsAtCompileTime, - ColsAtCompileTime = internal::traits::ColsAtCompileTime - }; --- -2.44.0 -