From: Daniel Jasper Date: Sat, 5 Nov 2016 17:43:16 +0000 (+0000) Subject: clang-format: Better support for CUDA's triple brackets. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=320da71d26ff59f846bfbf998eb3373fccfd760b;p=clang clang-format: Better support for CUDA's triple brackets. Before: aaaaaaaaaaaaaaa< aaaaaaaaa, aaaaaaaaaa, aaaaaaaaaaaaaa><<>>(); After: aaaaaaaaaaaaaaa <<>>(); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286041 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index 0b6e71d3d9..cba9a03b3e 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -2488,6 +2488,8 @@ bool TokenAnnotator::canBreakBefore(const AnnotatedLine &Line, return true; if (Right.is(TT_RangeBasedForLoopColon)) return false; + if (Left.is(TT_TemplateCloser) && Right.is(TT_TemplateOpener)) + return true; if (Left.isOneOf(TT_TemplateCloser, TT_UnaryOperator) || Left.is(tok::kw_operator)) return false; diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 7ba93a7f9e..f526d45843 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -11391,6 +11391,8 @@ TEST_F(FormatTest, TripleAngleBrackets) { EXPECT_EQ("f<<<1, 1>>>();", format("f< param > <<< 1, 1 >>> ();")); verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaa<<<\n 1, 1>>>();"); + verifyFormat("aaaaaaaaaaaaaaa\n" + " <<>>();"); } TEST_F(FormatTest, MergeLessLessAtEnd) {