From cb01befda5479b0368d40582f046eec44fda3cec Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= Date: Sat, 12 Nov 2022 05:51:19 +0100 Subject: [PATCH] [clang-format][NFC] Improve documentation of FixNamespaceComments Fixes https://github.com/llvm/llvm-project/issues/55162 --- clang/docs/ClangFormatStyleOptions.rst | 13 ++++++++----- clang/include/clang/Format/Format.h | 13 ++++++++----- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/clang/docs/ClangFormatStyleOptions.rst b/clang/docs/ClangFormatStyleOptions.rst index 4d4f086..76ae54b 100644 --- a/clang/docs/ClangFormatStyleOptions.rst +++ b/clang/docs/ClangFormatStyleOptions.rst @@ -2696,16 +2696,19 @@ the configuration (without a prefix: ``Auto``). **FixNamespaceComments** (``Boolean``) :versionbadge:`clang-format 5` If ``true``, clang-format adds missing namespace end comments for - short namespaces and fixes invalid existing ones. Short ones are - controlled by "ShortNamespaceLines". + namespaces and fixes invalid existing ones. This doesn't affect short + namespaces, which are controlled by ``ShortNamespaceLines``. .. code-block:: c++ true: false: - namespace a { vs. namespace a { - foo(); foo(); - bar(); bar(); + namespace longNamespace { vs. namespace longNamespace { + void foo(); void foo(); + void bar(); void bar(); } // namespace a } + namespace shortNamespace { namespace shortNamespace { + void baz(); void baz(); + } } **ForEachMacros** (``List of Strings``) :versionbadge:`clang-format 3.7` A vector of macros that should be interpreted as foreach loops diff --git a/clang/include/clang/Format/Format.h b/clang/include/clang/Format/Format.h index ba56ef7..93b84e1 100644 --- a/clang/include/clang/Format/Format.h +++ b/clang/include/clang/Format/Format.h @@ -2121,14 +2121,17 @@ struct FormatStyle { bool ExperimentalAutoDetectBinPacking; /// If ``true``, clang-format adds missing namespace end comments for - /// short namespaces and fixes invalid existing ones. Short ones are - /// controlled by "ShortNamespaceLines". + /// namespaces and fixes invalid existing ones. This doesn't affect short + /// namespaces, which are controlled by ``ShortNamespaceLines``. /// \code /// true: false: - /// namespace a { vs. namespace a { - /// foo(); foo(); - /// bar(); bar(); + /// namespace longNamespace { vs. namespace longNamespace { + /// void foo(); void foo(); + /// void bar(); void bar(); /// } // namespace a } + /// namespace shortNamespace { namespace shortNamespace { + /// void baz(); void baz(); + /// } } /// \endcode /// \version 5 bool FixNamespaceComments; -- 2.7.4