diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp --- a/clang/lib/Format/UnwrappedLineParser.cpp +++ b/clang/lib/Format/UnwrappedLineParser.cpp @@ -694,6 +694,8 @@ return Style.BraceWrapping.AfterUnion; if (InitialToken.is(tok::kw_struct)) return Style.BraceWrapping.AfterStruct; + if (InitialToken.is(tok::kw_enum)) + return Style.BraceWrapping.AfterEnum; return false; } @@ -1299,7 +1301,7 @@ if (!parseEnum()) break; // This only applies for C++. - if (!Style.isCpp()) { + if (!Style.isCpp() && Style.BraceWrapping.AfterEnum) { addUnwrappedLine(); return; } @@ -2482,8 +2484,6 @@ return true; } - if (!Style.AllowShortEnumsOnASingleLine) - addUnwrappedLine(); // Parse enum body. nextToken(); if (!Style.AllowShortEnumsOnASingleLine) {