In #5105 we set the default optimisation flag for GCC 15+ to be -O2. This is to fix numerical issues (i.e. NaNs and similar garbage) that occur when executing tricky interpolation kernels under -O3.
An example of a failing test is tests/firedrake/output/test_io_function.py::test_io_function_base.
Currently this workaround applies to all versions of GCC >= 15, when newer GCCs are released we should revisit this and see if we can set a maximum version constraint for this change.
In #5105 we set the default optimisation flag for GCC 15+ to be -O2. This is to fix numerical issues (i.e. NaNs and similar garbage) that occur when executing tricky interpolation kernels under -O3.
An example of a failing test is
tests/firedrake/output/test_io_function.py::test_io_function_base.Currently this workaround applies to all versions of GCC >= 15, when newer GCCs are released we should revisit this and see if we can set a maximum version constraint for this change.