https://github.com/bhanuponguru created 
https://github.com/llvm/llvm-project/pull/167146

Created a new style "ReflowCommentsNoStar: true|false", to disable placing a 
star when blocked comments are split.

Fixes #58710

>From 49b5691690ac91de54e6b576597a085ec9efda46 Mon Sep 17 00:00:00 2001
From: bhanuponguru <[email protected]>
Date: Fri, 7 Nov 2025 09:25:46 +0000
Subject: [PATCH 1/3] added a style for reflow comments to not add a star when
 splitting blocked comments.

---
 .clang-format                       |  3 +++
 clang/include/clang/Format/Format.h | 13 +++++++++++++
 clang/lib/Format/BreakableToken.cpp |  2 ++
 clang/lib/Format/Format.cpp         |  1 +
 test.cpp                            |  4 ++++
 5 files changed, 23 insertions(+)
 create mode 100644 test.cpp

diff --git a/.clang-format b/.clang-format
index ecb44bfabd9aa..609dc68c8cd98 100644
--- a/.clang-format
+++ b/.clang-format
@@ -1,2 +1,5 @@
 BasedOnStyle: LLVM
 LineEnding: LF
+ColumnLimit: 80
+ReflowComments: true
+ReflowCommentsNoStar: true
\ No newline at end of file
diff --git a/clang/include/clang/Format/Format.h 
b/clang/include/clang/Format/Format.h
index f246defc1fe81..2167544c0bd98 100644
--- a/clang/include/clang/Format/Format.h
+++ b/clang/include/clang/Format/Format.h
@@ -4240,6 +4240,19 @@ struct FormatStyle {
   /// \version 3.8
   ReflowCommentsStyle ReflowComments;
 
+  /// If reflow comments is enabled, dont include * in the formatted block 
comment.
+    /// \code
+    ///    // veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment with 
plenty of
+    ///    // information
+    ///    /* second veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment 
with plenty of
+    ///     information */
+    ///    /* third veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment 
with plenty of
+    ///     information and a misaligned second line */
+    /// \endcode
+
+  /// \version 22
+  bool ReflowCommentsNoStar;
+
   /// Remove optional braces of control statements (``if``, ``else``, ``for``,
   /// and ``while``) in C++ according to the LLVM coding style.
   /// \warning
diff --git a/clang/lib/Format/BreakableToken.cpp 
b/clang/lib/Format/BreakableToken.cpp
index 994a427517ffc..677aa2026e272 100644
--- a/clang/lib/Format/BreakableToken.cpp
+++ b/clang/lib/Format/BreakableToken.cpp
@@ -506,6 +506,8 @@ BreakableBlockComment::BreakableBlockComment(
   }
 
   Decoration = "* ";
+  if (Style.ReflowCommentsNoStar)
+    Decoration = "";
   if (Lines.size() == 1 && !FirstInLine) {
     // Comments for which FirstInLine is false can start on arbitrary column,
     // and available horizontal space can be too small to align consecutive
diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp
index dd14fcd72922f..f0bfa60fd76b2 100644
--- a/clang/lib/Format/Format.cpp
+++ b/clang/lib/Format/Format.cpp
@@ -1275,6 +1275,7 @@ template <> struct MappingTraits<FormatStyle> {
     IO.mapOptional("RawStringFormats", Style.RawStringFormats);
     IO.mapOptional("ReferenceAlignment", Style.ReferenceAlignment);
     IO.mapOptional("ReflowComments", Style.ReflowComments);
+    IO.mapOptional("ReflowCommentsNoStar", Style.ReflowCommentsNoStar);
     IO.mapOptional("RemoveBracesLLVM", Style.RemoveBracesLLVM);
     IO.mapOptional("RemoveEmptyLinesInUnwrappedLines",
                    Style.RemoveEmptyLinesInUnwrappedLines);
diff --git a/test.cpp b/test.cpp
new file mode 100644
index 0000000000000..cb7262ac27d61
--- /dev/null
+++ b/test.cpp
@@ -0,0 +1,4 @@
+/* erfdfdfdfdfdfd fd fdfd fd fd fd fd fd fd fd fd fd fd fd fd fd fdf df df df 
df df df df df df df df fd f */
+void func()
+{
+}
\ No newline at end of file

>From 923c14ac0ca28b98feedaf13f0c5afca52daa3b2 Mon Sep 17 00:00:00 2001
From: Manojcs47 <[email protected]>
Date: Sat, 8 Nov 2025 20:35:41 +0530
Subject: [PATCH 2/3] Added test cases

---
 clang/test/Format/ReflowCommentsNoStar.cpp         | 2 ++
 clang/test/Format/ReflowCommentsNoStarExpected.cpp | 4 ++++
 clang/test/Format/ReflowCommentsNoStarInput.cpp    | 3 +++
 3 files changed, 9 insertions(+)
 create mode 100644 clang/test/Format/ReflowCommentsNoStar.cpp
 create mode 100644 clang/test/Format/ReflowCommentsNoStarExpected.cpp
 create mode 100644 clang/test/Format/ReflowCommentsNoStarInput.cpp

diff --git a/clang/test/Format/ReflowCommentsNoStar.cpp 
b/clang/test/Format/ReflowCommentsNoStar.cpp
new file mode 100644
index 0000000000000..d1ce8506c818f
--- /dev/null
+++ b/clang/test/Format/ReflowCommentsNoStar.cpp
@@ -0,0 +1,2 @@
+// RUN: clang-format -style="{ColumnLimit: 80, ReflowComments: true, 
ReflowCommentsNoStar: true}" %S/ReflowCommentsNoStarInput.cpp > %t
+// RUN: diff %t %S/ReflowCommentsNoStarExpected.cpp
\ No newline at end of file
diff --git a/clang/test/Format/ReflowCommentsNoStarExpected.cpp 
b/clang/test/Format/ReflowCommentsNoStarExpected.cpp
new file mode 100644
index 0000000000000..35ba5e919f820
--- /dev/null
+++ b/clang/test/Format/ReflowCommentsNoStarExpected.cpp
@@ -0,0 +1,4 @@
+/* erfdfdfdfdfdfd fd fdfd fd fd fd fd fd fd fd fd fd fd fd fd fd fdf df df df 
df
+   df df df df df df df fd f */
+
+void func() {}
diff --git a/clang/test/Format/ReflowCommentsNoStarInput.cpp 
b/clang/test/Format/ReflowCommentsNoStarInput.cpp
new file mode 100644
index 0000000000000..5ec0e32298337
--- /dev/null
+++ b/clang/test/Format/ReflowCommentsNoStarInput.cpp
@@ -0,0 +1,3 @@
+/* erfdfdfdfdfdfd fd fdfd fd fd fd fd fd fd fd fd fd fd fd fd fd fdf df df df 
df df df df df df df df fd f */
+
+void func() {}

>From 0daa7af6bb91e0e3e0f10274ffe7d80b1b5493df Mon Sep 17 00:00:00 2001
From: Manojcs47 <[email protected]>
Date: Sat, 8 Nov 2025 20:40:46 +0530
Subject: [PATCH 3/3] removed test file

---
 test.cpp | 4 ----
 1 file changed, 4 deletions(-)
 delete mode 100644 test.cpp

diff --git a/test.cpp b/test.cpp
deleted file mode 100644
index cb7262ac27d61..0000000000000
--- a/test.cpp
+++ /dev/null
@@ -1,4 +0,0 @@
-/* erfdfdfdfdfdfd fd fdfd fd fd fd fd fd fd fd fd fd fd fd fd fd fdf df df df 
df df df df df df df df fd f */
-void func()
-{
-}
\ No newline at end of file

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to