Author: djasper Date: Tue Apr 5 06:46:06 2016 New Revision: 265385 URL: http://llvm.org/viewvc/llvm-project?rev=265385&view=rev Log: clang-format: Fix cast detection on "this".
Before: auto x = (X) this; After: auto x = (X)this; This fixes llvm.org/PR27198. 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=265385&r1=265384&r2=265385&view=diff ============================================================================== --- cfe/trunk/lib/Format/TokenAnnotator.cpp (original) +++ cfe/trunk/lib/Format/TokenAnnotator.cpp Tue Apr 5 06:46:06 2016 @@ -1172,9 +1172,9 @@ private: if (!LeftOfParens) return false; - // If the following token is an identifier, this is a cast. All cases where - // this can be something else are handled above. - if (Tok.Next->is(tok::identifier)) + // If the following token is an identifier or 'this', this is a cast. All + // cases where this can be something else are handled above. + if (Tok.Next->isOneOf(tok::identifier, tok::kw_this)) return true; if (!Tok.Next->Next) Modified: cfe/trunk/unittests/Format/FormatTest.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=265385&r1=265384&r2=265385&view=diff ============================================================================== --- cfe/trunk/unittests/Format/FormatTest.cpp (original) +++ cfe/trunk/unittests/Format/FormatTest.cpp Tue Apr 5 06:46:06 2016 @@ -5984,6 +5984,7 @@ TEST_F(FormatTest, FormatsCasts) { verifyFormat("my_int a = (my_int)(my_int)-1;"); verifyFormat("my_int a = (ns::my_int)-2;"); verifyFormat("case (my_int)ONE:"); + verifyFormat("auto x = (X)this;"); // FIXME: single value wrapped with paren will be treated as cast. verifyFormat("void f(int i = (kValue)*kMask) {}"); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits