1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 19:48:20 +02:00

Made paths with NoReturn calls mark variables as assigned

This commit is contained in:
Brian Fiete 2022-02-14 07:25:20 -05:00
parent 502c46dc2f
commit 8d0a415eb7
3 changed files with 7 additions and 5 deletions

View file

@ -15519,9 +15519,9 @@ void BfModule::EmitDeferredScopeCalls(bool useSrcPositions, BfScopeData* scopeDa
}*/
}
void BfModule::MarkScopeLeft(BfScopeData* scopeData)
{
if (mCurMethodState->mDeferredLocalAssignData != NULL)
void BfModule::MarkScopeLeft(BfScopeData* scopeData, bool isNoReturn)
{
if ((mCurMethodState->mDeferredLocalAssignData != NULL) && (!isNoReturn))
{
auto deferredLocalAssignData = mCurMethodState->mDeferredLocalAssignData;
@ -15550,7 +15550,8 @@ void BfModule::MarkScopeLeft(BfScopeData* scopeData)
}
if (!hadAssignment)
{
localDef->mHadExitBeforeAssign = true;
if (!isNoReturn)
localDef->mHadExitBeforeAssign = true;
mCurMethodState->LocalDefined(localDef);
}
}