[PATCH] D130299: [clang-format] FIX: Misannotation 'auto' as trailing return type in lambdas
Denis Fatkulin via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun Jul 24 00:59:20 PDT 2022
denis-fatkulin updated this revision to Diff 447115.
denis-fatkulin added a comment.
Test cases for `auto &` and `auto *` are added
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D130299/new/
https://reviews.llvm.org/D130299
Files:
clang/lib/Format/UnwrappedLineParser.cpp
clang/unittests/Format/TokenAnnotatorTest.cpp
Index: clang/unittests/Format/TokenAnnotatorTest.cpp
===================================================================
--- clang/unittests/Format/TokenAnnotatorTest.cpp
+++ clang/unittests/Format/TokenAnnotatorTest.cpp
@@ -747,6 +747,21 @@
ASSERT_EQ(Tokens.size(), 8u) << Tokens;
EXPECT_TOKEN(Tokens[0], tok::l_square, TT_LambdaLSquare);
EXPECT_TOKEN(Tokens[5], tok::l_brace, TT_LambdaLBrace);
+
+ Tokens = annotate("[]() -> auto {}");
+ ASSERT_EQ(Tokens.size(), 9u) << Tokens;
+ EXPECT_TOKEN(Tokens[4], tok::arrow, TT_LambdaArrow);
+ EXPECT_TOKEN(Tokens[6], tok::l_brace, TT_LambdaLBrace);
+
+ Tokens = annotate("[]() -> auto & {}");
+ ASSERT_EQ(Tokens.size(), 10u) << Tokens;
+ EXPECT_TOKEN(Tokens[4], tok::arrow, TT_LambdaArrow);
+ EXPECT_TOKEN(Tokens[7], tok::l_brace, TT_LambdaLBrace);
+
+ Tokens = annotate("[]() -> auto * {}");
+ ASSERT_EQ(Tokens.size(), 10u) << Tokens;
+ EXPECT_TOKEN(Tokens[4], tok::arrow, TT_LambdaArrow);
+ EXPECT_TOKEN(Tokens[7], tok::l_brace, TT_LambdaLBrace);
}
} // namespace
Index: clang/lib/Format/UnwrappedLineParser.cpp
===================================================================
--- clang/lib/Format/UnwrappedLineParser.cpp
+++ clang/lib/Format/UnwrappedLineParser.cpp
@@ -2108,6 +2108,7 @@
case tok::l_square:
parseSquare();
break;
+ case tok::kw_auto:
case tok::kw_class:
case tok::kw_template:
case tok::kw_typename:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D130299.447115.patch
Type: text/x-patch
Size: 1429 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220724/682335f8/attachment.bin>
More information about the cfe-commits
mailing list