diff --git a/src/modules/mc_pos_control/mc_pos_control_tests/test_controlmath.cpp b/src/modules/mc_pos_control/mc_pos_control_tests/test_controlmath.cpp index 176980bd5b..97aa043a6a 100644 --- a/src/modules/mc_pos_control/mc_pos_control_tests/test_controlmath.cpp +++ b/src/modules/mc_pos_control/mc_pos_control_tests/test_controlmath.cpp @@ -69,7 +69,10 @@ bool ControlMathTest::testPrioritizeVector() // v0 already at max matrix::Vector2f v0(max, 0); matrix::Vector2f v1(v0(1), -v0(0)); - matrix::Vector2f v_r = ControlMath::constrainXY(v0, v1, max); + + // the static keywork is a workaround for an internal bug of GCC + // "internal compiler error: in trunc_int_for_mode, at explow.c:55" + static matrix::Vector2f v_r = ControlMath::constrainXY(v0, v1, max); ut_assert_true(fabsf(v_r(0)) - max < FLT_EPSILON && v_r(0) > 0.0f); ut_assert_true(fabsf(v_r(1) - 0.0f) < FLT_EPSILON);