Skip to content

Commit

Permalink
[clang-format][NFCish] Obey debug settings
Browse files Browse the repository at this point in the history
Differential Revision: https://reviews.llvm.org/D156228
  • Loading branch information
HazardyKnusperkeks committed Aug 2, 2023
1 parent 77a38f4 commit 2c3b12b
Showing 1 changed file with 25 additions and 24 deletions.
49 changes: 25 additions & 24 deletions clang/lib/Format/MacroCallReconstructor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -319,30 +319,31 @@ void MacroCallReconstructor::endReconstruction(FormatToken *Token) {
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
Expand Down

0 comments on commit 2c3b12b

Please sign in to comment.