[PATCH] D156228: [clang-format][NFCish] Obey debug settings

Björn Schäpers via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jul 25 04:15:33 PDT 2023


HazardyKnusperkeks created this revision.
HazardyKnusperkeks added a reviewer: klimek.
HazardyKnusperkeks added a project: clang-format.
Herald added projects: All, clang.
Herald added a subscriber: cfe-commits.
Herald added reviewers: rymiel, owenpan, MyDeveloperDay.
HazardyKnusperkeks requested review of this revision.

Otherwise it will print (in a debug build) always.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D156228

Files:
  clang/lib/Format/MacroCallReconstructor.cpp


Index: clang/lib/Format/MacroCallReconstructor.cpp
===================================================================
--- clang/lib/Format/MacroCallReconstructor.cpp
+++ clang/lib/Format/MacroCallReconstructor.cpp
@@ -319,30 +319,31 @@
   assert(Token->MacroCtx &&
          (ActiveExpansions.size() >= Token->MacroCtx->EndOfExpansion));
   for (size_t I = 0; I < Token->MacroCtx->EndOfExpansion; ++I) {
-#ifndef NDEBUG
-    // Check all remaining tokens but the final closing parenthesis and optional
-    // trailing comment were already reconstructed at an inner expansion level.
-    for (auto T = ActiveExpansions.back().SpelledI;
-         T != ActiveExpansions.back().SpelledE; ++T) {
-      FormatToken *Token = T->Tok;
-      bool ClosingParen = (std::next(T) == ActiveExpansions.back().SpelledE ||
-                           std::next(T)->Tok->isTrailingComment()) &&
-                          !Token->MacroCtx && Token->is(tok::r_paren);
-      bool TrailingComment = Token->isTrailingComment();
-      bool PreviousLevel =
-          Token->MacroCtx &&
-          (ActiveExpansions.size() < Token->MacroCtx->ExpandedFrom.size());
-      if (!ClosingParen && !TrailingComment && !PreviousLevel)
-        llvm::dbgs() << "At token: " << Token->TokenText << "\n";
-      // In addition to the following cases, we can also run into this
-      // when a macro call had more arguments than expected; in that case,
-      // the comma and the remaining tokens in the macro call will potentially
-      // end up in the line when we finish the expansion.
-      // FIXME: Add the information which arguments are unused, and assert
-      // one of the cases below plus reconstructed macro argument tokens.
-      // assert(ClosingParen || TrailingComment || PreviousLevel);
-    }
-#endif
+    LLVM_DEBUG([&] {
+      // Check all remaining tokens but the final closing parenthesis and
+      // optional trailing comment were already reconstructed at an inner
+      // expansion level.
+      for (auto T = ActiveExpansions.back().SpelledI;
+           T != ActiveExpansions.back().SpelledE; ++T) {
+        FormatToken *Token = T->Tok;
+        bool ClosingParen = (std::next(T) == ActiveExpansions.back().SpelledE ||
+                             std::next(T)->Tok->isTrailingComment()) &&
+                            !Token->MacroCtx && Token->is(tok::r_paren);
+        bool TrailingComment = Token->isTrailingComment();
+        bool PreviousLevel =
+            Token->MacroCtx &&
+            (ActiveExpansions.size() < Token->MacroCtx->ExpandedFrom.size());
+        if (!ClosingParen && !TrailingComment && !PreviousLevel)
+          llvm::dbgs() << "At token: " << Token->TokenText << "\n";
+        // In addition to the following cases, we can also run into this
+        // when a macro call had more arguments than expected; in that case,
+        // the comma and the remaining tokens in the macro call will
+        // potentially end up in the line when we finish the expansion.
+        // FIXME: Add the information which arguments are unused, and assert
+        // one of the cases below plus reconstructed macro argument tokens.
+        // assert(ClosingParen || TrailingComment || PreviousLevel);
+      }
+    }());
     // Handle the remaining open tokens:
     // - expand the closing parenthesis, if it exists, including an optional
     //   trailing comment


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D156228.543920.patch
Type: text/x-patch
Size: 3399 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230725/5b9ca95d/attachment.bin>


More information about the cfe-commits mailing list