summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/docs/ReleaseNotes.rst
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/docs/ReleaseNotes.rst')
-rw-r--r--clang-tools-extra/docs/ReleaseNotes.rst247
1 files changed, 0 insertions, 247 deletions
diff --git a/clang-tools-extra/docs/ReleaseNotes.rst b/clang-tools-extra/docs/ReleaseNotes.rst
index 59aff131f6c2..2f2be2d1ac1d 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -51,136 +51,33 @@ Improvements to clangd
Inlay hints
^^^^^^^^^^^
-- This feature provides texutal hints interleaved with the code,
- like parameter names, deduced types and designated initializers.
-
-- The `clangd/inlayHints <https://clangd.llvm.org/extensions#inlay-hints>`_
- LSP extension is now documented, and both position and range.
-
-- Inlay hints are now on-by-default in clangd, if the client supports and
- exposes them. (`vscode-clangd
- <https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clangd>`_
- does so). The ``-inlay-hints`` flag has been removed.
-
-- Inlay hints can be `disabled or configured
- <https://clangd.llvm.org/config#inlayhints>`_ in the config file.
-
Diagnostics
^^^^^^^^^^^
-- `Unused #include
- <https://clangd.llvm.org/design/include-cleaner>`_ diagnostics are available.
- These are off by default, and can be turned on through the
- `Diagnostics.UnusedIncludes <https://clangd.llvm.org/config#unusedincludes>`_
- config option.
-
-- ``Deprecated`` and ``Unnecessary`` tags from LSP 3.15 are set on
- ``-Wdeprecated`` and ``-Wunused`` diagnostics. Clients may display these
- in a specialized way.
-
-- clangd suggests inserting includes to fix problems in more cases:
-
- - calling unknown functions in C, even when an implicit declaration is
- inferred.
- - incomplete types (some additional cases).
- - various diagnostics that specify "include <foo.h>" in their text.
-
-- The "populate switch" action is more reliably offered as a fix for
- ``-Wswitch`` warnings, and works with C enums.
-
-- Warnings specified by ``ExtraArgs: -W...`` flags in ``.clang-tidy`` config
- files are now produced.
-
Semantic Highlighting
^^^^^^^^^^^^^^^^^^^^^
-- ``virtual`` modifier for method names
-- ``usedAsMutableReference`` modifier for function parameters
-- Lambda captures now marked as local variables.
-
Compile flags
^^^^^^^^^^^^^
-- Compile flags like ``-xc++-header`` that must precede input file names are now
- added correctly by the
- `CompileFlags.Add <https://clangd.llvm.org/config#add>`_ config option.
-
-- If multiple architectures are specified (e.g. when targeting Apple M1+Intel),
- clangd will now use the host architecture instead of failing to parse.
-
-- Added `CompileFlags.Compiler <https://clangd.llvm.org/config#compiler>`_
- option to override executable name in compile flags.
-
-- Copying ``compile_commands.json`` entries from one file to another (and simply
- adjusting ``file``) should now work correctly.
-
Hover
^^^^^
-- Hovering on many attributes (e.g. ``[[nodiscard]]``) will show documentation.
-- Hovering on include directives shows the resolved header path.
-- Hovering on character literals shows their numeric value.
-- Code snippets are marked with the appropriate language instead of always C++.
- This may improve clients' syntax highlighting.
-- Include desugared types in hover, like in diagnostics.
- Off by default, controlled with `Hover.ShowAKA
- <https://clangd.llvm.org/config#showaka>`_ config option.
-
Code completion
^^^^^^^^^^^^^^^
-- Completion of attributes (e.g. ``[[gsl::Owner(Foo)]]``)
-- Completion of ``/*ParameterName=*/`` comments.
-- Documentation of items with ``annotate`` attributes now includes the
- annotation.
-- Improved handling of results with 1-3 character names.
-- Completion of members in constructor init lists (``Foo() : member_() {}``) is
- much more reliable.
-- C++ Standard library completions should be less noisy: parameter names are
- deuglified (``vector<_Tp>`` is now ``vector<Tp>``) and many
- ``__implementation_details`` are hidden altogether.
-
Signature help
^^^^^^^^^^^^^^
-- Signatures for template argument lists
-- Signatures for braced constructor calls
-- Signatures for aggregate initializers
-- Signatures for members in constructor init lists are much more reliable.
-- Variadic functions correctly show signature help when typing the variadic
- arguments.
-- Signature help is retriggered on closing brackets ``)``, ``}``, ``>``.
- This means signature help should be correct after nested function calls.
-
Cross-references
^^^^^^^^^^^^^^^^
-- Support for ``textDocument/typeDefinition`` LSP request.
-- Improved handling of symbols introduced via using declarations.
-- Searching for references to an overriding method also returns references to
- the base class method. (Typically calls that may invoke the override).
-- All references from the current file are always returned, even if there are
- enough to exceed our usual limit.
-
Objective-C
^^^^^^^^^^^
-- ``#pragma mark`` directives now form groups in the document outline.
-- ``id`` and ``instancetype`` are treated as keywords rather than typedefs
-
Miscellaneous
^^^^^^^^^^^^^
-- Include request context on crashes when possible.
-- Many stability, performance and correctness improvements.
-- ``-use-dirty-headers`` command line flag to use dirty buffer contents when
- parsing headers, rather than the saved on-disk contents.
-- ``clangd --check=/path/to/file.cpp`` now reads config files in ancestor
- directories, in addition to user config file.
-- Improved compile flags handling in ``clangd-indexer``.
-- The index file format changed in this release, indexes need to be rebuilt.
- This should happen transparently in standard cases (the background index).
-
Improvements to clang-doc
-------------------------
@@ -199,159 +96,15 @@ The improvements are...
Improvements to clang-tidy
--------------------------
-- Ignore warnings from macros defined in system headers, if not using the
- `-system-headers` flag.
-
-- Added support for globbing in `NOLINT*` expressions, to simplify suppressing
- multiple warnings in the same line.
-
-- Added support for `NOLINTBEGIN` ... `NOLINTEND` comments to suppress
- Clang-Tidy warnings over multiple lines.
-
-- Added support for external plugin checks with `-load`.
-
New checks
^^^^^^^^^^
-- New :doc:`abseil-cleanup-ctad
- <clang-tidy/checks/abseil-cleanup-ctad>` check.
-
- Suggests switching the initialization pattern of ``absl::Cleanup``
- instances from the factory function to class template argument
- deduction (CTAD), in C++17 and higher.
-
-- New :doc:`bugprone-stringview-nullptr
- <clang-tidy/checks/bugprone-stringview-nullptr>` check.
-
- Checks for various ways that the ``const CharT*`` constructor of
- ``std::basic_string_view`` can be passed a null argument.
-
-- 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:`cppcoreguidelines-virtual-class-destructor
- <clang-tidy/checks/cppcoreguidelines-virtual-class-destructor>` check.
-
- Finds virtual classes whose destructor is neither public and virtual nor
- protected and non-virtual.
-
-- New :doc:`misc-misleading-bidirectional <clang-tidy/checks/misc-misleading-bidirectional>` check.
-
- Inspects string literal and comments for unterminated bidirectional Unicode
- characters.
-
-- New :doc:`misc-misleading-identifier <clang-tidy/checks/misc-misleading-identifier>` check.
-
- Reports identifier with unicode right-to-left characters.
-
-- New :doc:`readability-container-contains
- <clang-tidy/checks/readability-container-contains>` check.
-
- Finds usages of ``container.count()`` and ``container.find() == container.end()`` which should
- be replaced by a call to the ``container.contains()`` method introduced in C++20.
-
-- New :doc:`readability-container-data-pointer
- <clang-tidy/checks/readability-container-data-pointer>` check.
-
- Finds cases where code could use ``data()`` rather than the address of the
- element at index 0 in a container.
-
-- New :doc:`readability-duplicate-include
- <clang-tidy/checks/readability-duplicate-include>` check.
-
- Looks for duplicate includes and removes them.
-
-- 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-err33-c
- <clang-tidy/checks/cert-err33-c>` to
- :doc:`bugprone-unused-return-value
- <clang-tidy/checks/bugprone-unused-return-value>` was added.
-
-- 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
^^^^^^^^^^^^^^^^^^^^^^^^^^
-- :doc:`bugprone-assert-side-effect
- <clang-tidy/checks/bugprone-assert-side-effect>` check now supports an
- ``IgnoredFunctions`` option to explicitly consider the specified
- semicolon-separated functions list as not having any side-effects.
- Regular expressions for the list items are also accepted.
-
-- Fixed a false positive in :doc:`bugprone-throw-keyword-missing
- <clang-tidy/checks/bugprone-throw-keyword-missing>` when creating an
- exception object using placement new.
-
-- Removed default setting ``cppcoreguidelines-explicit-virtual-functions.IgnoreDestructors = "true"``,
- from :doc:`cppcoreguidelines-explicit-virtual-functions
- <clang-tidy/checks/cppcoreguidelines-explicit-virtual-functions>`
- to match the current state of the C++ Core Guidelines.
-
-- Eliminated false positives for :doc:`cppcoreguidelines-macro-usage
- <clang-tidy/checks/cppcoreguidelines-macro-usage>` by restricting
- the warning about using constants to only macros that expand to literals.
-
-- :doc:`cppcoreguidelines-narrowing-conversions
- <clang-tidy/checks/cppcoreguidelines-narrowing-conversions>`
- check now supports a ``WarnOnIntegerToFloatingPointNarrowingConversion``
- option to control whether to warn on narrowing integer to floating-point
- conversions.
-
-- Make the :doc:`cppcoreguidelines-pro-bounds-array-to-pointer-decay
- <clang-tidy/checks/cppcoreguidelines-pro-bounds-array-to-pointer-decay>`
- check accept string literal to pointer decay in conditional operator even
- if operands are of the same length.
-
-- Removed suggestion ``use gsl::at`` from warning message in the
- :doc:`cppcoreguidelines-pro-bounds-constant-array-index
- <clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index>`
- check, since that is not a requirement from the C++ Core Guidelines.
- This allows people to choose their own safe indexing strategy. The
- fix-it is kept for those who want to use the GSL library.
-
-- Fixed a false positive in :doc:`fuchsia-trailing-return
- <clang-tidy/checks/fuchsia-trailing-return>` for C++17 deduction guides.
-
-- Updated :doc:`google-readability-casting
- <clang-tidy/checks/google-readability-casting>` to diagnose and fix
- functional casts, to achieve feature parity with the corresponding
- ``cpplint.py`` check.
-
-- Generalized the :doc:`modernize-use-default-member-init
- <clang-tidy/checks/modernize-use-default-member-init>` check to handle
- non-default constructors.
-
-- Improved :doc:`performance-move-const-arg
- <clang-tidy/checks/performance-move-const-arg>` check.
-
- Removed a wrong FixIt for trivially copyable objects wrapped by
- ``std::move()`` and passed to an rvalue reference parameter. Removal of
- ``std::move()`` would break the code.
-
-- :doc:`readability-simplify-boolean-expr
- <clang-tidy/checks/readability-simplify-boolean-expr>` now simplifies
- return statements associated with ``case``, ``default`` and labeled
- statements.
-
Removed checks
^^^^^^^^^^^^^^