From 51ed3df320face4fa7032388742dacd8b36a6ccf Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Wed, 13 Jan 2021 08:51:52 -0800 Subject: [PATCH] Comptime mangle collision fix --- IDEHelper/Compiler/BfMangler.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/IDEHelper/Compiler/BfMangler.cpp b/IDEHelper/Compiler/BfMangler.cpp index 5a31c012..c8d5be79 100644 --- a/IDEHelper/Compiler/BfMangler.cpp +++ b/IDEHelper/Compiler/BfMangler.cpp @@ -883,6 +883,9 @@ String BfGNUMangler::Mangle(BfMethodInstance* methodInst) else if (methodDef->mCheckedKind == BfCheckedKind_Unchecked) name += "`UCHK"; + if (methodDef->mHasComptime) + name += "`COMPTIME"; + if ((methodInst->mMethodDef->mDeclaringType->mPartialIdx != -1) && (methodInst->mMethodDef->mDeclaringType->IsExtension()) && (!methodInst->mIsForeignMethodDef) && (!methodInst->mMethodDef->mIsExtern) && ((!methodInst->mMethodDef->mIsOverride) || (methodDef->mName == BF_METHODNAME_MARKMEMBERS) || (methodDef->mMethodType == BfMethodType_Dtor))) @@ -2064,7 +2067,10 @@ void BfMSMangler::Mangle(StringImpl& name, bool is64Bit, BfMethodInstance* metho if (methodDef->mCheckedKind == BfCheckedKind_Checked) name += "CHK$"; else if (methodDef->mCheckedKind == BfCheckedKind_Unchecked) - name += "UCHK$"; + name += "UCHK$"; + + if (methodDef->mHasComptime) + name += "COMPTIME$"; } /*if ((methodInst->mMethodInstanceGroup->mOwner->mTypeDef->IsGlobalsContainer()) && (methodInst->mMethodDef->mMethodDeclaration == NULL))