[PATCH] D123676: [clang-format] Fix WhitespaceSensitiveMacros not being honoured when macro closing parenthesis is followed by a newline.
Marek Kurdej via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 13 22:32:55 PDT 2022
curdeius added inline comments.
================
Comment at: clang/lib/Format/UnwrappedLineParser.cpp:1791
+ tokenCanStartNewLine(*FormatTok) && Text == Text.upper() &&
+ !PreviousToken->isTypeFinalized()) {
PreviousToken->setFinalizedType(TT_FunctionLikeOrFreestandingMacro);
----------------
owenpan wrote:
> Can we simply do this and leave `FormatTokenLexer` alone?
We can too. It seemed hacky to me because we can miss `TT_UntouchableMacroFunc` in other places.
Setting the token type finalized in the lexer will avoid such problems in the future.
I'm okay however to just apply your suggestion.
================
Comment at: clang/unittests/Format/FormatTest.cpp:23545
+ // Newlines are important here.
+ EXPECT_EQ("FOO(1+2 );\n", format("FOO(1+2 );\n", Style));
+ EXPECT_EQ("FOO(1+2 )\n", format("FOO(1+2 )\n", Style));
----------------
owenpan wrote:
> Do we really need this test case?
Not really. I just wrote it to cover both cases but it's covered by existing cases indeed. Will remove.
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