llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-format Author: Owen Pan (owenca) <details> <summary>Changes</summary> --- Full diff: https://github.com/llvm/llvm-project/pull/140835.diff 2 Files Affected: - (modified) clang/lib/Format/FormatToken.h (+3-1) - (modified) clang/lib/Format/TokenAnnotator.cpp (+7-17) ``````````diff diff --git a/clang/lib/Format/FormatToken.h b/clang/lib/Format/FormatToken.h index e9d41183b5ebe..94014aee3221f 100644 --- a/clang/lib/Format/FormatToken.h +++ b/clang/lib/Format/FormatToken.h @@ -712,8 +712,10 @@ struct FormatToken { } bool isObjCLifetimeQualifier(const FormatStyle &Style) const { - if (Style.Language != FormatStyle::LK_ObjC || !TokenText.starts_with("__")) + if (Style.Language != FormatStyle::LK_ObjC || isNot(tok::identifier) || + !TokenText.starts_with("__")) { return false; + } const auto Qualifier = TokenText.substr(2); return Qualifier == "autoreleasing" || Qualifier == "strong" || Qualifier == "weak" || Qualifier == "unsafe_unretained"; diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 542c362ccacae..23c26c821bec9 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -263,8 +263,7 @@ class AnnotatingParser { Previous->setType(TT_SelectorName); } } - } - if (Style.isTableGen()) { + } else if (Style.isTableGen()) { if (CurrentToken->isOneOf(tok::comma, tok::equal)) { // They appear as separators. Unless they are not in class definition. next(); @@ -3016,12 +3015,13 @@ class AnnotatingParser { return TT_BinaryOperator; const FormatToken *NextToken = Tok.getNextNonComment(); + if (!NextToken) + return TT_PointerOrReference; - if (InTemplateArgument && NextToken && NextToken->is(tok::kw_noexcept)) + if (InTemplateArgument && NextToken->is(tok::kw_noexcept)) return TT_BinaryOperator; - if (!NextToken || - NextToken->isOneOf(tok::arrow, tok::equal, tok::comma, tok::r_paren, + if (NextToken->isOneOf(tok::arrow, tok::equal, tok::comma, tok::r_paren, TT_RequiresClause) || (NextToken->is(tok::kw_noexcept) && !IsExpression) || NextToken->canBePointerOrReferenceQualifier() || @@ -6519,18 +6519,8 @@ TokenAnnotator::getTokenReferenceAlignment(const FormatToken &Reference) const { FormatStyle::PointerAlignmentStyle TokenAnnotator::getTokenPointerOrReferenceAlignment( const FormatToken &PointerOrReference) const { - if (PointerOrReference.isOneOf(tok::amp, tok::ampamp)) { - switch (Style.ReferenceAlignment) { - case FormatStyle::RAS_Pointer: - return Style.PointerAlignment; - case FormatStyle::RAS_Left: - return FormatStyle::PAS_Left; - case FormatStyle::RAS_Right: - return FormatStyle::PAS_Right; - case FormatStyle::RAS_Middle: - return FormatStyle::PAS_Middle; - } - } + if (PointerOrReference.isOneOf(tok::amp, tok::ampamp)) + return getTokenReferenceAlignment(PointerOrReference); assert(PointerOrReference.is(tok::star)); return Style.PointerAlignment; } `````````` </details> https://github.com/llvm/llvm-project/pull/140835 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits