1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 11:38:21 +02:00

Made $alias$ work for splat parameters to mixins

This commit is contained in:
Brian Fiete 2020-01-22 12:37:44 -08:00
parent 004d5d8d1c
commit 70e751e718
11 changed files with 228 additions and 92 deletions

View file

@ -1229,6 +1229,7 @@ void BeCOFFObject::DbgOutputLocalVar(BeDbgFunction* dbgFunc, BeDbgVariable* dbgV
bool isConst = false;
String varName = dbgVar->mName;
bool isGlobal = false;
//
{
@ -1246,18 +1247,21 @@ void BeCOFFObject::DbgOutputLocalVar(BeDbgFunction* dbgFunc, BeDbgVariable* dbgV
{
if (auto beConst = BeValueDynCast<BeConstant>(dbgVar->mValue))
{
int64 writeVal = beConst->mInt64;
if (beConst->mType->mTypeCode == BfTypeCode_Single)
if (!beConst->mType->IsPointer())
{
// We need to do this because Singles are stored in mDouble, so we need to reduce here
float floatVal = (float)beConst->mDouble;
writeVal = *(uint32*)&floatVal;
int64 writeVal = beConst->mInt64;
if (beConst->mType->mTypeCode == BfTypeCode_Single)
{
// We need to do this because Singles are stored in mDouble, so we need to reduce here
float floatVal = (float)beConst->mDouble;
writeVal = *(uint32*)&floatVal;
}
if (writeVal < 0)
varName += StrFormat("$_%llu", -writeVal);
else
varName += StrFormat("$%llu", writeVal);
isConst = true;
}
if (writeVal < 0)
varName += StrFormat("$_%llu", -writeVal);
else
varName += StrFormat("$%llu", writeVal);
isConst = true;
}
}