diff --git a/source/slang/slang-ir-variable-scope-correction.cpp b/source/slang/slang-ir-variable-scope-correction.cpp index 2994f4d3de..d32781c5e8 100644 --- a/source/slang/slang-ir-variable-scope-correction.cpp +++ b/source/slang/slang-ir-variable-scope-correction.cpp @@ -121,11 +121,12 @@ void VariableScopeCorrectionContext::_processFunction(IRFunc* funcInst) auto instAfterParam = funcInst->getFirstBlock()->getFirstOrdinaryInst(); - for (auto inst = workList.begin(); inst != workList.end(); inst++) + for (Index i = 0; i < workList.getCount(); i++) { - if (auto loopHeaderList = loopHeaderMap.tryGetValue(getBlock(*inst))) + auto inst = workList[i]; + if (auto loopHeaderList = loopHeaderMap.tryGetValue(getBlock(inst))) { - _processInstruction(dominatorTree, instAfterParam, *inst, *loopHeaderList, workList); + _processInstruction(dominatorTree, instAfterParam, inst, *loopHeaderList, workList); } } }