[PATCH] D137181: [clang-format] Don't use 'PPIndentWidth' inside multi-line macros

Noah Goldstein via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Nov 13 01:11:28 PST 2022


goldstein.w.n added a comment.

In D137181#3923434 <https://reviews.llvm.org/D137181#3923434>, @owenpan wrote:

> In D137181#3918715 <https://reviews.llvm.org/D137181#3918715>, @goldstein.w.n wrote:
>
>> In D137181#3918673 <https://reviews.llvm.org/D137181#3918673>, @owenpan wrote:
>>
>>> Below is how I defined `PPLevel`:
>>>
>>>   $ git diff UnwrappedLineParser.h
>>>   diff --git a/clang/lib/Format/UnwrappedLineParser.h b/clang/lib/Format/UnwrappedLineParser.h
>>>   index b9b106bcc89a..a234f6852e0c 100644
>>>   --- a/clang/lib/Format/UnwrappedLineParser.h
>>>   +++ b/clang/lib/Format/UnwrappedLineParser.h
>>>   @@ -43,6 +43,9 @@ struct UnwrappedLine {
>>>    
>>>      /// The indent level of the \c UnwrappedLine.
>>>      unsigned Level;
>>>   +  /// The \c PPBranchLevel (adjusted for header guards) of the macro definition
>>>   +  /// this line belongs to.
>>>   +  unsigned PPLevel;
>>>    
>>>      /// Whether this \c UnwrappedLine is part of a preprocessor directive.
>>>      bool InPPDirective;
>>>   @@ -358,7 +361,7 @@ struct UnwrappedLineNode {
>>>    };
>>>    
>>>    inline UnwrappedLine::UnwrappedLine()
>>>   -    : Level(0), InPPDirective(false), InPragmaDirective(false),
>>>   +    : Level(0), PPLevel(0), InPPDirective(false), InPragmaDirective(false),
>>>          InMacroBody(false), MustBeDeclaration(false),
>>>          MatchingOpeningBlockLineIndex(kInvalidIndex) {}
>>>    
>>>
>>> Conceptually, I think it's more accurate to make `PPLevel` to mean the PP branching level of the `#define` line, not the first line of the macro body. IMO it may simplify the changes you made to the formatter.
>>
>> Hmm? Not sure what you mean.
>
> Does the comments above `unsigned PPLevel;` in the above `git diff` output help? Anyway, you already addressed my comment by decreasing `PPLevel` by 1, so it's ok now.

Got it. Is the patch okay?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D137181/new/

https://reviews.llvm.org/D137181



More information about the cfe-commits mailing list