https://github.com/owenca updated https://github.com/llvm/llvm-project/pull/111285
>From b1bcd59b45230dd3b82c09ae0a32ce45f2ff9bdc Mon Sep 17 00:00:00 2001 From: Owen Pan <owenpi...@gmail.com> Date: Sun, 6 Oct 2024 02:27:59 -0700 Subject: [PATCH] [clang-format][NFC] Clean up AlignConsecutiveStyle --- clang/docs/ClangFormatStyleOptions.rst | 79 ++++++++++++---------- clang/include/clang/Format/Format.h | 13 ++-- clang/lib/Format/Format.cpp | 17 +---- clang/unittests/Format/ConfigParseTest.cpp | 23 +++---- 4 files changed, 63 insertions(+), 69 deletions(-) diff --git a/clang/docs/ClangFormatStyleOptions.rst b/clang/docs/ClangFormatStyleOptions.rst index a16edb0989b05c..27c3e12087dd26 100644 --- a/clang/docs/ClangFormatStyleOptions.rst +++ b/clang/docs/ClangFormatStyleOptions.rst @@ -249,7 +249,7 @@ the configuration (without a prefix: ``Auto``). .. _AlignArrayOfStructures: **AlignArrayOfStructures** (``ArrayInitializerAlignmentStyle``) :versionbadge:`clang-format 13` :ref:`ΒΆ <AlignArrayOfStructures>` - if not ``None``, when using initialization for an array of structs + If not ``None``, when using initialization for an array of structs aligns the fields into columns. @@ -307,11 +307,12 @@ the configuration (without a prefix: ``Auto``). Alignment options. They can also be read as a whole for compatibility. The choices are: - - None - - Consecutive - - AcrossEmptyLines - - AcrossComments - - AcrossEmptyLinesAndComments + + * ``None`` + * ``Consecutive`` + * ``AcrossEmptyLines`` + * ``AcrossComments`` + * ``AcrossEmptyLinesAndComments`` For example, to align across empty lines and not across comments, either of these work. @@ -449,11 +450,12 @@ the configuration (without a prefix: ``Auto``). Alignment options. They can also be read as a whole for compatibility. The choices are: - - None - - Consecutive - - AcrossEmptyLines - - AcrossComments - - AcrossEmptyLinesAndComments + + * ``None`` + * ``Consecutive`` + * ``AcrossEmptyLines`` + * ``AcrossComments`` + * ``AcrossEmptyLinesAndComments`` For example, to align across empty lines and not across comments, either of these work. @@ -591,11 +593,12 @@ the configuration (without a prefix: ``Auto``). Alignment options. They can also be read as a whole for compatibility. The choices are: - - None - - Consecutive - - AcrossEmptyLines - - AcrossComments - - AcrossEmptyLinesAndComments + + * ``None`` + * ``Consecutive`` + * ``AcrossEmptyLines`` + * ``AcrossComments`` + * ``AcrossEmptyLinesAndComments`` For example, to align across empty lines and not across comments, either of these work. @@ -734,11 +737,12 @@ the configuration (without a prefix: ``Auto``). Alignment options. They can also be read as a whole for compatibility. The choices are: - - None - - Consecutive - - AcrossEmptyLines - - AcrossComments - - AcrossEmptyLinesAndComments + + * ``None`` + * ``Consecutive`` + * ``AcrossEmptyLines`` + * ``AcrossComments`` + * ``AcrossEmptyLinesAndComments`` For example, to align across empty lines and not across comments, either of these work. @@ -996,11 +1000,12 @@ the configuration (without a prefix: ``Auto``). Alignment options. They can also be read as a whole for compatibility. The choices are: - - None - - Consecutive - - AcrossEmptyLines - - AcrossComments - - AcrossEmptyLinesAndComments + + * ``None`` + * ``Consecutive`` + * ``AcrossEmptyLines`` + * ``AcrossComments`` + * ``AcrossEmptyLinesAndComments`` For example, to align across empty lines and not across comments, either of these work. @@ -1136,11 +1141,12 @@ the configuration (without a prefix: ``Auto``). Alignment options. They can also be read as a whole for compatibility. The choices are: - - None - - Consecutive - - AcrossEmptyLines - - AcrossComments - - AcrossEmptyLinesAndComments + + * ``None`` + * ``Consecutive`` + * ``AcrossEmptyLines`` + * ``AcrossComments`` + * ``AcrossEmptyLinesAndComments`` For example, to align across empty lines and not across comments, either of these work. @@ -1276,11 +1282,12 @@ the configuration (without a prefix: ``Auto``). Alignment options. They can also be read as a whole for compatibility. The choices are: - - None - - Consecutive - - AcrossEmptyLines - - AcrossComments - - AcrossEmptyLinesAndComments + + * ``None`` + * ``Consecutive`` + * ``AcrossEmptyLines`` + * ``AcrossComments`` + * ``AcrossEmptyLinesAndComments`` For example, to align across empty lines and not across comments, either of these work. diff --git a/clang/include/clang/Format/Format.h b/clang/include/clang/Format/Format.h index 53a9577e0f72e7..7070720fa66ccb 100644 --- a/clang/include/clang/Format/Format.h +++ b/clang/include/clang/Format/Format.h @@ -131,7 +131,7 @@ struct FormatStyle { /// Don't align array initializer columns. AIAS_None }; - /// if not ``None``, when using initialization for an array of structs + /// If not ``None``, when using initialization for an array of structs /// aligns the fields into columns. /// /// \note @@ -145,11 +145,12 @@ struct FormatStyle { /// Alignment options. /// /// They can also be read as a whole for compatibility. The choices are: - /// - None - /// - Consecutive - /// - AcrossEmptyLines - /// - AcrossComments - /// - AcrossEmptyLinesAndComments + /// + /// * ``None`` + /// * ``Consecutive`` + /// * ``AcrossEmptyLines`` + /// * ``AcrossComments`` + /// * ``AcrossEmptyLinesAndComments`` /// /// For example, to align across empty lines and not across comments, either /// of these work. diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index 5350c66ea5132b..432110de85c85d 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -44,11 +44,7 @@ struct ScalarEnumerationTraits<FormatStyle::BreakBeforeNoexceptSpecifierStyle> { template <> struct MappingTraits<FormatStyle::AlignConsecutiveStyle> { static void enumInput(IO &IO, FormatStyle::AlignConsecutiveStyle &Value) { - IO.enumCase(Value, "None", - FormatStyle::AlignConsecutiveStyle( - {/*Enabled=*/false, /*AcrossEmptyLines=*/false, - /*AcrossComments=*/false, /*AlignCompound=*/false, - /*AlignFunctionPointers=*/false, /*PadOperators=*/true})); + IO.enumCase(Value, "None", FormatStyle::AlignConsecutiveStyle({})); IO.enumCase(Value, "Consecutive", FormatStyle::AlignConsecutiveStyle( {/*Enabled=*/true, /*AcrossEmptyLines=*/false, @@ -76,11 +72,7 @@ template <> struct MappingTraits<FormatStyle::AlignConsecutiveStyle> { {/*Enabled=*/true, /*AcrossEmptyLines=*/false, /*AcrossComments=*/false, /*AlignCompound=*/false, /*AlignFunctionPointers=*/false, /*PadOperators=*/true})); - IO.enumCase(Value, "false", - FormatStyle::AlignConsecutiveStyle( - {/*Enabled=*/false, /*AcrossEmptyLines=*/false, - /*AcrossComments=*/false, /*AlignCompound=*/false, - /*AlignFunctionPointers=*/false, /*PadOperators=*/true})); + IO.enumCase(Value, "false", FormatStyle::AlignConsecutiveStyle({})); } static void mapping(IO &IO, FormatStyle::AlignConsecutiveStyle &Value) { @@ -1441,11 +1433,6 @@ FormatStyle getLLVMStyle(FormatStyle::LanguageKind Language) { LLVMStyle.AlignAfterOpenBracket = FormatStyle::BAS_Align; LLVMStyle.AlignArrayOfStructures = FormatStyle::AIAS_None; LLVMStyle.AlignConsecutiveAssignments = {}; - LLVMStyle.AlignConsecutiveAssignments.AcrossComments = false; - LLVMStyle.AlignConsecutiveAssignments.AcrossEmptyLines = false; - LLVMStyle.AlignConsecutiveAssignments.AlignCompound = false; - LLVMStyle.AlignConsecutiveAssignments.AlignFunctionPointers = false; - LLVMStyle.AlignConsecutiveAssignments.Enabled = false; LLVMStyle.AlignConsecutiveAssignments.PadOperators = true; LLVMStyle.AlignConsecutiveBitFields = {}; LLVMStyle.AlignConsecutiveDeclarations = {}; diff --git a/clang/unittests/Format/ConfigParseTest.cpp b/clang/unittests/Format/ConfigParseTest.cpp index b8bdfaaa74e10e..b39ec7ddc06729 100644 --- a/clang/unittests/Format/ConfigParseTest.cpp +++ b/clang/unittests/Format/ConfigParseTest.cpp @@ -300,12 +300,8 @@ TEST(ConfigParseTest, ParsesConfiguration) { #define CHECK_ALIGN_CONSECUTIVE(FIELD) \ do { \ Style.FIELD.Enabled = true; \ - CHECK_PARSE( \ - #FIELD ": None", FIELD, \ - FormatStyle::AlignConsecutiveStyle( \ - {/*Enabled=*/false, /*AcrossEmptyLines=*/false, \ - /*AcrossComments=*/false, /*AlignCompound=*/false, \ - /*AlignFunctionPointers=*/false, /*PadOperators=*/true})); \ + CHECK_PARSE(#FIELD ": None", FIELD, \ + FormatStyle::AlignConsecutiveStyle({})); \ CHECK_PARSE( \ #FIELD ": Consecutive", FIELD, \ FormatStyle::AlignConsecutiveStyle( \ @@ -319,18 +315,20 @@ TEST(ConfigParseTest, ParsesConfiguration) { /*AcrossComments=*/false, /*AlignCompound=*/false, \ /*AlignFunctionPointers=*/false, /*PadOperators=*/true})); \ CHECK_PARSE( \ - #FIELD ": AcrossEmptyLinesAndComments", FIELD, \ + #FIELD ": AcrossComments", FIELD, \ FormatStyle::AlignConsecutiveStyle( \ - {/*Enabled=*/true, /*AcrossEmptyLines=*/true, \ + {/*Enabled=*/true, /*AcrossEmptyLines=*/false, \ /*AcrossComments=*/true, /*AlignCompound=*/false, \ /*AlignFunctionPointers=*/false, /*PadOperators=*/true})); \ - /* For backwards compability, false / true should still parse */ \ CHECK_PARSE( \ - #FIELD ": false", FIELD, \ + #FIELD ": AcrossEmptyLinesAndComments", FIELD, \ FormatStyle::AlignConsecutiveStyle( \ - {/*Enabled=*/false, /*AcrossEmptyLines=*/false, \ - /*AcrossComments=*/false, /*AlignCompound=*/false, \ + {/*Enabled=*/true, /*AcrossEmptyLines=*/true, \ + /*AcrossComments=*/true, /*AlignCompound=*/false, \ /*AlignFunctionPointers=*/false, /*PadOperators=*/true})); \ + /* For backwards compability, false / true should still parse */ \ + CHECK_PARSE(#FIELD ": false", FIELD, \ + FormatStyle::AlignConsecutiveStyle({})); \ CHECK_PARSE( \ #FIELD ": true", FIELD, \ FormatStyle::AlignConsecutiveStyle( \ @@ -342,6 +340,7 @@ TEST(ConfigParseTest, ParsesConfiguration) { CHECK_PARSE_NESTED_BOOL(FIELD, AcrossEmptyLines); \ CHECK_PARSE_NESTED_BOOL(FIELD, AcrossComments); \ CHECK_PARSE_NESTED_BOOL(FIELD, AlignCompound); \ + CHECK_PARSE_NESTED_BOOL(FIELD, AlignFunctionPointers); \ CHECK_PARSE_NESTED_BOOL(FIELD, PadOperators); \ } while (false) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits