From 84d4084f8347349a09c9df7b6c45fd1b86bb154a Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sat, 19 Mar 2022 10:45:04 -0700 Subject: [PATCH] Fixed handling of splattable 'params' types like 'Span' --- IDEHelper/Compiler/BfExprEvaluator.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/IDEHelper/Compiler/BfExprEvaluator.cpp b/IDEHelper/Compiler/BfExprEvaluator.cpp index b3e8c88e..0bf12e9a 100644 --- a/IDEHelper/Compiler/BfExprEvaluator.cpp +++ b/IDEHelper/Compiler/BfExprEvaluator.cpp @@ -7415,8 +7415,8 @@ BfTypedValue BfExprEvaluator::CreateCall(BfAstNode* targetSrc, const BfTypedValu expandedParamAlloca = mModule->CreateAlloca(genericTypeInst->mGenericTypeInfo->mTypeGenericArguments[0], true, NULL, mModule->GetConstValue(numElements)); mModule->mBfIRBuilder->CreateStore(expandedParamAlloca, mModule->mBfIRBuilder->CreateInBoundsGEP(expandedParamsArray.mValue, 0, 1)); mModule->mBfIRBuilder->CreateStore(mModule->GetConstValue(numElements), mModule->mBfIRBuilder->CreateInBoundsGEP(expandedParamsArray.mValue, 0, 2)); - - PushArg(expandedParamsArray, irArgs); + + PushArg(expandedParamsArray, irArgs, !wantsSplat); continue; } else if (wantType->IsSizedArray()) @@ -7434,7 +7434,7 @@ BfTypedValue BfExprEvaluator::CreateCall(BfAstNode* targetSrc, const BfTypedValu expandedParamsArray = BfTypedValue(mModule->CreateAlloca(wantType), wantType, true); expandedParamAlloca = mModule->mBfIRBuilder->CreateBitCast(expandedParamsArray.mValue, mModule->mBfIRBuilder->GetPointerTo(mModule->mBfIRBuilder->MapType(expandedParamsElementType))); - PushArg(expandedParamsArray, irArgs); + PushArg(expandedParamsArray, irArgs, !wantsSplat); continue; } }