--- /tmp/c-parse.in.orig 2002-10-16 13:20:51.000000000 +0200 +++ c-parse.in 2002-10-16 13:17:58.000000000 +0200 @@ -2232,6 +2232,18 @@ c99_block_lineno_labeled_stmt WHILE { $$ = $2; RECHAIN_STMTS ($$, DO_BODY ($$)); } + | + DO error WHILE + { stmt_count++; + compstmt_count++; + $$ + = add_stmt (build_stmt (DO_STMT, NULL_TREE, + NULL_TREE)); + /* In the event that a parse error prevents + parsing the complete do-statement, set the + condition now. Otherwise, we can get crashes at + RTL-generation time. */ + DO_COND ($$) = error_mark_node; } ; /* The forced readahead in here is because we might be at the end of a