================
@@ -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
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits