diff --git a/lib/Format/UnwrappedLineParser.cpp b/lib/Format/UnwrappedLineParser.cpp index 0c8d486f0e..9631d9f71d 100644 --- a/lib/Format/UnwrappedLineParser.cpp +++ b/lib/Format/UnwrappedLineParser.cpp @@ -1354,11 +1354,10 @@ void UnwrappedLineParser::parseEnum() { if (FormatTok->Tok.is(tok::l_brace)) { FormatTok->BlockKind = BK_Block; bool HasError = !parseBracedList(/*ContinueOnSemicolons=*/true); - if (HasError) { - if (FormatTok->is(tok::semi)) - nextToken(); + if (FormatTok->is(tok::semi)) + nextToken(); + if (HasError) addUnwrappedLine(); - } } // We fall through to parsing a structural element afterwards, so that in // enum A {} n, m; diff --git a/unittests/Format/FormatTestJava.cpp b/unittests/Format/FormatTestJava.cpp index 591d1f3a32..f2bead3597 100644 --- a/unittests/Format/FormatTestJava.cpp +++ b/unittests/Format/FormatTestJava.cpp @@ -86,6 +86,7 @@ TEST_F(FormatTestJava, ClassDeclarations) { TEST_F(FormatTestJava, EnumDeclarations) { verifyFormat("enum SomeThing { ABC, CDE }"); + verifyFormat("enum SomeThing { ABC, CDE };"); verifyFormat("enum SomeThing {\n" " ABC,\n" " CDE,\n"