[clang] [clang-format] Rename option AlwaysBreakTemplateDeclarations (PR #81093)

2024-02-09 Thread Owen Pan via cfe-commits

https://github.com/owenca closed https://github.com/llvm/llvm-project/pull/81093
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang-format] Rename option AlwaysBreakTemplateDeclarations (PR #81093)

2024-02-09 Thread Owen Pan via cfe-commits

owenca wrote:

> I'd go contrary to your 
> [comment](https://github.com/llvm/llvm-project/pull/80827#issuecomment-1935386091)
>  and rename the attribute. Because otherwise you still have the contradiction 
> within the code.

I was not against renaming the attribute there. I just wanted it to be done in 
a separate NFC patch.

https://github.com/llvm/llvm-project/pull/81093
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang-format] Rename option AlwaysBreakTemplateDeclarations (PR #81093)

2024-02-09 Thread Björn Schäpers via cfe-commits

https://github.com/HazardyKnusperkeks commented:

I'd go contrary to your 
[comment](https://github.com/llvm/llvm-project/pull/80827#issuecomment-1935386091)
 and rename the attribute. Because otherwise you still have the contradiction 
within the code.

https://github.com/llvm/llvm-project/pull/81093
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang-format] Rename option AlwaysBreakTemplateDeclarations (PR #81093)

2024-02-09 Thread Björn Schäpers via cfe-commits

https://github.com/HazardyKnusperkeks approved this pull request.


https://github.com/llvm/llvm-project/pull/81093
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang-format] Rename option AlwaysBreakTemplateDeclarations (PR #81093)

2024-02-08 Thread Owen Pan via cfe-commits

https://github.com/owenca updated 
https://github.com/llvm/llvm-project/pull/81093

>From b9463c6664227edd6e579840292389909be04ab2 Mon Sep 17 00:00:00 2001
From: Owen Pan 
Date: Wed, 7 Feb 2024 22:43:15 -0800
Subject: [PATCH 1/3] [clang-format] Rename option
 AlwaysBreakTemplateDeclarations

Drop the "Always" prefix to remove the self-contradiction.
---
 clang/docs/ClangFormatStyleOptions.rst | 117 +++--
 clang/docs/tools/dump_format_style.py  |   7 ++
 clang/include/clang/Format/Format.h|   7 +-
 clang/lib/Format/Format.cpp|   6 +-
 clang/unittests/Format/ConfigParseTest.cpp |  13 +++
 5 files changed, 91 insertions(+), 59 deletions(-)

diff --git a/clang/docs/ClangFormatStyleOptions.rst 
b/clang/docs/ClangFormatStyleOptions.rst
index 0a8cc18c5b4cb5..f3da652e691451 100644
--- a/clang/docs/ClangFormatStyleOptions.rst
+++ b/clang/docs/ClangFormatStyleOptions.rst
@@ -1659,62 +1659,8 @@ the configuration (without a prefix: ``Auto``).
 
 .. _AlwaysBreakTemplateDeclarations:
 
-**AlwaysBreakTemplateDeclarations** (``BreakTemplateDeclarationsStyle``) 
:versionbadge:`clang-format 3.4` :ref:`¶ `
-  The template declaration breaking style to use.
-
-  Possible values:
-
-  * ``BTDS_Leave`` (in configuration: ``Leave``)
-Do not change the line breaking before the declaration.
-
-.. code-block:: c++
-
-   template 
-   T foo() {
-   }
-   template  T foo(int a,
-   int b) {
-   }
-
-  * ``BTDS_No`` (in configuration: ``No``)
-Do not force break before declaration.
-``PenaltyBreakTemplateDeclaration`` is taken into account.
-
-.. code-block:: c++
-
-   template  T foo() {
-   }
-   template  T foo(int a,
-   int b) {
-   }
-
-  * ``BTDS_MultiLine`` (in configuration: ``MultiLine``)
-Force break after template declaration only when the following
-declaration spans multiple lines.
-
-.. code-block:: c++
-
-   template  T foo() {
-   }
-   template 
-   T foo(int a,
- int b) {
-   }
-
-  * ``BTDS_Yes`` (in configuration: ``Yes``)
-Always break after template declaration.
-
-.. code-block:: c++
-
-   template 
-   T foo() {
-   }
-   template 
-   T foo(int a,
- int b) {
-   }
-
-
+**AlwaysBreakTemplateDeclarations** (``deprecated``) 
:versionbadge:`clang-format 3.4` :ref:`¶ `
+  This option is renamed to ``BreakTemplateDeclarations``.
 
 .. _AttributeMacros:
 
@@ -3014,6 +2960,65 @@ the configuration (without a prefix: ``Auto``).
  string x =
  "veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString";
 
+.. _BreakTemplateDeclarations:
+
+**BreakTemplateDeclarations** (``BreakTemplateDeclarationsStyle``) 
:versionbadge:`clang-format 19` :ref:`¶ `
+  The template declaration breaking style to use.
+
+  Possible values:
+
+  * ``BTDS_Leave`` (in configuration: ``Leave``)
+Do not change the line breaking before the declaration.
+
+.. code-block:: c++
+
+   template 
+   T foo() {
+   }
+   template  T foo(int a,
+   int b) {
+   }
+
+  * ``BTDS_No`` (in configuration: ``No``)
+Do not force break before declaration.
+``PenaltyBreakTemplateDeclaration`` is taken into account.
+
+.. code-block:: c++
+
+   template  T foo() {
+   }
+   template  T foo(int a,
+   int b) {
+   }
+
+  * ``BTDS_MultiLine`` (in configuration: ``MultiLine``)
+Force break after template declaration only when the following
+declaration spans multiple lines.
+
+.. code-block:: c++
+
+   template  T foo() {
+   }
+   template 
+   T foo(int a,
+ int b) {
+   }
+
+  * ``BTDS_Yes`` (in configuration: ``Yes``)
+Always break after template declaration.
+
+.. code-block:: c++
+
+   template 
+   T foo() {
+   }
+   template 
+   T foo(int a,
+ int b) {
+   }
+
+
+
 .. _ColumnLimit:
 
 **ColumnLimit** (``Unsigned``) :versionbadge:`clang-format 3.7` :ref:`¶ 
`
diff --git a/clang/docs/tools/dump_format_style.py 
b/clang/docs/tools/dump_format_style.py
index e41891f07de2e3..203e9450ed3767 100755
--- a/clang/docs/tools/dump_format_style.py
+++ b/clang/docs/tools/dump_format_style.py
@@ -308,6 +308,7 @@ class State:
 enum = None
 nested_struct = None
 version = None
+deprecated = False
 
 for line in self.header:
 self.lineno += 1
@@ -327,6 +328,8 @@ class State:
 match = re.match(r"/// 

[clang] [clang-format] Rename option AlwaysBreakTemplateDeclarations (PR #81093)

2024-02-07 Thread Owen Pan via cfe-commits

https://github.com/owenca updated 
https://github.com/llvm/llvm-project/pull/81093

>From b9463c6664227edd6e579840292389909be04ab2 Mon Sep 17 00:00:00 2001
From: Owen Pan 
Date: Wed, 7 Feb 2024 22:43:15 -0800
Subject: [PATCH 1/2] [clang-format] Rename option
 AlwaysBreakTemplateDeclarations

Drop the "Always" prefix to remove the self-contradiction.
---
 clang/docs/ClangFormatStyleOptions.rst | 117 +++--
 clang/docs/tools/dump_format_style.py  |   7 ++
 clang/include/clang/Format/Format.h|   7 +-
 clang/lib/Format/Format.cpp|   6 +-
 clang/unittests/Format/ConfigParseTest.cpp |  13 +++
 5 files changed, 91 insertions(+), 59 deletions(-)

diff --git a/clang/docs/ClangFormatStyleOptions.rst 
b/clang/docs/ClangFormatStyleOptions.rst
index 0a8cc18c5b4cb5..f3da652e691451 100644
--- a/clang/docs/ClangFormatStyleOptions.rst
+++ b/clang/docs/ClangFormatStyleOptions.rst
@@ -1659,62 +1659,8 @@ the configuration (without a prefix: ``Auto``).
 
 .. _AlwaysBreakTemplateDeclarations:
 
-**AlwaysBreakTemplateDeclarations** (``BreakTemplateDeclarationsStyle``) 
:versionbadge:`clang-format 3.4` :ref:`¶ `
-  The template declaration breaking style to use.
-
-  Possible values:
-
-  * ``BTDS_Leave`` (in configuration: ``Leave``)
-Do not change the line breaking before the declaration.
-
-.. code-block:: c++
-
-   template 
-   T foo() {
-   }
-   template  T foo(int a,
-   int b) {
-   }
-
-  * ``BTDS_No`` (in configuration: ``No``)
-Do not force break before declaration.
-``PenaltyBreakTemplateDeclaration`` is taken into account.
-
-.. code-block:: c++
-
-   template  T foo() {
-   }
-   template  T foo(int a,
-   int b) {
-   }
-
-  * ``BTDS_MultiLine`` (in configuration: ``MultiLine``)
-Force break after template declaration only when the following
-declaration spans multiple lines.
-
-.. code-block:: c++
-
-   template  T foo() {
-   }
-   template 
-   T foo(int a,
- int b) {
-   }
-
-  * ``BTDS_Yes`` (in configuration: ``Yes``)
-Always break after template declaration.
-
-.. code-block:: c++
-
-   template 
-   T foo() {
-   }
-   template 
-   T foo(int a,
- int b) {
-   }
-
-
+**AlwaysBreakTemplateDeclarations** (``deprecated``) 
:versionbadge:`clang-format 3.4` :ref:`¶ `
+  This option is renamed to ``BreakTemplateDeclarations``.
 
 .. _AttributeMacros:
 
@@ -3014,6 +2960,65 @@ the configuration (without a prefix: ``Auto``).
  string x =
  "veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString";
 
+.. _BreakTemplateDeclarations:
+
+**BreakTemplateDeclarations** (``BreakTemplateDeclarationsStyle``) 
:versionbadge:`clang-format 19` :ref:`¶ `
+  The template declaration breaking style to use.
+
+  Possible values:
+
+  * ``BTDS_Leave`` (in configuration: ``Leave``)
+Do not change the line breaking before the declaration.
+
+.. code-block:: c++
+
+   template 
+   T foo() {
+   }
+   template  T foo(int a,
+   int b) {
+   }
+
+  * ``BTDS_No`` (in configuration: ``No``)
+Do not force break before declaration.
+``PenaltyBreakTemplateDeclaration`` is taken into account.
+
+.. code-block:: c++
+
+   template  T foo() {
+   }
+   template  T foo(int a,
+   int b) {
+   }
+
+  * ``BTDS_MultiLine`` (in configuration: ``MultiLine``)
+Force break after template declaration only when the following
+declaration spans multiple lines.
+
+.. code-block:: c++
+
+   template  T foo() {
+   }
+   template 
+   T foo(int a,
+ int b) {
+   }
+
+  * ``BTDS_Yes`` (in configuration: ``Yes``)
+Always break after template declaration.
+
+.. code-block:: c++
+
+   template 
+   T foo() {
+   }
+   template 
+   T foo(int a,
+ int b) {
+   }
+
+
+
 .. _ColumnLimit:
 
 **ColumnLimit** (``Unsigned``) :versionbadge:`clang-format 3.7` :ref:`¶ 
`
diff --git a/clang/docs/tools/dump_format_style.py 
b/clang/docs/tools/dump_format_style.py
index e41891f07de2e3..203e9450ed3767 100755
--- a/clang/docs/tools/dump_format_style.py
+++ b/clang/docs/tools/dump_format_style.py
@@ -308,6 +308,7 @@ class State:
 enum = None
 nested_struct = None
 version = None
+deprecated = False
 
 for line in self.header:
 self.lineno += 1
@@ -327,6 +328,8 @@ class State:
 match = re.match(r"/// 

[clang] [clang-format] Rename option AlwaysBreakTemplateDeclarations (PR #81093)

2024-02-07 Thread via cfe-commits

github-actions[bot] wrote:




:warning: Python code formatter, darker found issues in your code. :warning:



You can test this locally with the following command:


``bash
darker --check --diff -r 
8f6e13e6da84510c8321717860fd506e12118514...b9463c6664227edd6e579840292389909be04ab2
 clang/docs/tools/dump_format_style.py
``





View the diff from darker here.


``diff
--- dump_format_style.py2024-02-08 06:43:15.00 +
+++ dump_format_style.py2024-02-08 06:50:18.679534 +
@@ -346,11 +346,11 @@
 line = line[len(prefix) :]
 state = State.InStruct
 field_type, field_name = re.match(
 r"([<>:\w(,\s)]+)\s+(\w+);", line
 ).groups()
-if (deprecated):
+if deprecated:
 field_type = "deprecated"
 deprecated = False
 
 if not version:
 self.__warning(f"missing version for {field_name}", 
line)

``




https://github.com/llvm/llvm-project/pull/81093
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang-format] Rename option AlwaysBreakTemplateDeclarations (PR #81093)

2024-02-07 Thread via cfe-commits

llvmbot wrote:




@llvm/pr-subscribers-clang-format

Author: Owen Pan (owenca)


Changes

Drop the "Always" prefix to remove the self-contradiction.

---
Full diff: https://github.com/llvm/llvm-project/pull/81093.diff


5 Files Affected:

- (modified) clang/docs/ClangFormatStyleOptions.rst (+61-56) 
- (modified) clang/docs/tools/dump_format_style.py (+7) 
- (modified) clang/include/clang/Format/Format.h (+6-1) 
- (modified) clang/lib/Format/Format.cpp (+4-2) 
- (modified) clang/unittests/Format/ConfigParseTest.cpp (+13) 


``diff
diff --git a/clang/docs/ClangFormatStyleOptions.rst 
b/clang/docs/ClangFormatStyleOptions.rst
index 0a8cc18c5b4cb5..f3da652e691451 100644
--- a/clang/docs/ClangFormatStyleOptions.rst
+++ b/clang/docs/ClangFormatStyleOptions.rst
@@ -1659,62 +1659,8 @@ the configuration (without a prefix: ``Auto``).
 
 .. _AlwaysBreakTemplateDeclarations:
 
-**AlwaysBreakTemplateDeclarations** (``BreakTemplateDeclarationsStyle``) 
:versionbadge:`clang-format 3.4` :ref:`¶ `
-  The template declaration breaking style to use.
-
-  Possible values:
-
-  * ``BTDS_Leave`` (in configuration: ``Leave``)
-Do not change the line breaking before the declaration.
-
-.. code-block:: c++
-
-   template 
-   T foo() {
-   }
-   template  T foo(int a,
-   int b) {
-   }
-
-  * ``BTDS_No`` (in configuration: ``No``)
-Do not force break before declaration.
-``PenaltyBreakTemplateDeclaration`` is taken into account.
-
-.. code-block:: c++
-
-   template  T foo() {
-   }
-   template  T foo(int a,
-   int b) {
-   }
-
-  * ``BTDS_MultiLine`` (in configuration: ``MultiLine``)
-Force break after template declaration only when the following
-declaration spans multiple lines.
-
-.. code-block:: c++
-
-   template  T foo() {
-   }
-   template 
-   T foo(int a,
- int b) {
-   }
-
-  * ``BTDS_Yes`` (in configuration: ``Yes``)
-Always break after template declaration.
-
-.. code-block:: c++
-
-   template 
-   T foo() {
-   }
-   template 
-   T foo(int a,
- int b) {
-   }
-
-
+**AlwaysBreakTemplateDeclarations** (``deprecated``) 
:versionbadge:`clang-format 3.4` :ref:`¶ `
+  This option is renamed to ``BreakTemplateDeclarations``.
 
 .. _AttributeMacros:
 
@@ -3014,6 +2960,65 @@ the configuration (without a prefix: ``Auto``).
  string x =
  "veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString";
 
+.. _BreakTemplateDeclarations:
+
+**BreakTemplateDeclarations** (``BreakTemplateDeclarationsStyle``) 
:versionbadge:`clang-format 19` :ref:`¶ `
+  The template declaration breaking style to use.
+
+  Possible values:
+
+  * ``BTDS_Leave`` (in configuration: ``Leave``)
+Do not change the line breaking before the declaration.
+
+.. code-block:: c++
+
+   template 
+   T foo() {
+   }
+   template  T foo(int a,
+   int b) {
+   }
+
+  * ``BTDS_No`` (in configuration: ``No``)
+Do not force break before declaration.
+``PenaltyBreakTemplateDeclaration`` is taken into account.
+
+.. code-block:: c++
+
+   template  T foo() {
+   }
+   template  T foo(int a,
+   int b) {
+   }
+
+  * ``BTDS_MultiLine`` (in configuration: ``MultiLine``)
+Force break after template declaration only when the following
+declaration spans multiple lines.
+
+.. code-block:: c++
+
+   template  T foo() {
+   }
+   template 
+   T foo(int a,
+ int b) {
+   }
+
+  * ``BTDS_Yes`` (in configuration: ``Yes``)
+Always break after template declaration.
+
+.. code-block:: c++
+
+   template 
+   T foo() {
+   }
+   template 
+   T foo(int a,
+ int b) {
+   }
+
+
+
 .. _ColumnLimit:
 
 **ColumnLimit** (``Unsigned``) :versionbadge:`clang-format 3.7` :ref:`¶ 
`
diff --git a/clang/docs/tools/dump_format_style.py 
b/clang/docs/tools/dump_format_style.py
index e41891f07de2e3..203e9450ed3767 100755
--- a/clang/docs/tools/dump_format_style.py
+++ b/clang/docs/tools/dump_format_style.py
@@ -308,6 +308,7 @@ class State:
 enum = None
 nested_struct = None
 version = None
+deprecated = False
 
 for line in self.header:
 self.lineno += 1
@@ -327,6 +328,8 @@ class State:
 match = re.match(r"/// \\version\s*(?P[0-9.]+)*", 
line)
 if match:
 version = match.group("version")
+elif line.startswith("/// 

[clang] [clang-format] Rename option AlwaysBreakTemplateDeclarations (PR #81093)

2024-02-07 Thread via cfe-commits

llvmbot wrote:




@llvm/pr-subscribers-clang

Author: Owen Pan (owenca)


Changes

Drop the "Always" prefix to remove the self-contradiction.

---
Full diff: https://github.com/llvm/llvm-project/pull/81093.diff


5 Files Affected:

- (modified) clang/docs/ClangFormatStyleOptions.rst (+61-56) 
- (modified) clang/docs/tools/dump_format_style.py (+7) 
- (modified) clang/include/clang/Format/Format.h (+6-1) 
- (modified) clang/lib/Format/Format.cpp (+4-2) 
- (modified) clang/unittests/Format/ConfigParseTest.cpp (+13) 


``diff
diff --git a/clang/docs/ClangFormatStyleOptions.rst 
b/clang/docs/ClangFormatStyleOptions.rst
index 0a8cc18c5b4cb5..f3da652e691451 100644
--- a/clang/docs/ClangFormatStyleOptions.rst
+++ b/clang/docs/ClangFormatStyleOptions.rst
@@ -1659,62 +1659,8 @@ the configuration (without a prefix: ``Auto``).
 
 .. _AlwaysBreakTemplateDeclarations:
 
-**AlwaysBreakTemplateDeclarations** (``BreakTemplateDeclarationsStyle``) 
:versionbadge:`clang-format 3.4` :ref:`¶ `
-  The template declaration breaking style to use.
-
-  Possible values:
-
-  * ``BTDS_Leave`` (in configuration: ``Leave``)
-Do not change the line breaking before the declaration.
-
-.. code-block:: c++
-
-   template 
-   T foo() {
-   }
-   template  T foo(int a,
-   int b) {
-   }
-
-  * ``BTDS_No`` (in configuration: ``No``)
-Do not force break before declaration.
-``PenaltyBreakTemplateDeclaration`` is taken into account.
-
-.. code-block:: c++
-
-   template  T foo() {
-   }
-   template  T foo(int a,
-   int b) {
-   }
-
-  * ``BTDS_MultiLine`` (in configuration: ``MultiLine``)
-Force break after template declaration only when the following
-declaration spans multiple lines.
-
-.. code-block:: c++
-
-   template  T foo() {
-   }
-   template 
-   T foo(int a,
- int b) {
-   }
-
-  * ``BTDS_Yes`` (in configuration: ``Yes``)
-Always break after template declaration.
-
-.. code-block:: c++
-
-   template 
-   T foo() {
-   }
-   template 
-   T foo(int a,
- int b) {
-   }
-
-
+**AlwaysBreakTemplateDeclarations** (``deprecated``) 
:versionbadge:`clang-format 3.4` :ref:`¶ `
+  This option is renamed to ``BreakTemplateDeclarations``.
 
 .. _AttributeMacros:
 
@@ -3014,6 +2960,65 @@ the configuration (without a prefix: ``Auto``).
  string x =
  "veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString";
 
+.. _BreakTemplateDeclarations:
+
+**BreakTemplateDeclarations** (``BreakTemplateDeclarationsStyle``) 
:versionbadge:`clang-format 19` :ref:`¶ `
+  The template declaration breaking style to use.
+
+  Possible values:
+
+  * ``BTDS_Leave`` (in configuration: ``Leave``)
+Do not change the line breaking before the declaration.
+
+.. code-block:: c++
+
+   template 
+   T foo() {
+   }
+   template  T foo(int a,
+   int b) {
+   }
+
+  * ``BTDS_No`` (in configuration: ``No``)
+Do not force break before declaration.
+``PenaltyBreakTemplateDeclaration`` is taken into account.
+
+.. code-block:: c++
+
+   template  T foo() {
+   }
+   template  T foo(int a,
+   int b) {
+   }
+
+  * ``BTDS_MultiLine`` (in configuration: ``MultiLine``)
+Force break after template declaration only when the following
+declaration spans multiple lines.
+
+.. code-block:: c++
+
+   template  T foo() {
+   }
+   template 
+   T foo(int a,
+ int b) {
+   }
+
+  * ``BTDS_Yes`` (in configuration: ``Yes``)
+Always break after template declaration.
+
+.. code-block:: c++
+
+   template 
+   T foo() {
+   }
+   template 
+   T foo(int a,
+ int b) {
+   }
+
+
+
 .. _ColumnLimit:
 
 **ColumnLimit** (``Unsigned``) :versionbadge:`clang-format 3.7` :ref:`¶ 
`
diff --git a/clang/docs/tools/dump_format_style.py 
b/clang/docs/tools/dump_format_style.py
index e41891f07de2e3..203e9450ed3767 100755
--- a/clang/docs/tools/dump_format_style.py
+++ b/clang/docs/tools/dump_format_style.py
@@ -308,6 +308,7 @@ class State:
 enum = None
 nested_struct = None
 version = None
+deprecated = False
 
 for line in self.header:
 self.lineno += 1
@@ -327,6 +328,8 @@ class State:
 match = re.match(r"/// \\version\s*(?P[0-9.]+)*", 
line)
 if match:
 version = match.group("version")
+elif line.startswith("/// 

[clang] [clang-format] Rename option AlwaysBreakTemplateDeclarations (PR #81093)

2024-02-07 Thread Owen Pan via cfe-commits

https://github.com/owenca created 
https://github.com/llvm/llvm-project/pull/81093

Drop the "Always" prefix to remove the self-contradiction.

>From b9463c6664227edd6e579840292389909be04ab2 Mon Sep 17 00:00:00 2001
From: Owen Pan 
Date: Wed, 7 Feb 2024 22:43:15 -0800
Subject: [PATCH] [clang-format] Rename option AlwaysBreakTemplateDeclarations

Drop the "Always" prefix to remove the self-contradiction.
---
 clang/docs/ClangFormatStyleOptions.rst | 117 +++--
 clang/docs/tools/dump_format_style.py  |   7 ++
 clang/include/clang/Format/Format.h|   7 +-
 clang/lib/Format/Format.cpp|   6 +-
 clang/unittests/Format/ConfigParseTest.cpp |  13 +++
 5 files changed, 91 insertions(+), 59 deletions(-)

diff --git a/clang/docs/ClangFormatStyleOptions.rst 
b/clang/docs/ClangFormatStyleOptions.rst
index 0a8cc18c5b4cb5..f3da652e691451 100644
--- a/clang/docs/ClangFormatStyleOptions.rst
+++ b/clang/docs/ClangFormatStyleOptions.rst
@@ -1659,62 +1659,8 @@ the configuration (without a prefix: ``Auto``).
 
 .. _AlwaysBreakTemplateDeclarations:
 
-**AlwaysBreakTemplateDeclarations** (``BreakTemplateDeclarationsStyle``) 
:versionbadge:`clang-format 3.4` :ref:`¶ `
-  The template declaration breaking style to use.
-
-  Possible values:
-
-  * ``BTDS_Leave`` (in configuration: ``Leave``)
-Do not change the line breaking before the declaration.
-
-.. code-block:: c++
-
-   template 
-   T foo() {
-   }
-   template  T foo(int a,
-   int b) {
-   }
-
-  * ``BTDS_No`` (in configuration: ``No``)
-Do not force break before declaration.
-``PenaltyBreakTemplateDeclaration`` is taken into account.
-
-.. code-block:: c++
-
-   template  T foo() {
-   }
-   template  T foo(int a,
-   int b) {
-   }
-
-  * ``BTDS_MultiLine`` (in configuration: ``MultiLine``)
-Force break after template declaration only when the following
-declaration spans multiple lines.
-
-.. code-block:: c++
-
-   template  T foo() {
-   }
-   template 
-   T foo(int a,
- int b) {
-   }
-
-  * ``BTDS_Yes`` (in configuration: ``Yes``)
-Always break after template declaration.
-
-.. code-block:: c++
-
-   template 
-   T foo() {
-   }
-   template 
-   T foo(int a,
- int b) {
-   }
-
-
+**AlwaysBreakTemplateDeclarations** (``deprecated``) 
:versionbadge:`clang-format 3.4` :ref:`¶ `
+  This option is renamed to ``BreakTemplateDeclarations``.
 
 .. _AttributeMacros:
 
@@ -3014,6 +2960,65 @@ the configuration (without a prefix: ``Auto``).
  string x =
  "veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString";
 
+.. _BreakTemplateDeclarations:
+
+**BreakTemplateDeclarations** (``BreakTemplateDeclarationsStyle``) 
:versionbadge:`clang-format 19` :ref:`¶ `
+  The template declaration breaking style to use.
+
+  Possible values:
+
+  * ``BTDS_Leave`` (in configuration: ``Leave``)
+Do not change the line breaking before the declaration.
+
+.. code-block:: c++
+
+   template 
+   T foo() {
+   }
+   template  T foo(int a,
+   int b) {
+   }
+
+  * ``BTDS_No`` (in configuration: ``No``)
+Do not force break before declaration.
+``PenaltyBreakTemplateDeclaration`` is taken into account.
+
+.. code-block:: c++
+
+   template  T foo() {
+   }
+   template  T foo(int a,
+   int b) {
+   }
+
+  * ``BTDS_MultiLine`` (in configuration: ``MultiLine``)
+Force break after template declaration only when the following
+declaration spans multiple lines.
+
+.. code-block:: c++
+
+   template  T foo() {
+   }
+   template 
+   T foo(int a,
+ int b) {
+   }
+
+  * ``BTDS_Yes`` (in configuration: ``Yes``)
+Always break after template declaration.
+
+.. code-block:: c++
+
+   template 
+   T foo() {
+   }
+   template 
+   T foo(int a,
+ int b) {
+   }
+
+
+
 .. _ColumnLimit:
 
 **ColumnLimit** (``Unsigned``) :versionbadge:`clang-format 3.7` :ref:`¶ 
`
diff --git a/clang/docs/tools/dump_format_style.py 
b/clang/docs/tools/dump_format_style.py
index e41891f07de2e3..203e9450ed3767 100755
--- a/clang/docs/tools/dump_format_style.py
+++ b/clang/docs/tools/dump_format_style.py
@@ -308,6 +308,7 @@ class State:
 enum = None
 nested_struct = None
 version = None
+deprecated = False
 
 for line in self.header:
 self.lineno += 1
@@ -327,6 +328,8 @@ class State: