mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 12:32:20 +02:00
Fixed zero-sized sized array foreach
This commit is contained in:
parent
733f7ec983
commit
966b740e6c
1 changed files with 3 additions and 5 deletions
|
@ -6200,14 +6200,12 @@ void BfModule::Visit(BfForEachStatement* forEachStmt)
|
|||
deferredLocalAssignData.mVarIdBarrier = mCurMethodState->GetRootMethodState()->mCurLocalVarId;
|
||||
SetAndRestoreValue<BfDeferredLocalAssignData*> prevDLA(mCurMethodState->mDeferredLocalAssignData, &deferredLocalAssignData);
|
||||
|
||||
SetAndRestoreValue<bool> prevIgnoreWrites(mBfIRBuilder->mIgnoreWrites);
|
||||
|
||||
if ((target.mType->IsSizedArray()) && (((BfSizedArrayType*)target.mType)->mElementCount == 0))
|
||||
{
|
||||
EmitEnsureInstructionAt();
|
||||
SetAndRestoreValue<bool> ignoreWrites(mBfIRBuilder->mIgnoreWrites, true);
|
||||
if (forEachStmt->mEmbeddedStatement != NULL)
|
||||
VisitEmbeddedStatement(forEachStmt->mEmbeddedStatement);
|
||||
RestoreScopeState();
|
||||
return;
|
||||
mBfIRBuilder->mIgnoreWrites = true;
|
||||
}
|
||||
|
||||
BfIdentifierNode* nameNode = NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue