You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Fix Eigen uninitialized warning that is hidden with local compiler pragmas to disable #5958
The changes in the third party library were already merged. The conflicts this cause will have to be resolved when ever the library is updated again. This is why the third party libraries should not be directly modified.
@blowekamp Without this change, CI builds fail due to warnings in the CI build that originate from this code.
I tried several approaches to suppress the build warnings without modifying the third-party directory, but I couldn't make that work.
The changes in #5953 are definitely sub-optimal and may cause future maintenance issues.
The issue is that all unrelated PRs were failing CI due to these new warnings. The fix in #5953 allows un-related work to continue without impediment until a more satisfying solution can be found that reverts #5953 and adds a better solution. I tried more than 10 different regular expression patterns in CMake/CTestCustom.cmake.in, but the warnings seemed to persist and cause failures in the arm based ci on linux that uses the GCC compiler.
From 6a9dedc3360ed167c146761b6ea273515eea0a17 Mon Sep 17 00:00:00 2001
From: "Hans J. Johnson" <hans-johnson@uiowa.edu>
Date: Tue, 17 Mar 2026 10:11:15 -0500
Subject: [PATCH] COMP: Add CDash warning and error exceptions for expected
test output
Add Eigen3 ThirdParty warning suppression and expand
CTEST_CUSTOM_ERROR_EXCEPTION to cover expected test output that
CDash pattern-matches as errors (e.g. "--- ERROR ---" banners,
itk::ExceptionObject traces, and diagnostic messages from negative
test cases). These false positives cause CDash to report build
errors even when all tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---
CMake/CTestCustom.cmake.in | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/CMake/CTestCustom.cmake.in b/CMake/CTestCustom.cmake.in
index 9f48346a85..be30879cfc 100644
--- a/CMake/CTestCustom.cmake.in+++ b/CMake/CTestCustom.cmake.in@@ -78,6 +78,7 @@ set(CTEST_CUSTOM_WARNING_EXCEPTION
"attempted multiple inclusion of file"
"warning LNK4221: This object file does not define any previously undefined public symbols"
".*[/\\\\][Mm]odules[/\\\\][Tt]hird[Pp]arty[/\\\\][Dd][Ii][Cc][Oo][Mm][Pp]arser[/\\\\].*[Ww]arning.*"
+ ".*[/\\\\][Mm]odules[/\\\\][Tt]hird[Pp]arty[/\\\\][Ee]igen3[/\\\\].*[Ww]arning.*"
".*[/\\\\][Mm]odules[/\\\\][Tt]hird[Pp]arty[/\\\\][Ee]xpat[/\\\\].*[Ww]arning.*"
".*[/\\\\][Mm]odules[/\\\\][Tt]hird[Pp]arty[/\\\\][Jj][Pp][Ee][Gg][/\\\\].*[Ww]arning.*"
".*[/\\\\][Mm]odules[/\\\\][Tt]hird[Pp]arty[/\\\\][Kk][Ww][Ss]ys[/\\\\].*[Ww]arning.*"
@@ -126,9 +127,17 @@ set(CTEST_CUSTOM_WARNING_EXCEPTION
# ignore third party GoogleTest warnings
".*Modules/ThirdParty/GoogleTest.*:warning:.*"
+
# ignore -Wunused-template warnings in third party DoubleConversion.
".*Modules/ThirdParty/DoubleConversion/.*warning:.*Wunused-template"
+ # ignore some third party warnings+ ".*Modules/ThirdParty/.*warning:.*Wzero-as-null-pointer-constant.*"+ ".*Modules/ThirdParty/Eigen3/.*warning:.*Wallocator-wrappers.*"+ ".*Modules/ThirdParty/Eigen3/.*warning:.*Wmaybe-uninitialized.*"+ ".*libpng warning: sCAL: invalid unit.*"+ ".*Expect a warning:.*"+
# CircleCI distcc warnings
".*WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED.*"
"Warning: Permanently added.*to the list of known hosts"
@@ -151,4 +160,25 @@ endif()
set(CTEST_CUSTOM_ERROR_EXCEPTION
# Emscripten
".*WARNING root: emcc: cannot find library.*"
++ # ITK tests: expected exceptions are printed with an "--- ERROR ---" banner+ # and itk::ExceptionObject traces. These are normal output from negative+ # test cases that verify correct exception handling. CTest/CDash pattern-+ # matches these as errors, causing ci_completed_successfully to fail even+ # when all 3171/3171 tests pass.+ ".*Caught expected exception\\.?$"+ ".*Expected exception:.*"+ ".*--- ERROR ---.*"+ ".*itk::ExceptionObject.*"+ ".*Description: Method not applicable for deformable transform\\..*"+ ".*Description: Transform has not been set\\..*"+ ".*Description: Input parameter list size is not expected size\\..*"+ ".*Description: Input InputImage is required but not set\\..*"+ ".*Description: Seed1 is not within the input image!.*"++ # Test output that CDash pattern-matches as errors but are expected+ # diagnostics from passing negative test cases+ ".*Test FAILED !!.*"+ ".*ITK ERROR:.*"+ ".*FAILED: FIXME MetaImage library.*"
)
--
2.53.0
Activity
blowekamp commentedon Mar 17, 2026
I am not sure what the ask is here.
The changes in the third party library were already merged. The conflicts this cause will have to be resolved when ever the library is updated again. This is why the third party libraries should not be directly modified.
hjmjohnson commentedon Mar 17, 2026
@blowekamp Without this change, CI builds fail due to warnings in the CI build that originate from this code.
I tried several approaches to suppress the build warnings without modifying the third-party directory, but I couldn't make that work.
The changes in #5953 are definitely sub-optimal and may cause future maintenance issues.
The issue is that all unrelated PRs were failing CI due to these new warnings. The fix in #5953 allows un-related work to continue without impediment until a more satisfying solution can be found that reverts #5953 and adds a better solution. I tried more than 10 different regular expression patterns in CMake/CTestCustom.cmake.in, but the warnings seemed to persist and cause failures in the arm based ci on linux that uses the GCC compiler.
0001-COMP-Add-CDash-warning-and-error-exceptions-for-expe.patch
hjmjohnson commentedon Apr 1, 2026
Will investigate again at a later date to determine if there are more effective ways of suppressing warnings.