[PATCH] D121069: [clang-format] Minimize the damage caused by AlignArrayOfStructures when working on non square arrays
Owen Pan via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun Mar 6 14:49:02 PST 2022
owenpan added inline comments.
================
Comment at: clang/lib/Format/WhitespaceManager.cpp:1073
+ auto *Start =
+ (Cells.begin() + RowCount * CellDescs.CellCounts[RowCount]);
auto *End = Start + Offset;
----------------
Can we use `CellCounts[0]` instead? The outer parentheses are superfluous. Same in `alignArrayInitializersLeftJustified` below.
================
Comment at: clang/lib/Format/WhitespaceManager.cpp:1118
Changes[CellIter->Index].Spaces = CellDescs.InitialSpaces;
++CellIter;
+ for (auto i = 1U; i < CellDescs.CellCounts[0]; i++, ++CellIter) {
----------------
MyDeveloperDay wrote:
> I don't understand in Left alignment why we ignore the first cell, but in right alignment, we don't!
Because the first cell is already left-aligned by default?
================
Comment at: clang/lib/Format/WhitespaceManager.h:204
+ // has the same number of columns.
+ bool HasEqualRowLengths() const {
+ if (CellCounts.empty())
----------------
My top choice by far is `isRectangular`.
================
Comment at: clang/lib/Format/WhitespaceManager.h:211
+ return false;
+ }
+ return true;
----------------
We can omit the braces here.
================
Comment at: clang/lib/Format/WhitespaceManager.h:318
Next = Next->NextColumnElement) {
+ if (RowCount > MaxRowCount) {
+ break;
----------------
curdeius wrote:
> You can elide braces. Personally I use RemoveBraces locally.
Why do we need this check? Is it because `CellStop` might not be null terminated? Or is it because `CellCount` may be zero? If the latter, we can check `CellCount` before the loop instead of this check in the loop.
================
Comment at: clang/unittests/Format/FormatTest.cpp:25316
+ " {6, 7, 8}\n"
+ "};\n",
+ Style);
----------------
Please remove `\n` here and in other places below when it's the last line of a test case.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D121069/new/
https://reviews.llvm.org/D121069
More information about the cfe-commits
mailing list