From 789c8b22920dc4292c463e910ebac3393992bb3d Mon Sep 17 00:00:00 2001 From: tomangelo2 Date: Thu, 15 Sep 2022 01:14:29 +0200 Subject: [PATCH] Fix compilation with gcc --- src/CBot/CBotInstr/CBotExprLitNan.cpp | 4 +++- src/CBot/CBotInstr/CBotParExpr.cpp | 4 +++- src/CBot/CBotInstr/CBotTwoOpExpr.cpp | 1 + src/level/robotmain.cpp | 3 ++- src/math/half.cpp | 2 +- src/script/scriptfunc.cpp | 18 ++++++++++-------- 6 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/CBot/CBotInstr/CBotExprLitNan.cpp b/src/CBot/CBotInstr/CBotExprLitNan.cpp index 60f73e8e..9ae23150 100644 --- a/src/CBot/CBotInstr/CBotExprLitNan.cpp +++ b/src/CBot/CBotInstr/CBotExprLitNan.cpp @@ -23,6 +23,8 @@ #include "CBot/CBotVar/CBotVar.h" +#include + namespace CBot { @@ -43,7 +45,7 @@ bool CBotExprLitNan::Execute(CBotStack* &pj) if (pile->IfStep()) return false; CBotVar* var = CBotVar::Create("", CBotTypFloat); - var->SetValFloat(std::nanf("")); + var->SetValFloat(nanf("")); pile->SetVar(var); // put on the stack return pj->Return(pile); // forward below } diff --git a/src/CBot/CBotInstr/CBotParExpr.cpp b/src/CBot/CBotInstr/CBotParExpr.cpp index fe33c82d..4986560b 100644 --- a/src/CBot/CBotInstr/CBotParExpr.cpp +++ b/src/CBot/CBotInstr/CBotParExpr.cpp @@ -38,6 +38,8 @@ #include "CBot/CBotCStack.h" +#include + namespace CBot { @@ -218,7 +220,7 @@ CBotInstr* CBotParExpr::CompileLitExpr(CBotToken* &p, CBotCStack* pStack) CBotInstr* inst = new CBotExprLitNan(); inst->SetToken(pp); CBotVar* var = CBotVar::Create("", CBotTypFloat); - var->SetValFloat(std::nanf("")); + var->SetValFloat(nanf("")); pStk->SetVar(var); return pStack->Return(inst, pStk); } diff --git a/src/CBot/CBotInstr/CBotTwoOpExpr.cpp b/src/CBot/CBotInstr/CBotTwoOpExpr.cpp index 52b78372..9072a48e 100644 --- a/src/CBot/CBotInstr/CBotTwoOpExpr.cpp +++ b/src/CBot/CBotInstr/CBotTwoOpExpr.cpp @@ -31,6 +31,7 @@ #include "CBot/CBotVar/CBotVar.h" #include +#include #include namespace CBot diff --git a/src/level/robotmain.cpp b/src/level/robotmain.cpp index 2c348e7a..e2ddc726 100644 --- a/src/level/robotmain.cpp +++ b/src/level/robotmain.cpp @@ -112,6 +112,7 @@ #include #include #include +#include #include #include @@ -4155,7 +4156,7 @@ bool CRobotMain::FreeSpace(Math::Vector ¢er, float minRadius, float maxRadiu } } - float nan = std::nanf(""); + float nan = nanf(""); center = Math::Vector{ nan, nan, nan }; diff --git a/src/math/half.cpp b/src/math/half.cpp index a205c736..be847c81 100644 --- a/src/math/half.cpp +++ b/src/math/half.cpp @@ -100,7 +100,7 @@ float HaltToFloat(uint16_t value) // NaN else if ((exponent == 31) && (mantissa != 0)) { - result = std::nanf(""); + result = nanf(""); } // Normal number else diff --git a/src/script/scriptfunc.cpp b/src/script/scriptfunc.cpp index bd782618..e9cd4d40 100644 --- a/src/script/scriptfunc.cpp +++ b/src/script/scriptfunc.cpp @@ -67,6 +67,8 @@ #include "ui/displaytext.h" +#include + using namespace CBot; CBotTypResult CScriptFunctions::cClassNull(CBotVar* thisclass, CBotVar* &var) @@ -2325,7 +2327,7 @@ bool CScriptFunctions::rReceive(CBotVar* var, CBotVar* result, int& exception, v if ( err != ERR_OK ) { script->m_taskExecutor->StopForegroundTask(); - result->SetValFloat(std::nanf("")); + result->SetValFloat(nanf("")); return true; } @@ -2336,7 +2338,7 @@ bool CScriptFunctions::rReceive(CBotVar* var, CBotVar* result, int& exception, v if ( script->m_returnValue == boost::none ) { - result->SetValFloat(std::nanf("")); + result->SetValFloat(nanf("")); } else { @@ -3657,11 +3659,11 @@ void CScriptFunctions::uObject(CBotVar* botThis, void* user) if (IsObjectBeingTransported(object)) { pSub = pVar->GetItemList(); // "x" - pSub->SetValFloat(std::nanf("")); + pSub->SetValFloat(nanf("")); pSub = pSub->GetNext(); // "y" - pSub->SetValFloat(std::nanf("")); + pSub->SetValFloat(nanf("")); pSub = pSub->GetNext(); // "z" - pSub->SetValFloat(std::nanf("")); + pSub->SetValFloat(nanf("")); } else { @@ -3762,11 +3764,11 @@ void CScriptFunctions::uObject(CBotVar* botThis, void* user) if (IsObjectBeingTransported(object) || physics == nullptr) { pSub = pVar->GetItemList(); // "x" - pSub->SetValFloat(std::nanf("")); + pSub->SetValFloat(nanf("")); pSub = pSub->GetNext(); // "y" - pSub->SetValFloat(std::nanf("")); + pSub->SetValFloat(nanf("")); pSub = pSub->GetNext(); // "z" - pSub->SetValFloat(std::nanf("")); + pSub->SetValFloat(nanf("")); } else {