https://github.com/Sirraide updated https://github.com/llvm/llvm-project/pull/123493
>From 6475c9dfc20901c03d4120b745fa6076502510f5 Mon Sep 17 00:00:00 2001 From: Sirraide <aeternalm...@gmail.com> Date: Sun, 19 Jan 2025 03:35:09 +0100 Subject: [PATCH 1/2] [clang-format] Rename ExportBlockIndentation -> IndentExportBlock --- clang/docs/ClangFormatStyleOptions.rst | 30 +++++++++++----------- clang/docs/ReleaseNotes.rst | 2 +- clang/include/clang/Format/Format.h | 4 +-- clang/lib/Format/Format.cpp | 4 +-- clang/lib/Format/UnwrappedLineParser.cpp | 3 +-- clang/unittests/Format/ConfigParseTest.cpp | 1 + clang/unittests/Format/FormatTest.cpp | 8 +++--- 7 files changed, 26 insertions(+), 26 deletions(-) diff --git a/clang/docs/ClangFormatStyleOptions.rst b/clang/docs/ClangFormatStyleOptions.rst index 511a967f66d10a..30a2325949f48a 100644 --- a/clang/docs/ClangFormatStyleOptions.rst +++ b/clang/docs/ClangFormatStyleOptions.rst @@ -3946,21 +3946,6 @@ the configuration (without a prefix: ``Auto``). This is an experimental flag, that might go away or be renamed. Do not use this in config files, etc. Use at your own risk. -.. _ExportBlockIndentation: - -**ExportBlockIndentation** (``Boolean``) :versionbadge:`clang-format 20` :ref:`¶ <ExportBlockIndentation>` - If ``true``, clang-format will indent the body of an ``export { ... }`` - block. This doesn't affect the formatting of anything else related to - exported declarations. - - .. code-block:: c++ - - true: false: - export { vs. export { - void foo(); void foo(); - void bar(); void bar(); - } } - .. _FixNamespaceComments: **FixNamespaceComments** (``Boolean``) :versionbadge:`clang-format 5` :ref:`¶ <FixNamespaceComments>` @@ -4228,6 +4213,21 @@ the configuration (without a prefix: ``Auto``). plop(); plop(); } } +.. _IndentExportBlock: + +**IndentExportBlock** (``Boolean``) :versionbadge:`clang-format 20` :ref:`¶ <IndentExportBlock>` + If ``true``, clang-format will indent the body of an ``export { ... }`` + block. This doesn't affect the formatting of anything else related to + exported declarations. + + .. code-block:: c++ + + true: false: + export { vs. export { + void foo(); void foo(); + void bar(); void bar(); + } } + .. _IndentExternBlock: **IndentExternBlock** (``IndentExternBlockStyle``) :versionbadge:`clang-format 11` :ref:`¶ <IndentExternBlock>` diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index 14a3b5db05ff3b..8b807916fdc823 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -1224,7 +1224,7 @@ clang-format - Adds ``VariableTemplates`` option. - Adds support for bash globstar in ``.clang-format-ignore``. - Adds ``WrapNamespaceBodyWithEmptyLines`` option. -- Adds the ``ExportBlockIndentation`` option. +- Adds the ``IndentExportBlock`` option. libclang -------- diff --git a/clang/include/clang/Format/Format.h b/clang/include/clang/Format/Format.h index c31423841ec1ac..e09dacef677186 100644 --- a/clang/include/clang/Format/Format.h +++ b/clang/include/clang/Format/Format.h @@ -2687,7 +2687,7 @@ struct FormatStyle { /// } } /// \endcode /// \version 20 - bool ExportBlockIndentation; + bool IndentExportBlock; /// If ``true``, clang-format adds missing namespace end comments for /// namespaces and fixes invalid existing ones. This doesn't affect short @@ -5267,7 +5267,7 @@ struct FormatStyle { EmptyLineBeforeAccessModifier == R.EmptyLineBeforeAccessModifier && ExperimentalAutoDetectBinPacking == R.ExperimentalAutoDetectBinPacking && - ExportBlockIndentation == R.ExportBlockIndentation && + IndentExportBlock == R.IndentExportBlock && FixNamespaceComments == R.FixNamespaceComments && ForEachMacros == R.ForEachMacros && IncludeStyle.IncludeBlocks == R.IncludeStyle.IncludeBlocks && diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index 6826fa76662cfb..8184cf29941885 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -1040,7 +1040,7 @@ template <> struct MappingTraits<FormatStyle> { Style.EmptyLineBeforeAccessModifier); IO.mapOptional("ExperimentalAutoDetectBinPacking", Style.ExperimentalAutoDetectBinPacking); - IO.mapOptional("ExportBlockIndentation", Style.ExportBlockIndentation); + IO.mapOptional("IndentExportBlock", Style.IndentExportBlock); IO.mapOptional("FixNamespaceComments", Style.FixNamespaceComments); IO.mapOptional("ForEachMacros", Style.ForEachMacros); IO.mapOptional("IfMacros", Style.IfMacros); @@ -1551,7 +1551,7 @@ FormatStyle getLLVMStyle(FormatStyle::LanguageKind Language) { LLVMStyle.EmptyLineAfterAccessModifier = FormatStyle::ELAAMS_Never; LLVMStyle.EmptyLineBeforeAccessModifier = FormatStyle::ELBAMS_LogicalBlock; LLVMStyle.ExperimentalAutoDetectBinPacking = false; - LLVMStyle.ExportBlockIndentation = true; + LLVMStyle.IndentExportBlock = true; LLVMStyle.FixNamespaceComments = true; LLVMStyle.ForEachMacros.push_back("foreach"); LLVMStyle.ForEachMacros.push_back("Q_FOREACH"); diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp index 834693e2ecf0c7..42583291363482 100644 --- a/clang/lib/Format/UnwrappedLineParser.cpp +++ b/clang/lib/Format/UnwrappedLineParser.cpp @@ -3167,8 +3167,7 @@ void UnwrappedLineParser::parseNamespace() { } void UnwrappedLineParser::parseCppExportBlock() { - parseNamespaceOrExportBlock(/*AddLevels=*/Style.ExportBlockIndentation ? 1 - : 0); + parseNamespaceOrExportBlock(/*AddLevels=*/Style.IndentExportBlock ? 1 : 0); } void UnwrappedLineParser::parseNew() { diff --git a/clang/unittests/Format/ConfigParseTest.cpp b/clang/unittests/Format/ConfigParseTest.cpp index 1f0beafaad7f74..9746aa35478465 100644 --- a/clang/unittests/Format/ConfigParseTest.cpp +++ b/clang/unittests/Format/ConfigParseTest.cpp @@ -176,6 +176,7 @@ TEST(ConfigParseTest, ParsesConfigurationBools) { CHECK_PARSE_BOOL(IndentAccessModifiers); CHECK_PARSE_BOOL(IndentCaseBlocks); CHECK_PARSE_BOOL(IndentCaseLabels); + CHECK_PARSE_BOOL(IndentExportBlock); CHECK_PARSE_BOOL(IndentGotoLabels); CHECK_PARSE_BOOL(IndentRequiresClause); CHECK_PARSE_BOOL_FIELD(IndentRequiresClause, "IndentRequires"); diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 9623187073a0b6..61aa140dfdc9c0 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -9059,9 +9059,9 @@ TEST_F(FormatTest, AdaptiveOnePerLineFormatting) { Style); } -TEST_F(FormatTest, ExportBlockIndentation) { +TEST_F(FormatTest, IndentExportBlock) { FormatStyle Style = getLLVMStyleWithColumns(80); - Style.ExportBlockIndentation = true; + Style.IndentExportBlock = true; verifyFormat("export {\n" " int x;\n" " int y;\n" @@ -9072,7 +9072,7 @@ TEST_F(FormatTest, ExportBlockIndentation) { "}", Style); - Style.ExportBlockIndentation = false; + Style.IndentExportBlock = false; verifyFormat("export {\n" "int x;\n" "int y;\n" @@ -9086,7 +9086,7 @@ TEST_F(FormatTest, ExportBlockIndentation) { TEST_F(FormatTest, ShortExportBlocks) { FormatStyle Style = getLLVMStyleWithColumns(80); - Style.ExportBlockIndentation = false; + Style.IndentExportBlock = false; Style.AllowShortBlocksOnASingleLine = FormatStyle::SBS_Never; verifyFormat("export {\n" >From 58f856e9b4a6afd46811bc7e7000c03f909068fb Mon Sep 17 00:00:00 2001 From: Sirraide <aeternalm...@gmail.com> Date: Tue, 21 Jan 2025 10:58:47 +0100 Subject: [PATCH 2/2] Reorder --- clang/include/clang/Format/Format.h | 28 ++++++++++++++-------------- clang/lib/Format/Format.cpp | 4 ++-- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/clang/include/clang/Format/Format.h b/clang/include/clang/Format/Format.h index e09dacef677186..874376cb2310e2 100644 --- a/clang/include/clang/Format/Format.h +++ b/clang/include/clang/Format/Format.h @@ -2676,19 +2676,6 @@ struct FormatStyle { /// \version 3.7 bool ExperimentalAutoDetectBinPacking; - /// If ``true``, clang-format will indent the body of an ``export { ... }`` - /// block. This doesn't affect the formatting of anything else related to - /// exported declarations. - /// \code - /// true: false: - /// export { vs. export { - /// void foo(); void foo(); - /// void bar(); void bar(); - /// } } - /// \endcode - /// \version 20 - bool IndentExportBlock; - /// If ``true``, clang-format adds missing namespace end comments for /// namespaces and fixes invalid existing ones. This doesn't affect short /// namespaces, which are controlled by ``ShortNamespaceLines``. @@ -2832,6 +2819,19 @@ struct FormatStyle { /// \version 10 bool IndentGotoLabels; + /// If ``true``, clang-format will indent the body of an ``export { ... }`` + /// block. This doesn't affect the formatting of anything else related to + /// exported declarations. + /// \code + /// true: false: + /// export { vs. export { + /// void foo(); void foo(); + /// void bar(); void bar(); + /// } } + /// \endcode + /// \version 20 + bool IndentExportBlock; + /// Indents extern blocks enum IndentExternBlockStyle : int8_t { /// Backwards compatible with AfterExternBlock's indenting. @@ -5267,7 +5267,6 @@ struct FormatStyle { EmptyLineBeforeAccessModifier == R.EmptyLineBeforeAccessModifier && ExperimentalAutoDetectBinPacking == R.ExperimentalAutoDetectBinPacking && - IndentExportBlock == R.IndentExportBlock && FixNamespaceComments == R.FixNamespaceComments && ForEachMacros == R.ForEachMacros && IncludeStyle.IncludeBlocks == R.IncludeStyle.IncludeBlocks && @@ -5280,6 +5279,7 @@ struct FormatStyle { IndentAccessModifiers == R.IndentAccessModifiers && IndentCaseBlocks == R.IndentCaseBlocks && IndentCaseLabels == R.IndentCaseLabels && + IndentExportBlock == R.IndentExportBlock && IndentExternBlock == R.IndentExternBlock && IndentGotoLabels == R.IndentGotoLabels && IndentPPDirectives == R.IndentPPDirectives && diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index 8184cf29941885..c25d9bf7c22519 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -1040,7 +1040,6 @@ template <> struct MappingTraits<FormatStyle> { Style.EmptyLineBeforeAccessModifier); IO.mapOptional("ExperimentalAutoDetectBinPacking", Style.ExperimentalAutoDetectBinPacking); - IO.mapOptional("IndentExportBlock", Style.IndentExportBlock); IO.mapOptional("FixNamespaceComments", Style.FixNamespaceComments); IO.mapOptional("ForEachMacros", Style.ForEachMacros); IO.mapOptional("IfMacros", Style.IfMacros); @@ -1052,6 +1051,7 @@ template <> struct MappingTraits<FormatStyle> { IO.mapOptional("IndentAccessModifiers", Style.IndentAccessModifiers); IO.mapOptional("IndentCaseBlocks", Style.IndentCaseBlocks); IO.mapOptional("IndentCaseLabels", Style.IndentCaseLabels); + IO.mapOptional("IndentExportBlock", Style.IndentExportBlock); IO.mapOptional("IndentExternBlock", Style.IndentExternBlock); IO.mapOptional("IndentGotoLabels", Style.IndentGotoLabels); IO.mapOptional("IndentPPDirectives", Style.IndentPPDirectives); @@ -1551,7 +1551,6 @@ FormatStyle getLLVMStyle(FormatStyle::LanguageKind Language) { LLVMStyle.EmptyLineAfterAccessModifier = FormatStyle::ELAAMS_Never; LLVMStyle.EmptyLineBeforeAccessModifier = FormatStyle::ELBAMS_LogicalBlock; LLVMStyle.ExperimentalAutoDetectBinPacking = false; - LLVMStyle.IndentExportBlock = true; LLVMStyle.FixNamespaceComments = true; LLVMStyle.ForEachMacros.push_back("foreach"); LLVMStyle.ForEachMacros.push_back("Q_FOREACH"); @@ -1567,6 +1566,7 @@ FormatStyle getLLVMStyle(FormatStyle::LanguageKind Language) { LLVMStyle.IndentAccessModifiers = false; LLVMStyle.IndentCaseBlocks = false; LLVMStyle.IndentCaseLabels = false; + LLVMStyle.IndentExportBlock = true; LLVMStyle.IndentExternBlock = FormatStyle::IEBS_AfterExternBlock; LLVMStyle.IndentGotoLabels = true; LLVMStyle.IndentPPDirectives = FormatStyle::PPDIS_None; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits