 Chromium Code Reviews
 Chromium Code Reviews Issue 9159043:
  Fix handling of 'c: if (0) break c; else ()' where a parser optimization  (Closed) 
  Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
    
  
    Issue 9159043:
  Fix handling of 'c: if (0) break c; else ()' where a parser optimization  (Closed) 
  Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/| Index: src/parser.cc | 
| =================================================================== | 
| --- src/parser.cc (revision 10553) | 
| +++ src/parser.cc (working copy) | 
| @@ -2128,6 +2128,10 @@ | 
| // Parse labeled break statements that target themselves into | 
| // empty statements, e.g. 'l1: l2: l3: break l2;' | 
| if (!label.is_null() && ContainsLabel(labels, label)) { | 
| + // Consume the 'break' SEMICOLON if present | 
| + if (peek() == Token::SEMICOLON) { | 
| + scanner().Next(); | 
| + } | 
| 
Lasse Reichstein Nielsen
2012/02/02 10:05:19
The semicolon *must* be there (or be inserted by a
 | 
| return EmptyStatement(); | 
| } | 
| BreakableStatement* target = NULL; |