Skip to content

Many VTK test fail on arm64 Mac due to Clang's new default of -ffp-contract=on

Building VTK master on my Intel Mac results in only 1 test failure. But on arm64 Macs, there are about 15.

You can see details here: https://open.cdash.org/viewTest.php?onlyfailed&buildid=9564918

I debugged them, and found at least 2 were due to very tight numerical precision expectations, and created MRs:

I then had some deja vu, and remembered how Clang 14 changed to default to -ffp-contract=on and how this caused numerical differences in our own code, more so on arm64 than x86_64. So I tried building again with -ffp-model=strict and now 13 of 15 pass.

Since this is clang’s default now (on almost all platforms), what should we do about this?

Require -ffp-model=strict? Loosen the strictness of the tests?

See also https://discourse.vtk.org/t/lots-of-failing-tests-on-arm64-macs-due-to-clang-default-of-ffp-contract-on/13779

Edited by David Gobbi