goldstein.w.n added a comment. In D137181#3916605 <https://reviews.llvm.org/D137181#3916605>, @owenpan wrote:
> In D137181#3916558 <https://reviews.llvm.org/D137181#3916558>, @goldstein.w.n > wrote: > >> In D137181#3916547 <https://reviews.llvm.org/D137181#3916547>, @owenpan >> wrote: >> >>> Yes, if there is a header guard. Otherwise, set `PPLevel` to `PPBranchLevel >>> + 1`. >> >> That fails alot of the tests for me. >> >> maybe you did something different? > > Here is what I did: > > $ git diff UnwrappedLineParser.cpp > diff --git a/clang/lib/Format/UnwrappedLineParser.cpp > b/clang/lib/Format/UnwrappedLineParser.cpp > index 25d9018fa109..ab3b9c53ee54 100644 > --- a/clang/lib/Format/UnwrappedLineParser.cpp > +++ b/clang/lib/Format/UnwrappedLineParser.cpp > @@ -197,6 +197,7 @@ public: > PreBlockLine = std::move(Parser.Line); > Parser.Line = std::make_unique<UnwrappedLine>(); > Parser.Line->Level = PreBlockLine->Level; > + Parser.Line->PPLevel = PreBlockLine->PPLevel; > Parser.Line->InPPDirective = PreBlockLine->InPPDirective; > Parser.Line->InMacroBody = PreBlockLine->InMacroBody; > } > @@ -1274,6 +1275,10 @@ void UnwrappedLineParser::parsePPDefine() { > addUnwrappedLine(); > ++Line->Level; > Line->InMacroBody = true; > + if (Style.IndentPPDirectives != FormatStyle::PPDIS_None) { > + Line->PPLevel = > + IncludeGuard == IG_Defined ? PPBranchLevel : PPBranchLevel + 1; > + } > > // Errors during a preprocessor directive can only affect the layout of > the > // preprocessor directive, and thus we ignore them. An alternative > approach You're right this works (but off by one). Updated patch. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137181/new/ https://reviews.llvm.org/D137181 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits