From b65164dad5b60cc1e78135755464613106b99dc1 Mon Sep 17 00:00:00 2001 From: AMS21 Date: Sun, 5 Nov 2023 20:47:08 +0100 Subject: [PATCH] Fix `Wimplicit-fallthrough` warnings --- src/utils/xrQSlim/MxPropSlim.cpp | 3 ++- src/utils/xrQSlim/MxQSlim.cpp | 3 ++- src/xrCDB/Frustum.cpp | 12 ++++++++++++ src/xrCore/XML/tinyxmlparser.cpp | 6 ++++++ src/xrPhysics/PHJoint.cpp | 10 ++++++++++ 5 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/utils/xrQSlim/MxPropSlim.cpp b/src/utils/xrQSlim/MxPropSlim.cpp index 655911910be..370a133c7dd 100644 --- a/src/utils/xrQSlim/MxPropSlim.cpp +++ b/src/utils/xrQSlim/MxPropSlim.cpp @@ -296,7 +296,8 @@ void MxPropSlim::collect_quadrics() case MX_WEIGHT_AREA: case MX_WEIGHT_AREA_AVG: Q *= Q.area(); - // no break: fallthrough + [[fallthrough]]; + default: quadric(f[0]) += Q; quadric(f[1]) += Q; diff --git a/src/utils/xrQSlim/MxQSlim.cpp b/src/utils/xrQSlim/MxQSlim.cpp index b20f7e4c8f5..231c7a44958 100644 --- a/src/utils/xrQSlim/MxQSlim.cpp +++ b/src/utils/xrQSlim/MxQSlim.cpp @@ -63,7 +63,8 @@ void MxQSlim::collect_quadrics() case MX_WEIGHT_AREA: case MX_WEIGHT_AREA_AVG: Q *= Q.area(); - // no break: fallthrough + [[fallthrough]]; + default: quadrics(f[0]) += Q; quadrics(f[1]) += Q; diff --git a/src/xrCDB/Frustum.cpp b/src/xrCDB/Frustum.cpp index da00da94b5b..23bdbea8946 100644 --- a/src/xrCDB/Frustum.cpp +++ b/src/xrCDB/Frustum.cpp @@ -106,39 +106,51 @@ bool CFrustum::testSphere_dirty(const Fvector& c, float r) const case 12: if (planes[11].classify(c) > r) return FALSE; + [[fallthrough]]; case 11: if (planes[10].classify(c) > r) return FALSE; + [[fallthrough]]; case 10: if (planes[9].classify(c) > r) return FALSE; + [[fallthrough]]; case 9: if (planes[8].classify(c) > r) return FALSE; + [[fallthrough]]; case 8: if (planes[7].classify(c) > r) return FALSE; + [[fallthrough]]; case 7: if (planes[6].classify(c) > r) return FALSE; + [[fallthrough]]; case 6: if (planes[5].classify(c) > r) return FALSE; + [[fallthrough]]; case 5: if (planes[4].classify(c) > r) return FALSE; + [[fallthrough]]; case 4: if (planes[3].classify(c) > r) return FALSE; + [[fallthrough]]; case 3: if (planes[2].classify(c) > r) return FALSE; + [[fallthrough]]; case 2: if (planes[1].classify(c) > r) return FALSE; + [[fallthrough]]; case 1: if (planes[0].classify(c) > r) return FALSE; + [[fallthrough]]; case 0: break; default: NODEFAULT; } diff --git a/src/xrCore/XML/tinyxmlparser.cpp b/src/xrCore/XML/tinyxmlparser.cpp index 8077c2633e5..ff8d0143bda 100644 --- a/src/xrCore/XML/tinyxmlparser.cpp +++ b/src/xrCore/XML/tinyxmlparser.cpp @@ -107,14 +107,20 @@ void TiXmlBase::ConvertUTF32ToUTF8(unsigned long input, char* output, int* lengt --output; *output = (char)((input | BYTE_MARK) & BYTE_MASK); input >>= 6; + [[fallthrough]]; + case 3: --output; *output = (char)((input | BYTE_MARK) & BYTE_MASK); input >>= 6; + [[fallthrough]]; + case 2: --output; *output = (char)((input | BYTE_MARK) & BYTE_MASK); input >>= 6; + [[fallthrough]]; + case 1: --output; *output = (char)(input | FIRST_BYTE_MARK[*length]); } } diff --git a/src/xrPhysics/PHJoint.cpp b/src/xrPhysics/PHJoint.cpp index 779a15fbd4c..e1979013771 100644 --- a/src/xrPhysics/PHJoint.cpp +++ b/src/xrPhysics/PHJoint.cpp @@ -563,6 +563,8 @@ CPHJoint::CPHJoint(CPhysicsJoint::enumType type, CPhysicsElement* first, CPhysic axes.push_back(axis); axes.push_back(axis2); axes.push_back(axis3); + [[fallthrough]]; + case slider: axes.push_back(axis); axes.push_back(axis); } } @@ -700,6 +702,7 @@ void CPHJoint::SetForceActive(const int axis_num) case -1: dJointSetHinge2Param(m_joint, dParamFMax, axes[0].force); dJointSetHinge2Param(m_joint, dParamFMax2, axes[1].force); + break; case 0: dJointSetHinge2Param(m_joint, dParamFMax, axes[0].force); break; case 1: dJointSetHinge2Param(m_joint, dParamFMax2, axes[1].force); break; } @@ -710,6 +713,7 @@ void CPHJoint::SetForceActive(const int axis_num) case -1: dJointSetSliderParam(m_joint, dParamFMax, axes[0].force); dJointSetAMotorParam(m_joint1, dParamFMax, axes[1].force); + break; case 0: dJointSetSliderParam(m_joint, dParamFMax, axes[0].force); break; case 1: dJointSetAMotorParam(m_joint1, dParamFMax, axes[1].force); break; } @@ -724,6 +728,7 @@ void CPHJoint::SetForceActive(const int axis_num) dJointSetAMotorParam(m_joint1, dParamFMax, axes[0].force); dJointSetAMotorParam(m_joint1, dParamFMax2, axes[1].force); dJointSetAMotorParam(m_joint1, dParamFMax3, axes[2].force); + break; case 0: dJointSetAMotorParam(m_joint1, dParamFMax, axes[0].force); break; case 1: dJointSetAMotorParam(m_joint1, dParamFMax2, axes[1].force); break; case 2: dJointSetAMotorParam(m_joint1, dParamFMax3, axes[2].force); break; @@ -776,6 +781,7 @@ void CPHJoint::SetVelocityActive(const int axis_num) case -1: dJointSetHinge2Param(m_joint, dParamVel, axes[0].velocity); dJointSetHinge2Param(m_joint, dParamVel2, axes[1].velocity); + break; case 0: dJointSetHinge2Param(m_joint, dParamVel, axes[0].velocity); break; case 1: dJointSetHinge2Param(m_joint, dParamVel2, axes[1].velocity); break; } @@ -786,6 +792,7 @@ void CPHJoint::SetVelocityActive(const int axis_num) case -1: dJointSetSliderParam(m_joint, dParamVel, axes[0].velocity); dJointSetAMotorParam(m_joint1, dParamVel, axes[1].velocity); + break; case 0: dJointSetSliderParam(m_joint, dParamVel, axes[0].velocity); break; case 1: dJointSetAMotorParam(m_joint1, dParamVel, axes[1].velocity); break; } @@ -800,6 +807,7 @@ void CPHJoint::SetVelocityActive(const int axis_num) dJointSetAMotorParam(m_joint1, dParamVel, axes[0].velocity); dJointSetAMotorParam(m_joint1, dParamVel2, axes[1].velocity); dJointSetAMotorParam(m_joint1, dParamVel3, axes[2].velocity); + break; case 0: dJointSetAMotorParam(m_joint1, dParamVel, axes[0].velocity); break; case 1: dJointSetAMotorParam(m_joint1, dParamVel2, axes[1].velocity); break; case 2: dJointSetAMotorParam(m_joint1, dParamVel3, axes[2].velocity); break; @@ -1255,6 +1263,8 @@ void CPHJoint::SetAxisSDfactorsActive(int axis_num) case 0: dJointSetSliderParam(m_joint, dParamStopERP, axes[0].erp); dJointSetSliderParam(m_joint, dParamStopCFM, axes[0].cfm); + [[fallthrough]]; + case 1: dJointSetAMotorParam(m_joint1, dParamStopERP, axes[1].erp); dJointSetAMotorParam(m_joint1, dParamStopCFM, axes[1].cfm);