@@ -214,11 +214,14 @@ literals = mkPattern' match
214 , return " = "
214 , return " = "
215 , prettyPrintCpp' value
215 , prettyPrintCpp' value
217+ match (CppWhile _ (CppBlock [])) = return []
217− match (CppWhile cond sts) = fmap concat $ sequence
218+ match (CppWhile cond sts@(CppBlock sts')) = fmap concat $ sequence
218 [ return "while ("
219 [ return "while ("
219 , prettyPrintCpp' cond
220 , prettyPrintCpp' cond
220 , return ") "
221 , return ") "
221− , prettyPrintCpp' sts
222+ , prettyPrintCpp' $ if last sts' == CppContinue
223+ then CppBlock (init sts')
223 match (CppIfElse cond thens elses) = fmap concat $ sequence
226 match (CppIfElse cond thens elses) = fmap concat $ sequence
224 [ return "if ("
227 [ return "if ("
@@ -269,7 +272,7 @@ literals = mkPattern' match
269 [ return "throw "
272 [ return "throw "
270 , prettyPrintCpp' value
273 , prettyPrintCpp' value
272− match CppContinue = return "continue;"
275+ match CppContinue = return "continue"
273 match (CppComment [] cpp) = match cpp
276 match (CppComment [] cpp) = match cpp
274 match (CppComment com cpp) = fmap concat $ sequence $
277 match (CppComment com cpp) = fmap concat $ sequence $
275 [ return "\n"
278 [ return "\n"