Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions Modules/Core/Common/include/itkMacro.h
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,14 @@ namespace itk
# define ITK_GCC_SUPPRESS_Warray_bounds
#endif

// -Wmaybe-uninitialized is a real-GCC-only warning name; Apple Clang emits
// -Wunknown-warning-option for it (which ITK's dashboard treats as fatal).
#if defined(__GNUC__) && !defined(__clang__)
# define ITK_GCC_SUPPRESS_Wmaybe_uninitialized ITK_PRAGMA(GCC diagnostic ignored "-Wmaybe-uninitialized")
#else
# define ITK_GCC_SUPPRESS_Wmaybe_uninitialized
#endif

// For Clang only (and not GCC):
#if defined(__clang__) && defined(__has_warning)
# define ITK_CLANG_PRAGMA_PUSH ITK_PRAGMA(clang diagnostic push)
Expand Down
8 changes: 8 additions & 0 deletions Modules/Core/Common/include/itkSymmetricEigenAnalysis.h
Original file line number Diff line number Diff line change
Expand Up @@ -1029,8 +1029,16 @@ class ITK_TEMPLATE_EXPORT SymmetricEigenAnalysisFixedDimension
}
}
using EigenSolverType = Eigen::SelfAdjointEigenSolver<EigenLibMatrixType>;
// GCC's IPA cannot prove that Eigen 5's analytical 3x3 SelfAdjointEigenSolver
// fully writes m_eivalues; Eigen's own CMakeLists adds -Wno-maybe-uninitialized
// for the same reason (see Modules/ThirdParty/Eigen3/.../CMakeLists.txt).
// clang-format off
ITK_GCC_PRAGMA_PUSH
ITK_GCC_SUPPRESS_Wmaybe_uninitialized
const EigenSolverType solver(inputMatrix, Eigen::EigenvaluesOnly);
auto eigenValues = solver.eigenvalues();
ITK_GCC_PRAGMA_POP
// clang-format on
if (m_OrderEigenValues == EigenValueOrderEnum::OrderByMagnitude)
{
detail::sortEigenValuesByMagnitude(eigenValues, VDimension);
Expand Down
11 changes: 10 additions & 1 deletion Modules/ThirdParty/Eigen3/UpdateFromUpstream.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,16 @@ shopt -s dotglob

readonly name="Eigen3"
readonly ownership="Eigen Upstream <kwrobot@kitware.com>"
# ITK has applied a small number of post-import patches under itkeigen/
# (e.g., SelfadjointMatrixVector.h pzero init), so the tree no longer
# bytewise matches the previous import commit's tree. Use log-based
# matching instead of exact-tree matching for the previous-import probe.
exact_tree_match=false
readonly subtree="Modules/ThirdParty/Eigen3/src/itkeigen"
readonly repo="https://github.com/InsightSoftwareConsortium/eigen"
readonly tag="for/itk-20260305-4c99fca"
readonly tag="for/itk-20260501-879885e1"
readonly paths="
Eigen/AccelerateSupport
Eigen/Cholesky
Eigen/CholmodSupport
Eigen/Core
Expand All @@ -20,6 +26,7 @@ Eigen/Geometry
Eigen/Householder
Eigen/IterativeLinearSolvers
Eigen/Jacobi
Eigen/KLUSupport
Eigen/LU
Eigen/MetisSupport
Eigen/OrderingMethods
Expand All @@ -38,7 +45,9 @@ Eigen/StdDeque
Eigen/StdList
Eigen/StdVector
Eigen/SuperLUSupport
Eigen/ThreadPool
Eigen/UmfPackSupport
Eigen/Version
Eigen/src

COPYING.BSD
Expand Down
6 changes: 6 additions & 0 deletions Modules/ThirdParty/Eigen3/src/itkeigen/.gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
*.sh eol=lf
debug/msvc/*.dat eol=crlf
debug/msvc/*.natvis eol=crlf

# ITK fork: relax content-checks for the largest Eigen header so
# UpdateFromUpstream.sh / KWStyle hooks do not reject the import.
* -whitespace
Eigen/src/misc/lapacke.h hooks-max-size=1500000
Eigen/src/misc/lapacke.h hooks.MaxObjectKiB=2048
Loading
Loading