From: Daniel Jasper Date: Fri, 5 Apr 2013 17:21:59 +0000 (+0000) Subject: Fix bad formatting of overloaded operator definitions. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=27b91cc046f580fbe825f15b3e27f1b6407ee3e3;p=clang Fix bad formatting of overloaded operator definitions. Before: bool operator< (const aaaaaaaaaaaaaaaaaaaaa &left, const aaaaaaaaaaaaaaaaaaaaa &right) { return left.group < right.group; } After: bool operator<(const aaaaaaaaaaaaaaaaaaaaa &left, const aaaaaaaaaaaaaaaaaaaaa &right) { return left.group < right.group; } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178887 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index 427157e332..24e2b1f87e 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -1137,7 +1137,8 @@ bool TokenAnnotator::canBreakBefore(const AnnotatedLine &Line, if (Right.Type == TT_ConditionalExpr || Right.is(tok::question)) return true; if (Right.Type == TT_RangeBasedForLoopColon || - Right.Type == TT_InheritanceColon) + Right.Type == TT_InheritanceColon || + Right.Type == TT_OverloadedOperatorLParen) return false; if (Left.Type == TT_RangeBasedForLoopColon || Left.Type == TT_InheritanceColon) diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index e01034b09a..54e7381207 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -2226,6 +2226,10 @@ TEST_F(FormatTest, UndestandsOverloadedOperators) { verifyFormat( "ostream &operator<<(ostream &OutputStream,\n" " SomeReallyLongType WithSomeReallyLongValue);"); + verifyFormat("bool operator<(const aaaaaaaaaaaaaaaaaaaaa &left,\n" + " const aaaaaaaaaaaaaaaaaaaaa &right) {\n" + " return left.group < right.group;\n" + "}"); verifyGoogleFormat("operator void*();"); verifyGoogleFormat("operator SomeType>();");