[PATCH] D117894: [clang-format] Space between attribute closing parenthesis and qualified type colon.
Marek Kurdej via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 21 08:21:50 PST 2022
curdeius created this revision.
curdeius added reviewers: MyDeveloperDay, HazardyKnusperkeks, owenpan.
curdeius requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
Fixes https://github.com/llvm/llvm-project/issues/35711.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D117894
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
@@ -10028,6 +10028,7 @@
verifyFormat("SomeType s __attribute__((unused)) (InitValue);");
verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa __attribute__((unused))\n"
"aaaaaaaaaaaaaaaaaaaaaaa(int i);");
+ verifyFormat("__attribute__((nodebug)) ::qualified_type f();");
FormatStyle AfterType = getLLVMStyle();
AfterType.AlwaysBreakAfterReturnType = FormatStyle::RTBS_All;
verifyFormat("__attribute__((nodebug)) void\n"
@@ -10131,6 +10132,7 @@
verifyFormat("class [[nodiscard]] f {\npublic:\n f() {}\n}");
verifyFormat("class [[deprecated(\"so sorry\")]] f {\npublic:\n f() {}\n}");
verifyFormat("class [[gnu::unused]] f {\npublic:\n f() {}\n}");
+ verifyFormat("[[nodiscard]] ::qualified_type f();");
// Make sure we do not mistake attributes for array subscripts.
verifyFormat("int a() {}\n"
Index: clang/lib/Format/TokenAnnotator.cpp
===================================================================
--- clang/lib/Format/TokenAnnotator.cpp
+++ clang/lib/Format/TokenAnnotator.cpp
@@ -3337,6 +3337,9 @@
if (Left.is(tok::ellipsis) && Right.is(tok::identifier) &&
Line.First->is(Keywords.kw_import))
return false;
+ // Space in __attribute__((attr)) ::type.
+ if (Left.is(TT_AttributeParen) && Right.is(tok::coloncolon))
+ return true;
if (Left.is(tok::kw_operator))
return Right.is(tok::coloncolon);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D117894.401994.patch
Type: text/x-patch
Size: 1594 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220121/fe755925/attachment.bin>
More information about the cfe-commits
mailing list