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

Fixed valueless foreach

This commit is contained in:
Brian Fiete 2023-05-30 09:16:24 -04:00
parent 891aef16be
commit c1f4466dd1

View file

@ -6759,7 +6759,7 @@ void BfModule::Visit(BfForEachStatement* forEachStmt)
else
{
// Normal case
if ((nextResult) && (varType->IsComposite()) && (!isRefExpression))
if ((nextResult) && (varType->IsComposite()) && (!varType->IsValuelessType()) && (!isRefExpression))
{
needsValCopy = false;
varType = CreateRefType(varType);
@ -6770,7 +6770,10 @@ void BfModule::Visit(BfForEachStatement* forEachStmt)
localDef->mNameNode = nameNode;
localDef->mName = variableName;
localDef->mResolvedType = varType;
varInst = CreateAlloca(varType);
if (!varType->IsValuelessType())
varInst = CreateAlloca(varType);
else
varInst = mBfIRBuilder->GetFakeVal();
localDef->mAddr = varInst;
localDef->mAssignedKind = BfLocalVarAssignKind_Unconditional;
localDef->mReadFromId = 0;