diff options
author | Owen Pan <owenpiano@gmail.com> | 2025-04-22 21:07:31 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-22 21:07:31 -0700 |
commit | 4f71655b64a815143d2aedb22b8f423f7ce99e29 (patch) | |
tree | 123abc2be40f9092d0f30b254e5963bbd42f5c4f /clang/unittests/Format/TokenAnnotatorTest.cpp | |
parent | 122e5151ba84560de824d46f7b636502d41f2aa0 (diff) | |
download | llvm-4f71655b64a815143d2aedb22b8f423f7ce99e29.zip llvm-4f71655b64a815143d2aedb22b8f423f7ce99e29.tar.gz llvm-4f71655b64a815143d2aedb22b8f423f7ce99e29.tar.bz2 |
[clang-format] Fix a bug in parsing C-style cast of lambdas (#136099)
Fix #135959
Diffstat (limited to 'clang/unittests/Format/TokenAnnotatorTest.cpp')
-rw-r--r-- | clang/unittests/Format/TokenAnnotatorTest.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/unittests/Format/TokenAnnotatorTest.cpp b/clang/unittests/Format/TokenAnnotatorTest.cpp index a6410f3..73858e8 100644 --- a/clang/unittests/Format/TokenAnnotatorTest.cpp +++ b/clang/unittests/Format/TokenAnnotatorTest.cpp @@ -2165,6 +2165,16 @@ TEST_F(TokenAnnotatorTest, UnderstandsLambdas) { // FIXME: // EXPECT_TOKEN(Tokens[13], tok::l_paren, TT_LambdaDefinitionLParen); EXPECT_TOKEN(Tokens[17], tok::l_brace, TT_LambdaLBrace); + + Tokens = annotate("auto foo{(std::function<int()>)[] { return 0; }};"); + ASSERT_EQ(Tokens.size(), 23u) << Tokens; + EXPECT_TOKEN(Tokens[13], tok::l_square, TT_LambdaLSquare); + EXPECT_TOKEN(Tokens[15], tok::l_brace, TT_LambdaLBrace); + + Tokens = annotate("auto foo{(int (*)())[] { return 0; }};"); + ASSERT_EQ(Tokens.size(), 21u) << Tokens; + EXPECT_TOKEN(Tokens[11], tok::l_square, TT_LambdaLSquare); + EXPECT_TOKEN(Tokens[13], tok::l_brace, TT_LambdaLBrace); } TEST_F(TokenAnnotatorTest, UnderstandsFunctionAnnotations) { |