llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-format Author: Owen Pan (owenca) <details> <summary>Changes</summary> Fix #<!-- -->61156 --- Full diff: https://github.com/llvm/llvm-project/pull/138440.diff 2 Files Affected: - (modified) clang/lib/Format/TokenAnnotator.cpp (+1-1) - (modified) clang/unittests/Format/TokenAnnotatorTest.cpp (+9-3) ``````````diff diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index caf386cffd25b..e549c98179d3e 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -1423,7 +1423,7 @@ class AnnotatingParser { Tok->setType(TT_BitFieldColon); } else if (Contexts.size() == 1 && !Line.First->isOneOf(tok::kw_enum, tok::kw_case, - tok::kw_default)) { + tok::kw_default, tok::kw_typedef)) { FormatToken *Prev = Tok->getPreviousNonComment(); if (!Prev) break; diff --git a/clang/unittests/Format/TokenAnnotatorTest.cpp b/clang/unittests/Format/TokenAnnotatorTest.cpp index 0fb64ceec5c97..af54716783f54 100644 --- a/clang/unittests/Format/TokenAnnotatorTest.cpp +++ b/clang/unittests/Format/TokenAnnotatorTest.cpp @@ -3666,7 +3666,7 @@ TEST_F(TokenAnnotatorTest, BraceKind) { getGoogleStyle(FormatStyle::LK_JavaScript)); ASSERT_EQ(Tokens.size(), 12u) << Tokens; EXPECT_TOKEN(Tokens[3], tok::identifier, TT_ClassHeadName); - EXPECT_TOKEN(Tokens[4], tok::identifier, TT_Unknown); // Not TT_StartOfName + EXPECT_TOKEN(Tokens[4], tok::identifier, TT_Unknown); // Not TT_StartOfName. EXPECT_TOKEN(Tokens[8], tok::l_brace, TT_ClassLBrace); EXPECT_BRACE_KIND(Tokens[8], BK_Block); EXPECT_TOKEN(Tokens[9], tok::r_brace, TT_ClassRBrace); @@ -3833,7 +3833,7 @@ TEST_F(TokenAnnotatorTest, CppOnlyKeywordInC) { ASSERT_EQ(Tokens.size(), 8u) << Tokens; EXPECT_TOKEN(Tokens[3], tok::identifier, TT_Unknown); // Not tok::kw_new EXPECT_TOKEN(Tokens[4], tok::amp, TT_BinaryOperator); - EXPECT_TOKEN(Tokens[3], tok::identifier, TT_Unknown); // Not TT_StartOfName + EXPECT_TOKEN(Tokens[3], tok::identifier, TT_Unknown); // Not TT_StartOfName. } TEST_F(TokenAnnotatorTest, FunctionTryBlock) { @@ -3947,7 +3947,7 @@ TEST_F(TokenAnnotatorTest, VariableTemplate) { EXPECT_TOKEN(Tokens[4], tok::identifier, TT_VariableTemplate); EXPECT_TOKEN(Tokens[5], tok::less, TT_TemplateOpener); EXPECT_TOKEN(Tokens[7], tok::greater, TT_TemplateCloser); - EXPECT_TOKEN(Tokens[8], tok::r_paren, TT_Unknown); // Not TT_CastRParen + EXPECT_TOKEN(Tokens[8], tok::r_paren, TT_Unknown); // Not TT_CastRParen. EXPECT_TOKEN(Tokens[9], tok::plus, TT_BinaryOperator); } @@ -4033,6 +4033,12 @@ TEST_F(TokenAnnotatorTest, UserDefinedLiteral) { EXPECT_EQ(Tokens[3]->TokenText, "2_$"); } +TEST_F(TokenAnnotatorTest, EnumColonInTypedef) { + auto Tokens = annotate("typedef enum : int {} foo;"); + ASSERT_EQ(Tokens.size(), 9u) << Tokens; + EXPECT_TOKEN(Tokens[2], tok::colon, TT_Unknown); // Not TT_InheritanceColon. +} + } // namespace } // namespace format } // namespace clang `````````` </details> https://github.com/llvm/llvm-project/pull/138440 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits