HazardyKnusperkeks added inline comments.
================
Comment at: clang/include/clang/Format/Format.h:380
+ }
+ bool operator!=(const ShortCaseStatementsAlignmentStyle &R) const {
+ return !(*this == R);
----------------
I'd drop that. We don't have it for any other struct.
And with C++20 you don't need this anymore (although I don't know when llvm
will switch to c++20).
================
Comment at: clang/lib/Format/WhitespaceManager.cpp:108
alignConsecutiveAssignments();
+ alignConsecutiveShortCaseStatements();
alignChainedConditionals();
----------------
galenelias wrote:
> HazardyKnusperkeks wrote:
> > Is this the right position?
> > Could you add a test with aligning assignments and case statements?
> >
> > ```
> > case XX: xx = 2; break;
> > case X: x = 1; break;
> > ```
> > It should end up as
> > ```
> > case XX: xx = 2; break;
> > case X: x = 1; break;
> > ```
> Great point, I hadn't actually really fully considered the ordering
> dependency here. I agree that aligning short case statements before
> assignments (and probably declarations?) seems more correct. However, these
> other alignConsecutive* methods don't actually align across scopes, so won't
> align declarations/assignments within the body of a case statement. I
> verified that these don't align today using AlignConsecutiveAssignments. I
> will however move this up to try to make it as logically correct as possible.
Too bad, that would really be nice. :)
But certainly out of scope for this change.
================
Comment at: clang/unittests/Format/ConfigParseTest.cpp:321
CHECK_ALIGN_CONSECUTIVE(AlignConsecutiveDeclarations);
+ CHECK_ALIGN_CONSECUTIVE(AlignConsecutiveShortCaseStatements);
----------------
You now have to write your own checks for the parsing. (It's just copy & paste.)
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D151761/new/
https://reviews.llvm.org/D151761
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits