r219119 - clang-format: If in doubt, assume '+' is a binary operator.
Justin Bogner
mail at justinbogner.com
Mon Oct 6 12:57:21 PDT 2014
Oh, I see now. The line that mentions that this is a heuristic is just
outside of the diff. We're just using the fact that unary + is fairly
uncommon to get better results in some cases here. Nevermind me :)
Daniel Jasper <djasper at google.com> writes:
> Not sure what you are getting at.. It is obviously wrong, but this is about
> probabilities..
>
> On Oct 6, 2014 9:32 PM, "Justin Bogner" <mail at justinbogner.com> wrote:
>
> Daniel Jasper <djasper at google.com> writes:
> > Author: djasper
> > Date: Mon Oct 6 08:16:43 2014
> > New Revision: 219119
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=219119&view=rev
> > Log:
> > 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
>
> What about this one?
>
> #define LENGTH(x, y) (x) - (y) - 1
>
> > Modified:
> > cfe/trunk/lib/Format/TokenAnnotator.cpp
> > cfe/trunk/unittests/Format/FormatTest.cpp
> >
> > Modified: cfe/trunk/lib/Format/TokenAnnotator.cpp
> > URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/
> TokenAnnotator.cpp?rev=219119&r1=219118&r2=219119&view=diff
> > ========================================================================
> ======
> > --- cfe/trunk/lib/Format/TokenAnnotator.cpp (original)
> > +++ cfe/trunk/lib/Format/TokenAnnotator.cpp Mon Oct 6 08:16:43 2014
> > @@ -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) {
> >
> > Modified: cfe/trunk/unittests/Format/FormatTest.cpp
> > URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/
> FormatTest.cpp?rev=219119&r1=219118&r2=219119&view=diff
> > ========================================================================
> ======
> > --- cfe/trunk/unittests/Format/FormatTest.cpp (original)
> > +++ cfe/trunk/unittests/Format/FormatTest.cpp Mon Oct 6 08:16:43 2014
> > @@ -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;");
> >
> >
> > _______________________________________________
> > cfe-commits mailing list
> > cfe-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list