| Index: src/preparser.cc
|
| diff --git a/src/preparser.cc b/src/preparser.cc
|
| index 0c17eecd6a432a6d24efe93247acabcdbb6d13ff..21da4f80d418cb31d6d9e1c8bdbd4e3972d6be5e 100644
|
| --- a/src/preparser.cc
|
| +++ b/src/preparser.cc
|
| @@ -602,14 +602,17 @@ PreParser::Statement PreParser::ParseSwitchStatement(bool* ok) {
|
| if (token == i::Token::CASE) {
|
| Expect(i::Token::CASE, CHECK_OK);
|
| ParseExpression(true, CHECK_OK);
|
| - Expect(i::Token::COLON, CHECK_OK);
|
| - } else if (token == i::Token::DEFAULT) {
|
| - Expect(i::Token::DEFAULT, CHECK_OK);
|
| - Expect(i::Token::COLON, CHECK_OK);
|
| } else {
|
| - ParseStatement(CHECK_OK);
|
| + Expect(i::Token::DEFAULT, CHECK_OK);
|
| }
|
| + Expect(i::Token::COLON, CHECK_OK);
|
| token = peek();
|
| + while (token != i::Token::CASE &&
|
| + token != i::Token::DEFAULT &&
|
| + token != i::Token::RBRACE) {
|
| + ParseStatement(CHECK_OK);
|
| + token = peek();
|
| + }
|
| }
|
| Expect(i::Token::RBRACE, ok);
|
| return Statement::Default();
|
|
|