diff options
Diffstat (limited to '3rdparty/bgfx/3rdparty/spirv-tools/source/val/function.cpp')
-rw-r--r-- | 3rdparty/bgfx/3rdparty/spirv-tools/source/val/function.cpp | 3 |
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) { |