[PATCH] D123676: [clang-format] Fix WhitespaceSensitiveMacros not being honoured when macro closing parenthesis is followed by a newline.

ksyx via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 13 07:54:48 PDT 2022


ksyx added inline comments.


================
Comment at: clang/lib/Format/FormatTokenLexer.h:117-120
+  struct MacroTokenInfo {
+    TokenType Type;
+    bool Finalized;
+  };
----------------
curdeius wrote:
> ksyx wrote:
> > Would making constructor of `struct MacroTokenInfo` having default parameter or overloading it help avoiding the change of adding `, /*Finalized=*/false` to the existing initializer lists?
> I've thought about it, but it would mean that we have a non-explicit 1-arg ctor. I'm not a big fan of these as they trigger implicit conversions.
> I can do though:
> ```
>   struct MacroTokenInfo {
>     TokenType Type;
>     bool Finalized{false};
>   };
> ```
> but we'd still need adding braces in:
> ```
> Macros.insert({Identifier, {TT_ForEachMacro}});
> ```
Yes they are both good point to consider and my start point is just that the `finalized` property is less frequently be `true`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D123676



More information about the cfe-commits mailing list