From a549362ba7011562f123b52c35c875c2c02f4f40 Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 16 Mar 2018 14:28:04 -0400 Subject: Small bug fixes. (#445) This commit contains two small bug fixes: 1. In `specializeProgramLayout`, we cannot assume the resourceInfo entries in a varLayout and its corresponding type layout has the same order. Should use `FindResourceLayout`. 2. When generating ir for a switch statement, make sure to remove the breakLabel from the shared context when done. For some reason if a switch statement is being lowered twice, the Dictionary::Add method will complain the statement key already exists. --- source/slang/lower-to-ir.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'source/slang/lower-to-ir.cpp') diff --git a/source/slang/lower-to-ir.cpp b/source/slang/lower-to-ir.cpp index 428044830..0970eef98 100644 --- a/source/slang/lower-to-ir.cpp +++ b/source/slang/lower-to-ir.cpp @@ -2549,6 +2549,7 @@ struct StmtLoweringVisitor : StmtVisitor // (and that control flow will fall through to otherwise). // This is the block that subsequent code will go into. insertBlock(breakLabel); + context->shared->breakLabels.Remove(stmt); } }; -- cgit v1.2.3