https://github.com/ilya-biryukov created https://github.com/llvm/llvm-project/pull/169037
Change is originally authored by Daniel Jasper, who asked me to send this PR upstream. >From 4517952f9b8f403c1e9bf1c99e3c7d0e2edcb9f1 Mon Sep 17 00:00:00 2001 From: Ilya Biryukov <[email protected]> Date: Fri, 21 Nov 2025 14:15:05 +0100 Subject: [PATCH] [Format] Configure ASSIGN_OR_RETURN macros for Google style Change is originally authored by Daniel Jasper, who asked me to send this PR upstream. --- clang/lib/Format/Format.cpp | 4 ++++ clang/unittests/Format/ConfigParseTest.cpp | 1 + clang/unittests/Format/FormatTestMacroExpansion.cpp | 8 ++++++++ 3 files changed, 13 insertions(+) diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index 9bbb33cb14502..20ea81cf429cc 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -1961,6 +1961,10 @@ FormatStyle getGoogleStyle(FormatStyle::LanguageKind Language) { GoogleStyle.PenaltyBreakBeforeFirstCallParameter = 1; GoogleStyle.PenaltyReturnTypeOnItsOwnLine = 200; + GoogleStyle.Macros.push_back("ASSIGN_OR_RETURN(a, b)=a = (b)"); + GoogleStyle.Macros.push_back( + "ASSIGN_OR_RETURN(a, b, c)=a = (b); if (x) return c"); + if (Language == FormatStyle::LK_Java) { GoogleStyle.AlignAfterOpenBracket = false; GoogleStyle.AlignOperands = FormatStyle::OAS_DontAlign; diff --git a/clang/unittests/Format/ConfigParseTest.cpp b/clang/unittests/Format/ConfigParseTest.cpp index d578fa7a1a1e8..1e1621d8422e9 100644 --- a/clang/unittests/Format/ConfigParseTest.cpp +++ b/clang/unittests/Format/ConfigParseTest.cpp @@ -967,6 +967,7 @@ TEST(ConfigParseTest, ParsesConfiguration) { std::vector<std::string>({"QUNUSED", "QT_REQUIRE_VERSION"})); CHECK_PARSE_LIST(JavaImportGroups); + Style.Macros.clear(); CHECK_PARSE_LIST(Macros); CHECK_PARSE_LIST(MacrosSkippedByRemoveParentheses); CHECK_PARSE_LIST(NamespaceMacros); diff --git a/clang/unittests/Format/FormatTestMacroExpansion.cpp b/clang/unittests/Format/FormatTestMacroExpansion.cpp index d391fe3d715c3..0b15f21be0ddf 100644 --- a/clang/unittests/Format/FormatTestMacroExpansion.cpp +++ b/clang/unittests/Format/FormatTestMacroExpansion.cpp @@ -63,6 +63,14 @@ TEST_F(FormatTestMacroExpansion, UnexpandConfiguredMacros) { "ReturnMe());", Style); + verifyFormat("void f() {\n" + " ASSIGN_OR_RETURN(MySomewhatLongType* variable,\n" + " MySomewhatLongFunction(SomethingElse()));\n" + " ASSIGN_OR_RETURN(MySomewhatLongType* variable,\n" + " MySomewhatLongFunction(SomethingElse()), " + "ReturnMe());", + getGoogleStyle()); + verifyFormat(R"( #define MACRO(a, b) ID(a + b) )", _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
