================
@@ -2910,22 +2910,39 @@ void UnwrappedLineParser::parseUnbracedBody(bool
CheckEOF) {
}
addUnwrappedLine();
+ const size_t BodyStart = CurrentLines->size();
++Line->Level;
++Line->UnbracedBodyLevel;
parseStructuralElement();
--Line->UnbracedBodyLevel;
if (Tok) {
assert(!Line->InPPDirective);
+ FormatToken *const LBraceTok = Tok;
Tok = nullptr;
- for (const auto &L : llvm::reverse(*CurrentLines)) {
+ size_t BodyEnd = CurrentLines->size();
+ while (BodyEnd > 0) {
+ const auto &L = (*CurrentLines)[--BodyEnd];
if (!L.InPPDirective && getLastNonComment(L)) {
Tok = L.Tokens.back().Tok;
break;
}
}
assert(Tok);
- ++Tok->BraceCount;
+ // Don't insert the braces if they would enclose preprocessor directives.
+ bool EnclosesPPDirective = false;
+ for (size_t I = BodyStart; I <= BodyEnd && !EnclosesPPDirective; ++I) {
+ const auto &L = (*CurrentLines)[I];
----------------
and2049 wrote:
Renamed it to `BodyLine` and used `auto` for `BodyStart` and `BodyEnd` .
https://github.com/llvm/llvm-project/pull/224947
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits