[clang] [clang-format] Add SpaceInParensOption for __attribute__ keyword (PR #77522)

via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 11 12:47:32 PST 2024


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff 75efddba0f507282df479a6e296d67fd88aed489 79b4c34eba3a96d869cf4bfc0f0d2ff358bf1b42 -- clang/include/clang/Format/Format.h clang/lib/Format/Format.cpp clang/lib/Format/TokenAnnotator.cpp clang/unittests/Format/ConfigParseTest.cpp clang/unittests/Format/FormatTest.cpp clang/unittests/Format/FormatTestVerilog.cpp
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/clang/include/clang/Format/Format.h b/clang/include/clang/Format/Format.h
index 2a6ec4a2e0..1dbae49ae5 100644
--- a/clang/include/clang/Format/Format.h
+++ b/clang/include/clang/Format/Format.h
@@ -4623,16 +4623,15 @@ struct FormatStyle {
     ///   Never:
     ///   t f(Deleted &) & = delete;
     ///   decltype((x))
-    ///   x = ((int32))y 
+    ///   x = ((int32))y
     ///   y = ((int (*)(int))foo)(x);
     /// \endcode
     SpacesInParensCustomStyle Other;
 
     SpacesInParensCustom()
         : InAttributeSpecifiers(SIPCS_Never),
-          InConditionalStatements(SIPCS_Never),
-          InCStyleCasts(SIPCS_Never), InEmptyParentheses(false),
-          Other(SIPCS_Never) {}
+          InConditionalStatements(SIPCS_Never), InCStyleCasts(SIPCS_Never),
+          InEmptyParentheses(false), Other(SIPCS_Never) {}
 
     SpacesInParensCustom(SpacesInParensCustomStyle InAttributeSpecifiers,
                          SpacesInParensCustomStyle InConditionalStatements,
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp
index 6eddebea4e..fc924912ec 100644
--- a/clang/lib/Format/TokenAnnotator.cpp
+++ b/clang/lib/Format/TokenAnnotator.cpp
@@ -3549,7 +3549,9 @@ void TokenAnnotator::calculateFormattingInformation(AnnotatedLine &Line) const {
     const FormatToken *Prev = Current->Previous;
     if (Current->is(TT_LineComment)) {
       if (Prev->is(BK_BracedInit) && Prev->opensScope()) {
-        Current->SpacesRequiredBefore = (Style.Cpp11BracedListStyle && Style.SpacesInParensOptions.Other ==            FormatStyle::SIPCS_Never)
+        Current->SpacesRequiredBefore =
+            (Style.Cpp11BracedListStyle &&
+             Style.SpacesInParensOptions.Other == FormatStyle::SIPCS_Never)
                 ? 0
                 : 1;
       } else if (Prev->is(TT_VerilogMultiLineListLParen)) {
@@ -3967,8 +3969,9 @@ bool TokenAnnotator::spaceRequiredBetween(const AnnotatedLine &Line,
        Right.is(tok::r_brace) && Right.isNot(BK_Block))) {
     return Style.SpacesInParensOptions.InEmptyParentheses;
   }
-  if (Style.SpacesInParensOptions.InConditionalStatements != FormatStyle::SIPCS_Never) {
-  // TODO: check consecutive parens
+  if (Style.SpacesInParensOptions.InConditionalStatements !=
+      FormatStyle::SIPCS_Never) {
+    // TODO: check consecutive parens
     const FormatToken *LeftParen = nullptr;
     if (Left.is(tok::l_paren))
       LeftParen = &Left;
@@ -4245,8 +4248,8 @@ bool TokenAnnotator::spaceRequiredBetween(const AnnotatedLine &Line,
   if ((Left.is(tok::l_brace) && Left.isNot(BK_Block)) ||
       (Right.is(tok::r_brace) && Right.MatchingParen &&
        Right.MatchingParen->isNot(BK_Block))) {
-    return !Style.Cpp11BracedListStyle || (Style.SpacesInParensOptions.Other !=
-                                           FormatStyle::SIPCS_Never);
+    return !Style.Cpp11BracedListStyle ||
+           (Style.SpacesInParensOptions.Other != FormatStyle::SIPCS_Never);
   }
   if (Left.is(TT_BlockComment)) {
     // No whitespace in x(/*foo=*/1), except for JavaScript.
@@ -4932,8 +4935,8 @@ bool TokenAnnotator::spaceRequiredBefore(const AnnotatedLine &Line,
            !(Left.isOneOf(tok::l_paren, tok::r_paren, tok::l_square,
                           tok::kw___super, TT_TemplateOpener,
                           TT_TemplateCloser)) ||
-           (Left.is(tok::l_paren) && Style.SpacesInParensOptions.Other !=
-                                     FormatStyle::SIPCS_Always);
+           (Left.is(tok::l_paren) &&
+            Style.SpacesInParensOptions.Other != FormatStyle::SIPCS_Always);
   }
   if ((Left.is(TT_TemplateOpener)) != (Right.is(TT_TemplateCloser)))
     return ShouldAddSpacesInAngles();
diff --git a/clang/unittests/Format/ConfigParseTest.cpp b/clang/unittests/Format/ConfigParseTest.cpp
index f9720663a6..8e114b9577 100644
--- a/clang/unittests/Format/ConfigParseTest.cpp
+++ b/clang/unittests/Format/ConfigParseTest.cpp
@@ -654,27 +654,27 @@ TEST(ConfigParseTest, ParsesConfiguration) {
   Style.SpacesInParens = FormatStyle::SIPO_Never;
   Style.SpacesInParensOptions = {};
   CHECK_PARSE("SpacesInParentheses: true", SpacesInParensOptions,
-              FormatStyle::SpacesInParensCustom(FormatStyle::SIPCS_Always,
-              FormatStyle::SIPCS_Always, FormatStyle::SIPCS_Never, false,
-              FormatStyle::SIPCS_Always));
+              FormatStyle::SpacesInParensCustom(
+                  FormatStyle::SIPCS_Always, FormatStyle::SIPCS_Always,
+                  FormatStyle::SIPCS_Never, false, FormatStyle::SIPCS_Always));
   Style.SpacesInParens = FormatStyle::SIPO_Never;
   Style.SpacesInParensOptions = {};
   CHECK_PARSE("SpacesInConditionalStatement: true", SpacesInParensOptions,
-              FormatStyle::SpacesInParensCustom(FormatStyle::SIPCS_Never,
-              FormatStyle::SIPCS_Always, FormatStyle::SIPCS_Never, false,
-              FormatStyle::SIPCS_Never));
+              FormatStyle::SpacesInParensCustom(
+                  FormatStyle::SIPCS_Never, FormatStyle::SIPCS_Always,
+                  FormatStyle::SIPCS_Never, false, FormatStyle::SIPCS_Never));
   Style.SpacesInParens = FormatStyle::SIPO_Never;
   Style.SpacesInParensOptions = {};
   CHECK_PARSE("SpacesInCStyleCastParentheses: true", SpacesInParensOptions,
-              FormatStyle::SpacesInParensCustom(FormatStyle::SIPCS_Never,
-              FormatStyle::SIPCS_Never, FormatStyle::SIPCS_Always, false,
-              FormatStyle::SIPCS_Never));
+              FormatStyle::SpacesInParensCustom(
+                  FormatStyle::SIPCS_Never, FormatStyle::SIPCS_Never,
+                  FormatStyle::SIPCS_Always, false, FormatStyle::SIPCS_Never));
   Style.SpacesInParens = FormatStyle::SIPO_Never;
   Style.SpacesInParensOptions = {};
   CHECK_PARSE("SpaceInEmptyParentheses: true", SpacesInParensOptions,
-              FormatStyle::SpacesInParensCustom(FormatStyle::SIPCS_Never,
-              FormatStyle::SIPCS_Never, FormatStyle::SIPCS_Never, true,
-              FormatStyle::SIPCS_Never));
+              FormatStyle::SpacesInParensCustom(
+                  FormatStyle::SIPCS_Never, FormatStyle::SIPCS_Never,
+                  FormatStyle::SIPCS_Never, true, FormatStyle::SIPCS_Never));
   Style.SpacesInParens = FormatStyle::SIPO_Never;
   Style.SpacesInParensOptions = {};
 
diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp
index 208be4746c..002862bc3b 100644
--- a/clang/unittests/Format/FormatTest.cpp
+++ b/clang/unittests/Format/FormatTest.cpp
@@ -16907,7 +16907,7 @@ TEST_F(FormatTest, ConfigurableSpacesInParens) {
       FormatStyle::SIPCS_NonConsecutive;
   verifyFormat("SomeType *__attribute__(( attr )) *a = NULL;", Spaces);
   verifyFormat("void __attribute__(( naked )) foo(int bar)", Spaces);
-  verifyFormat("void f( ) __attribute__(( asdf ));", Spaces); 
+  verifyFormat("void f( ) __attribute__(( asdf ));", Spaces);
   Spaces.SpacesInParensOptions.InAttributeSpecifiers = FormatStyle::SIPCS_Never;
 
   // Run the first set of tests again with:

``````````

</details>


https://github.com/llvm/llvm-project/pull/77522


More information about the cfe-commits mailing list