diff --git a/Common/Core/vtkFloatingPointExceptions.cxx b/Common/Core/vtkFloatingPointExceptions.cxx index d76768030b58524a93e3f416e67d2915d62cae36..8624f31f655f8d4361aa0e2d7a4714d0695d8c54 100644 --- a/Common/Core/vtkFloatingPointExceptions.cxx +++ b/Common/Core/vtkFloatingPointExceptions.cxx @@ -19,6 +19,7 @@ #if defined(VTK_USE_FENV) #include <csignal> +#include <cstdio> #include <fenv.h> #endif @@ -33,9 +34,10 @@ namespace { -void signal_handler(int signal) +extern "C" void signal_handler(int signal) { - cerr << "Error: Floating point exception detected. Signal " << signal << endl; + // NOLINTNEXTLINE(bugprone-signal-handler) + fprintf(stderr, "Error: Floating point exception detected. Signal %d\n", signal); // This should possibly throw an exception rather than abort, abort should // at least give access to the stack when it fails here. abort();