[PATCH] D59309: [clang-format] BreakAfterReturnType ignored on functions with numeric template parameters
MyDeveloperDay via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 20 10:37:32 PDT 2019
MyDeveloperDay updated this revision to Diff 191530.
MyDeveloperDay added a comment.
Addressing code review comment
@klimek I think is what you meant, a much smaller and neater version of what I had before.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D59309/new/
https://reviews.llvm.org/D59309
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
@@ -5419,6 +5419,42 @@
"}\n"
"template <class T> T *f(T &c);\n", // No break here.
Style);
+ verifyFormat("int\n"
+ "foo(A<bool> a)\n"
+ "{\n"
+ " return a;\n"
+ "}\n",
+ Style);
+ verifyFormat("int\n"
+ "foo(A<8> a)\n"
+ "{\n"
+ " return a;\n"
+ "}\n",
+ Style);
+ verifyFormat("int\n"
+ "foo(A<B<bool>, 8> a)\n"
+ "{\n"
+ " return a;\n"
+ "}\n",
+ Style);
+ verifyFormat("int\n"
+ "foo(A<B<8>, bool> a)\n"
+ "{\n"
+ " return a;\n"
+ "}\n",
+ Style);
+ verifyFormat("int\n"
+ "foo(A<B<bool>, bool> a)\n"
+ "{\n"
+ " return a;\n"
+ "}\n",
+ Style);
+ verifyFormat("int\n"
+ "foo(A<B<8>, 8> a)\n"
+ "{\n"
+ " return a;\n"
+ "}\n",
+ Style);
}
TEST_F(FormatTest, AlwaysBreakBeforeMultilineStrings) {
Index: clang/lib/Format/TokenAnnotator.cpp
===================================================================
--- clang/lib/Format/TokenAnnotator.cpp
+++ clang/lib/Format/TokenAnnotator.cpp
@@ -2049,6 +2049,10 @@
Tok = Tok->MatchingParen;
continue;
}
+ if (Tok->is(TT_TemplateOpener) && Tok->MatchingParen) {
+ Tok = Tok->MatchingParen;
+ continue;
+ }
if (Tok->is(tok::kw_const) || Tok->isSimpleTypeSpecifier() ||
Tok->isOneOf(TT_PointerOrReference, TT_StartOfName, tok::ellipsis))
return true;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59309.191530.patch
Type: text/x-patch
Size: 1932 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190320/709525a4/attachment.bin>
More information about the llvm-commits
mailing list