From 0fc27ef19670676689d3317948c81eb171bb25f8 Mon Sep 17 00:00:00 2001 From: Krasimir Georgiev Date: Thu, 12 Aug 2021 08:51:58 +0200 Subject: [PATCH] [clang-format] handle trailing comments in function definition detection A follow-up to https://github.com/llvm/llvm-project/commit/f6bc614546e169bb1b17a29c422ebace038e6c62 where we handle the case where the semicolon is followed by a trailing comment. Reviewed By: MyDeveloperDay Differential Revision: https://reviews.llvm.org/D107907 --- clang/lib/Format/TokenAnnotator.cpp | 2 +- clang/unittests/Format/FormatTest.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index de3dabc..703eced 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -2482,7 +2482,7 @@ static bool isFunctionDeclarationName(const FormatToken &Current, // return i + 1; // } if (Next->Next && Next->Next->is(tok::identifier) && - Line.Last->isNot(tok::semi)) + !Line.endsWith(tok::semi)) return true; for (const FormatToken *Tok = Next->Next; Tok && Tok != Next->MatchingParen; Tok = Tok->Next) { diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index de6f1b7..670788c 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -8252,6 +8252,9 @@ TEST_F(FormatTest, ReturnTypeBreakingStyle) { verifyFormat("Tttttttttttttttttttttttt ppppppppppppppp\n" " ABSL_GUARDED_BY(mutex) = {};", getGoogleStyleWithColumns(40)); + verifyFormat("Tttttttttttttttttttttttt ppppppppppppppp\n" + " ABSL_GUARDED_BY(mutex); // comment", + getGoogleStyleWithColumns(40)); Style = getGNUStyle(); -- 2.7.4