From a45eb4c000e2bd9bba49e31fed25c308a4961dd4 Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Mon, 6 Oct 2014 13:16:43 +0000 Subject: [PATCH] clang-format: If in doubt, assume '+' is a binary operator. Before: #define LENGTH(x, y) (x) - (y)+1 After: #define LENGTH(x, y) (x) - (y) + 1 llvm-svn: 219119 --- clang/lib/Format/TokenAnnotator.cpp | 5 +++-- clang/unittests/Format/FormatTest.cpp | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 43721ef95c0e..4a964ed41d84 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -902,8 +902,9 @@ private: if (Prev && Tok.Next && Tok.Next->Next) { bool NextIsUnary = Tok.Next->isUnaryOperator() || Tok.Next->isOneOf(tok::amp, tok::star); - IsCast = NextIsUnary && Tok.Next->Next->isOneOf( - tok::identifier, tok::numeric_constant); + IsCast = + NextIsUnary && !Tok.Next->is(tok::plus) && + Tok.Next->Next->isOneOf(tok::identifier, tok::numeric_constant); } for (; Prev != Tok.MatchingParen; Prev = Prev->Previous) { diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index f44fec6fe987..0842711749d3 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -5116,6 +5116,7 @@ TEST_F(FormatTest, FormatsCasts) { verifyFormat("my_int a = (my_int)sizeof(int);"); verifyFormat("return (my_int)aaa;"); verifyFormat("#define x ((int)-1)"); + verifyFormat("#define LENGTH(x, y) (x) - (y) + 1"); verifyFormat("#define p(q) ((int *)&q)"); verifyFormat("fn(a)(b) + 1;"); @@ -5123,7 +5124,7 @@ TEST_F(FormatTest, FormatsCasts) { verifyFormat("void f() { return P ? (my_int)*P : (my_int)0; }"); verifyFormat("my_int a = (my_int)~0;"); verifyFormat("my_int a = (my_int)++a;"); - verifyFormat("my_int a = (my_int)+2;"); + verifyFormat("my_int a = (my_int)-2;"); verifyFormat("my_int a = (my_int)1;"); verifyFormat("my_int a = (my_int *)1;"); verifyFormat("my_int a = (const my_int)-1;");