summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/3rdparty/spirv-tools/source/val/function.cpp
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/3rdparty/spirv-tools/source/val/function.cpp')
-rw-r--r--3rdparty/bgfx/3rdparty/spirv-tools/source/val/function.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/3rdparty/bgfx/3rdparty/spirv-tools/source/val/function.cpp b/3rdparty/bgfx/3rdparty/spirv-tools/source/val/function.cpp
index 249c8664fed..9ad68e86727 100644
--- a/3rdparty/bgfx/3rdparty/spirv-tools/source/val/function.cpp
+++ b/3rdparty/bgfx/3rdparty/spirv-tools/source/val/function.cpp
@@ -308,6 +308,9 @@ int Function::GetBlockDepth(BasicBlock* bb) {
if (block_depth_.find(bb) != block_depth_.end()) {
return block_depth_[bb];
}
+ // Avoid recursion. Something is wrong if the same block is encountered
+ // multiple times.
+ block_depth_[bb] = 0;
BasicBlock* bb_dom = bb->immediate_dominator();
if (!bb_dom || bb == bb_dom) {