summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/slang/slang-ir-use-uninitialized-values.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/source/slang/slang-ir-use-uninitialized-values.cpp b/source/slang/slang-ir-use-uninitialized-values.cpp
index 9780d669a..1be43591a 100644
--- a/source/slang/slang-ir-use-uninitialized-values.cpp
+++ b/source/slang/slang-ir-use-uninitialized-values.cpp
@@ -377,21 +377,24 @@ namespace Slang
}
// Check ordinary instructions
- for (auto inst = firstBlock->getFirstInst(); inst; inst = inst->getNextInst())
+ for (auto block : func->getBlocks())
{
- if (!isUninitializedValue(inst))
- continue;
+ for (auto inst = block->getFirstInst(); inst; inst = inst->getNextInst())
+ {
+ if (!isUninitializedValue(inst))
+ continue;
- IRType* type = inst->getFullType();
- if (canIgnoreType(type, nullptr))
- continue;
+ IRType* type = inst->getFullType();
+ if (canIgnoreType(type, nullptr))
+ continue;
- auto loads = getUnresolvedVariableLoads(reachability, inst);
- for (auto load : loads)
- {
- sink->diagnose(load,
+ auto loads = getUnresolvedVariableLoads(reachability, inst);
+ for (auto load : loads)
+ {
+ sink->diagnose(load,
Diagnostics::usingUninitializedVariable,
inst);
+ }
}
}
}