diff options
Diffstat (limited to 'source/slang/slang-check-stmt.cpp')
| -rw-r--r-- | source/slang/slang-check-stmt.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/slang/slang-check-stmt.cpp b/source/slang/slang-check-stmt.cpp index bbe3e51bd..b2c58ccc7 100644 --- a/source/slang/slang-check-stmt.cpp +++ b/source/slang/slang-check-stmt.cpp @@ -267,9 +267,14 @@ namespace Slang void SemanticsStmtVisitor::visitTargetSwitchStmt(TargetSwitchStmt* stmt) { WithOuterStmt subContext(this, stmt); - + HashSet<Stmt*> checkedStmt; for (auto caseStmt : stmt->targetCases) + { + if (checkedStmt.contains(caseStmt->body)) + continue; subContext.checkStmt(caseStmt); + checkedStmt.add(caseStmt->body); + } } void SemanticsStmtVisitor::visitTargetCaseStmt(TargetCaseStmt* stmt) |
