From 63400477f63acc4cd6fd3bcfb5562128ec5dd39d Mon Sep 17 00:00:00 2001
From: John Kessenich <cepheus@frii.com>
Date: Wed, 10 Jan 2018 03:50:42 -0700
Subject: [PATCH] HLSL: Protect against 'continue' outside of loops.

---
 hlsl/hlslGrammar.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp
index 2fd393363..60ea50e6e 100755
--- a/hlsl/hlslGrammar.cpp
+++ b/hlsl/hlslGrammar.cpp
@@ -3786,6 +3786,10 @@ bool HlslGrammar::acceptJumpStatement(TIntermNode*& statement)
     switch (jump) {
     case EHTokContinue:
         statement = intermediate.addBranch(EOpContinue, token.loc);
+        if (parseContext.loopNestingLevel == 0) {
+            expected("loop");
+            return false;
+        }
         break;
     case EHTokBreak:
         statement = intermediate.addBranch(EOpBreak, token.loc);
-- 
GitLab