1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 04:22:20 +02:00

Made 'in' mangle as 'const&'

This commit is contained in:
Brian Fiete 2021-01-28 05:41:34 -08:00
parent cf9890349d
commit 52a8aca30d
2 changed files with 12 additions and 12 deletions

View file

@ -535,18 +535,16 @@ void BfGNUMangler::Mangle(MangleContext& mangleContext, StringImpl& name, BfType
else if (type->IsRef())
{
BfRefType* refType = (BfRefType*)type;
if ((refType->mRefKind == BfRefType::RefKind_Mut) && (!mangleContext.mCCompat))
if (refType->mRefKind == BfRefType::RefKind_In)
{
isConst = true;
}
else if ((refType->mRefKind == BfRefType::RefKind_Mut) && (!mangleContext.mCCompat))
{
name += "U3mut";
Mangle(mangleContext, name, refType->mElementType);
return;
}
else if ((refType->mRefKind == BfRefType::RefKind_In) && (!mangleContext.mCCompat))
{
name += "U2in";
Mangle(mangleContext, name, refType->mElementType);
return;
}
}
else if ((refType->mRefKind == BfRefType::RefKind_Out) && (!mangleContext.mCCompat))
{
name += "U3out";
@ -1649,14 +1647,12 @@ void BfMSMangler::Mangle(MangleContext& mangleContext, StringImpl& name, BfType*
name += "A";
if (mangleContext.mIs64Bit)
name += "E";
if (isConst)
if ((isConst) || (refType->mRefKind == BfRefType::RefKind_In))
name += "B";
else
name += "A";
if (refType->mRefKind == BfRefType::RefKind_Mut)
name += "mut$";
else if (refType->mRefKind == BfRefType::RefKind_In)
name += "in$";
name += "mut$";
else if (refType->mRefKind == BfRefType::RefKind_Out)
name += "out$";
Mangle(mangleContext, name, refType->mElementType);