[clang] [clang-format] Fix annotation of references in function pointer typedefs (PR #188860)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Mar 27 21:54:16 PDT 2026
================
@@ -427,6 +427,14 @@ TEST_F(TokenAnnotatorTest, UnderstandsUsesOfStarAndAmp) {
ASSERT_EQ(Tokens.size(), 7u) << Tokens;
EXPECT_TOKEN(Tokens[1], tok::star, TT_PointerOrReference);
EXPECT_TOKEN(Tokens[3], tok::star, TT_PointerOrReference);
+
+ Tokens = annotate("using f = A *(*)(B &c);");
+ ASSERT_EQ(Tokens.size(), 15u);
+ EXPECT_TOKEN(Tokens[4], tok::star, TT_PointerOrReference);
+ EXPECT_TOKEN(Tokens[5], tok::l_paren, TT_FunctionTypeLParen);
+ EXPECT_TOKEN(Tokens[6], tok::star, TT_PointerOrReference);
+ EXPECT_TOKEN(Tokens[7], tok::r_paren, TT_Unknown); // Not TT_CastRParen
+ EXPECT_TOKEN(Tokens[10], tok::amp, TT_PointerOrReference);
----------------
owenca wrote:
The parameter name (`Tokens[11]`) after the ampersand (`Tokens[10]`). That `tok::identifier` should be annotated as `TT_StartOfName`.
https://github.com/llvm/llvm-project/pull/188860
More information about the cfe-commits
mailing list