From 60748ebf515ba25b5e7506c54ecaa86486f9d009 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Mon, 6 Jul 2009 10:38:23 +0200 Subject: [PATCH] jscript: Fix do while loop parsing. --- dlls/jscript/parser.y | 2 +- dlls/jscript/tests/lang.js | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/dlls/jscript/parser.y b/dlls/jscript/parser.y index 52a31c88a79..d47d40d1e58 100644 --- a/dlls/jscript/parser.y +++ b/dlls/jscript/parser.y @@ -386,7 +386,7 @@ IfStatement /* ECMA-262 3rd Edition 12.6 */ IterationStatement - : kDO Statement kWHILE '(' Expression ')' ';' + : kDO Statement kWHILE '(' Expression ')' semicolon_opt { $$ = new_while_statement(ctx, TRUE, $5, $2); } | kWHILE '(' Expression ')' Statement { $$ = new_while_statement(ctx, FALSE, $3, $5); } diff --git a/dlls/jscript/tests/lang.js b/dlls/jscript/tests/lang.js index 86eba86f738..cf04f9e0bb9 100644 --- a/dlls/jscript/tests/lang.js +++ b/dlls/jscript/tests/lang.js @@ -671,6 +671,13 @@ do { } while(false); ok(tmp === 1, "tmp !== 1"); +tmp = 0; +do { + ok(tmp < 4, "tmp >= 4"); + tmp++; +} while(tmp < 4) +ok(tmp === 4, "tmp !== 4") + tmp = 0; while(tmp < 4) { tmp++;