[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