[PATCH] D120028: [clang-format] Do not add space after return-like keywords in macros.
Marek Kurdej via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 17 13:12:53 PST 2022
This revision was automatically updated to reflect the committed changes.
Closed by commit rG331e8e4e27be: [clang-format] Do not add space after return-like keywords in macros. (authored by curdeius).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D120028/new/
https://reviews.llvm.org/D120028
Files:
clang/lib/Format/TokenAnnotator.cpp
clang/unittests/Format/FormatTest.cpp
Index: clang/unittests/Format/FormatTest.cpp
===================================================================
--- clang/unittests/Format/FormatTest.cpp
+++ clang/unittests/Format/FormatTest.cpp
@@ -1861,6 +1861,16 @@
"#define BBB }\n",
Style);
// verifyFormat("#define AAA N { //\n", Style);
+
+ verifyFormat("MACRO(return)");
+ verifyFormat("MACRO(co_await)");
+ verifyFormat("MACRO(co_return)");
+ verifyFormat("MACRO(co_yield)");
+ verifyFormat("MACRO(return, something)");
+ verifyFormat("MACRO(co_return, something)");
+ verifyFormat("MACRO(something##something)");
+ verifyFormat("MACRO(return##something)");
+ verifyFormat("MACRO(co_return##something)");
}
TEST_F(FormatTest, ShortBlocksInMacrosDontMergeWithCodeAfterMacro) {
Index: clang/lib/Format/TokenAnnotator.cpp
===================================================================
--- clang/lib/Format/TokenAnnotator.cpp
+++ clang/lib/Format/TokenAnnotator.cpp
@@ -2989,7 +2989,8 @@
bool TokenAnnotator::spaceRequiredBetween(const AnnotatedLine &Line,
const FormatToken &Left,
const FormatToken &Right) {
- if (Left.is(tok::kw_return) && Right.isNot(tok::semi))
+ if (Left.is(tok::kw_return) &&
+ !Right.isOneOf(tok::semi, tok::r_paren, tok::hashhash))
return true;
if (Style.isJson() && Left.is(tok::string_literal) && Right.is(tok::colon))
return false;
@@ -3026,7 +3027,7 @@
return false;
// co_await (x), co_yield (x), co_return (x)
if (Left.isOneOf(tok::kw_co_await, tok::kw_co_yield, tok::kw_co_return) &&
- Right.isNot(tok::semi))
+ !Right.isOneOf(tok::semi, tok::r_paren))
return true;
if (Left.is(tok::l_paren) || Right.is(tok::r_paren))
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D120028.409769.patch
Type: text/x-patch
Size: 1799 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220217/facb2362/attachment.bin>
More information about the cfe-commits
mailing list