From 9b5668c8efa022e066a556d69834da9e564b7deb Mon Sep 17 00:00:00 2001 From: John Kessenich <cepheus@frii.com> Date: Tue, 9 Jan 2018 22:32:42 -0700 Subject: [PATCH] HLSL: Fix #1214: check for nesting in loop/switch of break statements. --- hlsl/hlslGrammar.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp index 32b483ad9..2fd393363 100755 --- a/hlsl/hlslGrammar.cpp +++ b/hlsl/hlslGrammar.cpp @@ -3789,6 +3789,10 @@ bool HlslGrammar::acceptJumpStatement(TIntermNode*& statement) break; case EHTokBreak: statement = intermediate.addBranch(EOpBreak, token.loc); + if (parseContext.loopNestingLevel == 0 && parseContext.switchSequenceStack.size() == 0) { + expected("loop or switch"); + return false; + } break; case EHTokDiscard: statement = intermediate.addBranch(EOpKill, token.loc); -- GitLab