owenpan added a comment. 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 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