jonathoma created this revision. jonathoma added reviewers: modocache, sammccall, Quuxplusone. Herald added a project: clang. Herald added a subscriber: cfe-commits. jonathoma planned changes to this revision.
As a followup to D69144 <https://reviews.llvm.org/D69144>, this diff fixes the coroutine keyword spacing for co_yield / co_returning negative numbers. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D69180 Files: clang/lib/Format/TokenAnnotator.cpp clang/unittests/Format/FormatTest.cpp Index: clang/unittests/Format/FormatTest.cpp =================================================================== --- clang/unittests/Format/FormatTest.cpp +++ clang/unittests/Format/FormatTest.cpp @@ -6912,6 +6912,7 @@ verifyFormat("alignof(char);", getGoogleStyle()); verifyFormat("return -1;"); + verifyFormat("throw -1;"); verifyFormat("switch (a) {\n" "case -1:\n" " break;\n" @@ -6925,6 +6926,9 @@ verifyFormat("int a = /* confusing comment */ -1;"); // FIXME: The space after 'i' is wrong, but hopefully, this is a rare case. verifyFormat("int a = i /* confusing comment */++;"); + + verifyFormat("co_yield -1;"); + verifyFormat("co_return -1;"); } TEST_F(FormatTest, DoesNotIndentRelativeToUnaryOperators) { Index: clang/lib/Format/TokenAnnotator.cpp =================================================================== --- clang/lib/Format/TokenAnnotator.cpp +++ clang/lib/Format/TokenAnnotator.cpp @@ -1756,7 +1756,8 @@ // Use heuristics to recognize unary operators. if (PrevToken->isOneOf(tok::equal, tok::l_paren, tok::comma, tok::l_square, tok::question, tok::colon, tok::kw_return, - tok::kw_case, tok::at, tok::l_brace)) + tok::kw_case, tok::at, tok::l_brace, tok::kw_throw, + tok::kw_co_return, tok_kw_co_yield)) return TT_UnaryOperator; // There can't be two consecutive binary operators.
Index: clang/unittests/Format/FormatTest.cpp =================================================================== --- clang/unittests/Format/FormatTest.cpp +++ clang/unittests/Format/FormatTest.cpp @@ -6912,6 +6912,7 @@ verifyFormat("alignof(char);", getGoogleStyle()); verifyFormat("return -1;"); + verifyFormat("throw -1;"); verifyFormat("switch (a) {\n" "case -1:\n" " break;\n" @@ -6925,6 +6926,9 @@ verifyFormat("int a = /* confusing comment */ -1;"); // FIXME: The space after 'i' is wrong, but hopefully, this is a rare case. verifyFormat("int a = i /* confusing comment */++;"); + + verifyFormat("co_yield -1;"); + verifyFormat("co_return -1;"); } TEST_F(FormatTest, DoesNotIndentRelativeToUnaryOperators) { Index: clang/lib/Format/TokenAnnotator.cpp =================================================================== --- clang/lib/Format/TokenAnnotator.cpp +++ clang/lib/Format/TokenAnnotator.cpp @@ -1756,7 +1756,8 @@ // Use heuristics to recognize unary operators. if (PrevToken->isOneOf(tok::equal, tok::l_paren, tok::comma, tok::l_square, tok::question, tok::colon, tok::kw_return, - tok::kw_case, tok::at, tok::l_brace)) + tok::kw_case, tok::at, tok::l_brace, tok::kw_throw, + tok::kw_co_return, tok_kw_co_yield)) return TT_UnaryOperator; // There can't be two consecutive binary operators.
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits