The check warns on suspicious calls to `memcmp`. It currently checks for comparing types that do not have unique object representations or are non-standard-layout. Based on https://wiki.sei.cmu.edu/confluence/display/c/EXP42-C.+Do+not+compare+padding+data https://wiki.sei.cmu.edu/confluence/display/c/FLP37-C.+Do+not+use+object+representations+to+compare+floating-point+values and part of https://wiki.sei.cmu.edu/confluence/display/cplusplus/OOP57-CPP.+Prefer+special+member+functions+and+overloaded+operators+to+C+Standard+Library+functions Add alias `cert-exp42-c` and `cert-flp37-c`. Some tests are currently failing at head, the check depends on D89649. Originally started in D71973 Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D89651
126 lines
3.3 KiB
ReStructuredText
126 lines
3.3 KiB
ReStructuredText
====================================================
|
|
Extra Clang Tools 14.0.0 (In-Progress) Release Notes
|
|
====================================================
|
|
|
|
.. contents::
|
|
:local:
|
|
:depth: 3
|
|
|
|
Written by the `LLVM Team <https://llvm.org/>`_
|
|
|
|
.. warning::
|
|
|
|
These are in-progress notes for the upcoming Extra Clang Tools 14 release.
|
|
Release notes for previous releases can be found on
|
|
`the Download Page <https://releases.llvm.org/download.html>`_.
|
|
|
|
Introduction
|
|
============
|
|
|
|
This document contains the release notes for the Extra Clang Tools, part of the
|
|
Clang release 14.0.0. Here we describe the status of the Extra Clang Tools in
|
|
some detail, including major improvements from the previous release and new
|
|
feature work. All LLVM releases may be downloaded from the `LLVM releases web
|
|
site <https://llvm.org/releases/>`_.
|
|
|
|
For more information about Clang or LLVM, including information about
|
|
the latest release, please see the `Clang Web Site <https://clang.llvm.org>`_ or
|
|
the `LLVM Web Site <https://llvm.org>`_.
|
|
|
|
Note that if you are reading this file from a Git checkout or the
|
|
main Clang web page, this document applies to the *next* release, not
|
|
the current one. To see the release notes for a specific release, please
|
|
see the `releases page <https://llvm.org/releases/>`_.
|
|
|
|
What's New in Extra Clang Tools 14.0.0?
|
|
=======================================
|
|
|
|
Some of the major new features and improvements to Extra Clang Tools are listed
|
|
here. Generic improvements to Extra Clang Tools as a whole or to its underlying
|
|
infrastructure are described first, followed by tool-specific sections.
|
|
|
|
Major New Features
|
|
------------------
|
|
|
|
...
|
|
|
|
Improvements to clangd
|
|
----------------------
|
|
|
|
The improvements are...
|
|
|
|
Improvements to clang-doc
|
|
-------------------------
|
|
|
|
The improvements are...
|
|
|
|
Improvements to clang-query
|
|
---------------------------
|
|
|
|
The improvements are...
|
|
|
|
Improvements to clang-rename
|
|
----------------------------
|
|
|
|
The improvements are...
|
|
|
|
Improvements to clang-tidy
|
|
--------------------------
|
|
|
|
The improvements are...
|
|
|
|
New checks
|
|
^^^^^^^^^^
|
|
|
|
- New :doc:`bugprone-suspicious-memory-comparison
|
|
<clang-tidy/checks/bugprone-suspicious-memory-comparison>` check.
|
|
|
|
Finds potentially incorrect calls to ``memcmp()`` based on properties of the arguments.
|
|
|
|
- New :doc:`readability-identifier-length
|
|
<clang-tidy/checks/readability-identifier-length>` check.
|
|
|
|
Reports identifiers whose names are too short. Currently checks local variables and function parameters only.
|
|
|
|
New check aliases
|
|
^^^^^^^^^^^^^^^^^
|
|
|
|
- New alias :doc:`cert-exp42-c
|
|
<clang-tidy/checks/cert-exp42-c>` to
|
|
:doc:`bugprone-suspicious-memory-comparison
|
|
<clang-tidy/checks/bugprone-suspicious-memory-comparison>` was added.
|
|
|
|
- New alias :doc:`cert-flp37-c
|
|
<clang-tidy/checks/cert-flp37-c>` to
|
|
:doc:`bugprone-suspicious-memory-comparison
|
|
<clang-tidy/checks/bugprone-suspicious-memory-comparison>` was added.
|
|
|
|
Changes in existing checks
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Removed checks
|
|
^^^^^^^^^^^^^^
|
|
|
|
Improvements to include-fixer
|
|
-----------------------------
|
|
|
|
The improvements are...
|
|
|
|
Improvements to clang-include-fixer
|
|
-----------------------------------
|
|
|
|
The improvements are...
|
|
|
|
Improvements to modularize
|
|
--------------------------
|
|
|
|
The improvements are...
|
|
|
|
Improvements to pp-trace
|
|
------------------------
|
|
|
|
The improvements are...
|
|
|
|
Clang-tidy visual studio plugin
|
|
-------------------------------
|