1 ====================================================
2 Extra Clang Tools 12.0.0 (In-Progress) Release Notes
3 ====================================================
9 Written by the `LLVM Team <https://llvm.org/>`_
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>`_.
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/>`_.
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>`_.
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/>`_.
35 What's New in Extra Clang Tools 12.0.0?
36 =======================================
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.
47 Improvements to clangd
48 ----------------------
50 The improvements are...
52 Improvements to clang-doc
53 -------------------------
55 The improvements are...
57 Improvements to clang-query
58 ---------------------------
60 The improvements are...
62 Improvements to clang-rename
63 ----------------------------
65 The improvements are...
67 Improvements to clang-tidy
68 --------------------------
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>`.
79 - New ``altera`` module.
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>`_.
88 - New :doc:`altera-struct-pack-align
89 <clang-tidy/checks/altera-struct-pack-align>` check.
91 Finds structs that are inefficiently packed or aligned, and recommends
92 packing and/or aligning of said structs as needed.
94 - New :doc:`cppcoreguidelines-prefer-member-initializer
95 <clang-tidy/checks/cppcoreguidelines-prefer-member-initializer>` check.
97 Finds member initializations in the constructor body which can be placed into
98 the initialization list instead.
100 - New :doc:`bugprone-misplaced-pointer-arithmetic-in-alloc
101 <clang-tidy/checks/bugprone-misplaced-pointer-arithmetic-in-alloc>` check.
103 - New :doc:`bugprone-redundant-branch-condition
104 <clang-tidy/checks/bugprone-redundant-branch-condition>` check.
106 Finds condition variables in nested ``if`` statements that were also checked
107 in the outer ``if`` statement and were not changed.
109 - New :doc:`readability-function-cognitive-complexity
110 <clang-tidy/checks/readability-function-cognitive-complexity>` check.
112 Flags functions with Cognitive Complexity metric exceeding the configured limit.
114 Changes in existing checks
115 ^^^^^^^^^^^^^^^^^^^^^^^^^^
117 - Improved :doc:`readability-identifier-naming
118 <clang-tidy/checks/readability-identifier-naming>` check.
120 Added an option `GetConfigPerFile` to support including files which use
121 different naming styles.
123 Improvements to include-fixer
124 -----------------------------
126 The improvements are...
128 Improvements to clang-include-fixer
129 -----------------------------------
131 The improvements are...
133 Improvements to modularize
134 --------------------------
136 The improvements are...
138 Improvements to pp-trace
139 ------------------------
141 The improvements are...
143 Clang-tidy visual studio plugin
144 -------------------------------