Add missing setIsParseError() during enum case parsing

An invalid `case` construct would incorrectly return a successful status, causing `parseDecl` to crash later when it assumed there were valid decls in the `Entries` vector.
This commit is contained in:
Jacob Bandes-Storch
2015-12-13 01:14:22 -08:00
parent 2882816e59
commit 1b142ed054
10 changed files with 14 additions and 9 deletions

View File

@@ -4249,6 +4249,7 @@ ParserStatus Parser::parseDeclEnumCase(ParseDeclOptions Flags,
// Handle the likely case someone typed 'case X, case Y'.
if (Tok.is(tok::kw_case) && CommaLoc.isValid()) {
diagnose(Tok, diag::expected_identifier_after_case_comma);
Status.setIsParseError();
return Status;
}