llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-format Author: Owen Pan (owenca) <details> <summary>Changes</summary> Fixes #<!-- -->92657. --- Full diff: https://github.com/llvm/llvm-project/pull/94119.diff 2 Files Affected: - (modified) clang/lib/Format/UnwrappedLineParser.cpp (+1-1) - (modified) clang/unittests/Format/FormatTest.cpp (+1) ``````````diff diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp index 5c0ff0f6132b2..053fd3d4df559 100644 --- a/clang/lib/Format/UnwrappedLineParser.cpp +++ b/clang/lib/Format/UnwrappedLineParser.cpp @@ -2236,7 +2236,7 @@ bool UnwrappedLineParser::tryToParseLambda() { bool InTemplateParameterList = false; while (FormatTok->isNot(tok::l_brace)) { - if (FormatTok->isTypeName(LangOpts)) { + if (FormatTok->isTypeName(LangOpts) || FormatTok->isAttribute()) { nextToken(); continue; } diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 59f1ff6a4b296..6057d5b724bf9 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -22664,6 +22664,7 @@ TEST_F(FormatTest, FormatsLambdas) { verifyFormat("SomeFunction({[]() -> int *[] { return {}; }});"); verifyFormat("SomeFunction({[]() -> int (*)[] { return {}; }});"); verifyFormat("SomeFunction({[]() -> ns::type<int (*)[]> { return {}; }});"); + verifyFormat("foo([&](u32 bar) __attribute__((always_inline)) -> void {});"); verifyFormat("return int{[x = x]() { return x; }()};"); // Lambdas with explicit template argument lists. `````````` </details> https://github.com/llvm/llvm-project/pull/94119 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits