mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 12:32:20 +02:00
Sized array mangle fixes
This commit is contained in:
parent
5674bf80c0
commit
613aa116f4
1 changed files with 17 additions and 5 deletions
|
@ -584,10 +584,22 @@ void BfGNUMangler::Mangle(MangleContext& mangleContext, StringImpl& name, BfType
|
||||||
}
|
}
|
||||||
else if (type->IsSizedArray())
|
else if (type->IsSizedArray())
|
||||||
{
|
{
|
||||||
BfSizedArrayType* arrayType = (BfSizedArrayType*)type;
|
if (type->IsUnknownSizedArrayType())
|
||||||
name += StrFormat("A%d_");
|
{
|
||||||
Mangle(mangleContext, name, arrayType->mElementType);
|
BfUnknownSizedArrayType* arrayType = (BfUnknownSizedArrayType*)type;
|
||||||
return;
|
name += "A_";
|
||||||
|
Mangle(mangleContext, name, arrayType->mElementType);
|
||||||
|
name += "_";
|
||||||
|
Mangle(mangleContext, name, arrayType->mElementCountSource);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
BfSizedArrayType* arrayType = (BfSizedArrayType*)type;
|
||||||
|
name += StrFormat("A%d_", arrayType->mElementCount);
|
||||||
|
Mangle(mangleContext, name, arrayType->mElementType);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (type->IsMethodRef())
|
else if (type->IsMethodRef())
|
||||||
{
|
{
|
||||||
|
@ -1714,7 +1726,7 @@ void BfMSMangler::Mangle(MangleContext& mangleContext, StringImpl& name, BfType*
|
||||||
|
|
||||||
name += "?$_ARRAY@";
|
name += "?$_ARRAY@";
|
||||||
Mangle(mangleContext, name, arrType->mElementType);
|
Mangle(mangleContext, name, arrType->mElementType);
|
||||||
MangleConst(mangleContext, name, arrType->mSize);
|
MangleConst(mangleContext, name, arrType->mElementCount);
|
||||||
name += '@';
|
name += '@';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue