From 480bbc7ebaf612749364ec044cadad83adfb1860 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=80=D0=B0=D0=BD=D0=B8=D0=BC=D0=B8=D1=80=20=D0=9A?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D1=9F=D0=B8=D1=9B?= Date: Thu, 11 Aug 2022 07:18:17 -0700 Subject: [PATCH] Fixed clang 13+ optimizer issue. Related to PR #278. --- include/bx/inline/math.inl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/include/bx/inline/math.inl b/include/bx/inline/math.inl index 57f0a81..18f79d1 100644 --- a/include/bx/inline/math.inl +++ b/include/bx/inline/math.inl @@ -96,12 +96,18 @@ namespace bx return tmp == UINT64_C(0x7ff0000000000000); } + inline float forceEval(float _a) + { + volatile float result = _a; + return result; + } + inline BX_CONSTEXPR_FUNC float floor(float _a) { if (_a < 0.0f) { const float fr = fract(-_a); - const float result = -_a - fr; + const float result = forceEval(-_a - fr); return -(0.0f != fr ? result + 1.0f