Skip to content

Conversation

owenca
Copy link
Contributor

@owenca owenca commented May 2, 2025

Fix #138124

@llvmbot
Copy link
Member

llvmbot commented May 2, 2025

@llvm/pr-subscribers-clang-format

Author: Owen Pan (owenca)

Changes

Fix #138124


Full diff: https://github.com/llvm/llvm-project/pull/138229.diff

2 Files Affected:

  • (modified) clang/lib/Format/UnwrappedLineParser.cpp (+2-1)
  • (modified) clang/unittests/Format/FormatTest.cpp (+2)
diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp
index 837146f0c6483..b67634c7f8ee0 100644
--- a/clang/lib/Format/UnwrappedLineParser.cpp
+++ b/clang/lib/Format/UnwrappedLineParser.cpp
@@ -2599,7 +2599,8 @@ bool UnwrappedLineParser::parseParens(TokenType AmpAmpTokenType) {
       if (Prev) {
         auto OptionalParens = [&] {
           if (MightBeStmtExpr || MightBeFoldExpr || Line->InMacroBody ||
-              SeenComma || Style.RemoveParentheses == FormatStyle::RPS_Leave) {
+              SeenComma || Style.RemoveParentheses == FormatStyle::RPS_Leave ||
+              RParen->getPreviousNonComment() == LParen) {
             return false;
           }
           const bool DoubleParens =
diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp
index c4fcc5506d152..049df57ab5725 100644
--- a/clang/unittests/Format/FormatTest.cpp
+++ b/clang/unittests/Format/FormatTest.cpp
@@ -28453,6 +28453,8 @@ TEST_F(FormatTest, RemoveParentheses) {
   verifyFormat("return ((... && std::is_convertible_v<TArgsLocal, TArgs>));",
                "return (((... && std::is_convertible_v<TArgsLocal, TArgs>)));",
                Style);
+  verifyFormat("MOCK_METHOD(void, Function, (), override);",
+               "MOCK_METHOD(void, Function, (), (override));", Style);
 
   Style.RemoveParentheses = FormatStyle::RPS_ReturnStatement;
   verifyFormat("#define Return0 return (0);", Style);

@owenca owenca merged commit d3506ee into llvm:main May 3, 2025
13 checks passed
@owenca owenca deleted the 138124 branch May 3, 2025 02:19
@llvm llvm deleted a comment from llvm-ci May 3, 2025
@llvm llvm deleted a comment from llvm-ci May 3, 2025
@owenca owenca added this to the LLVM 20.X Release milestone May 3, 2025
@github-project-automation github-project-automation bot moved this to Needs Triage in LLVM Release Status May 3, 2025
@owenca owenca modified the milestone: LLVM 20.X Release May 3, 2025
owenca added a commit to owenca/llvm-project that referenced this pull request May 3, 2025
@owenca owenca removed this from the LLVM 20.X Release milestone May 3, 2025
IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request May 6, 2025
GeorgeARM pushed a commit to GeorgeARM/llvm-project that referenced this pull request May 7, 2025
swift-ci pushed a commit to swiftlang/llvm-project that referenced this pull request May 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Needs Triage
Development

Successfully merging this pull request may close these issues.

[clang-format] RemoveParentheses option removes necessary parentheses of Google Mock macro
3 participants