mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 20:42:21 +02:00
Fixed ccompat mangling un-uniquing generic type names
This commit is contained in:
parent
0b20ef867b
commit
0631bb2ca8
1 changed files with 7 additions and 1 deletions
|
@ -1794,6 +1794,7 @@ void BfMSMangler::Mangle(StringImpl& name, bool is64Bit, BfMethodInstance* metho
|
||||||
else if (constant->mInt32 == 2) // CPP
|
else if (constant->mInt32 == 2) // CPP
|
||||||
{
|
{
|
||||||
mangleContext.mCPPMangle = true;
|
mangleContext.mCPPMangle = true;
|
||||||
|
mangleContext.mCCompat = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2046,7 +2047,12 @@ void BfMSMangler::Mangle(StringImpl& name, bool is64Bit, BfMethodInstance* metho
|
||||||
if (methodInst->GetExplicitInterface() != NULL)
|
if (methodInst->GetExplicitInterface() != NULL)
|
||||||
Mangle(mangleContext, name, methodInst->GetExplicitInterface(), true);
|
Mangle(mangleContext, name, methodInst->GetExplicitInterface(), true);
|
||||||
|
|
||||||
Mangle(mangleContext, name, methodInst->GetOwner(), true);
|
///
|
||||||
|
{
|
||||||
|
// Only use CCompat for params, not for the owning type name - unless we're doing an explicit CPP mangle
|
||||||
|
SetAndRestoreValue<bool> prevCCompat(mangleContext.mCCompat, (mangleContext.mCCompat && mangleContext.mCPPMangle) ? true : false);
|
||||||
|
Mangle(mangleContext, name, methodInst->GetOwner(), true);
|
||||||
|
}
|
||||||
|
|
||||||
/*bool isCppDecl = false;
|
/*bool isCppDecl = false;
|
||||||
if (!isCppDecl)
|
if (!isCppDecl)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue