[clang-tidy] Implement readability-function-cognitive-complexity check
[lldb.git] / clang-tools-extra / docs / ReleaseNotes.rst
1 ====================================================
2 Extra Clang Tools 12.0.0 (In-Progress) Release Notes
3 ====================================================
4
5 .. contents::
6    :local:
7    :depth: 3
8
9 Written by the `LLVM Team <https://llvm.org/>`_
10
11 .. warning::
12
13    These are in-progress notes for the upcoming Extra Clang Tools 12 release.
14    Release notes for previous releases can be found on
15    `the Download Page <https://releases.llvm.org/download.html>`_.
16
17 Introduction
18 ============
19
20 This document contains the release notes for the Extra Clang Tools, part of the
21 Clang release 12.0.0. Here we describe the status of the Extra Clang Tools in
22 some detail, including major improvements from the previous release and new
23 feature work. All LLVM releases may be downloaded from the `LLVM releases web
24 site <https://llvm.org/releases/>`_.
25
26 For more information about Clang or LLVM, including information about
27 the latest release, please see the `Clang Web Site <https://clang.llvm.org>`_ or
28 the `LLVM Web Site <https://llvm.org>`_.
29
30 Note that if you are reading this file from a Git checkout or the
31 main Clang web page, this document applies to the *next* release, not
32 the current one. To see the release notes for a specific release, please
33 see the `releases page <https://llvm.org/releases/>`_.
34
35 What's New in Extra Clang Tools 12.0.0?
36 =======================================
37
38 Some of the major new features and improvements to Extra Clang Tools are listed
39 here. Generic improvements to Extra Clang Tools as a whole or to its underlying
40 infrastructure are described first, followed by tool-specific sections.
41
42 Major New Features
43 ------------------
44
45 ...
46
47 Improvements to clangd
48 ----------------------
49
50 The improvements are...
51
52 Improvements to clang-doc
53 -------------------------
54
55 The improvements are...
56
57 Improvements to clang-query
58 ---------------------------
59
60 The improvements are...
61
62 Improvements to clang-rename
63 ----------------------------
64
65 The improvements are...
66
67 Improvements to clang-tidy
68 --------------------------
69
70 - Checks that allow configuring names of headers to include now support wrapping
71   the include in angle brackets to create a system include. For example,
72   :doc:`cppcoreguidelines-init-variables
73   <clang-tidy/checks/cppcoreguidelines-init-variables>` and
74   :doc:`modernize-make-unique <clang-tidy/checks/modernize-make-unique>`.
75
76 New modules
77 ^^^^^^^^^^^
78
79 - New ``altera`` module.
80
81   Includes checks related to OpenCL for FPGA coding guidelines, based on the
82   `Altera SDK for OpenCL: Best Practices Guide
83   <https://www.altera.com/en_US/pdfs/literature/hb/opencl-sdk/aocl_optimization_guide.pdf>`_.
84
85 New checks
86 ^^^^^^^^^^
87
88 - New :doc:`altera-struct-pack-align
89   <clang-tidy/checks/altera-struct-pack-align>` check.
90
91   Finds structs that are inefficiently packed or aligned, and recommends
92   packing and/or aligning of said structs as needed.
93
94 - New :doc:`cppcoreguidelines-prefer-member-initializer
95   <clang-tidy/checks/cppcoreguidelines-prefer-member-initializer>` check.
96
97   Finds member initializations in the constructor body which can be placed into
98   the initialization list instead.
99
100 - New :doc:`bugprone-misplaced-pointer-arithmetic-in-alloc
101   <clang-tidy/checks/bugprone-misplaced-pointer-arithmetic-in-alloc>` check.
102
103 - New :doc:`bugprone-redundant-branch-condition
104   <clang-tidy/checks/bugprone-redundant-branch-condition>` check.
105
106   Finds condition variables in nested ``if`` statements that were also checked
107   in the outer ``if`` statement and were not changed.
108
109 - New :doc:`readability-function-cognitive-complexity
110   <clang-tidy/checks/readability-function-cognitive-complexity>` check.
111
112   Flags functions with Cognitive Complexity metric exceeding the configured limit.
113
114 Changes in existing checks
115 ^^^^^^^^^^^^^^^^^^^^^^^^^^
116
117 - Improved :doc:`readability-identifier-naming
118   <clang-tidy/checks/readability-identifier-naming>` check.
119
120   Added an option `GetConfigPerFile` to support including files which use
121   different naming styles.
122
123 Improvements to include-fixer
124 -----------------------------
125
126 The improvements are...
127
128 Improvements to clang-include-fixer
129 -----------------------------------
130
131 The improvements are...
132
133 Improvements to modularize
134 --------------------------
135
136 The improvements are...
137
138 Improvements to pp-trace
139 ------------------------
140
141 The improvements are...
142
143 Clang-tidy visual studio plugin
144 -------------------------------