-
Notifications
You must be signed in to change notification settings - Fork 13.4k
[clangd] Add clangd 18 release notes #84436
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@llvm/pr-subscribers-clang-tools-extra Author: Nathan Ridge (HighCommander4) ChangesFull diff: https://github.com/llvm/llvm-project/pull/84436.diff 1 Files Affected:
diff --git a/clang-tools-extra/docs/ReleaseNotes.rst b/clang-tools-extra/docs/ReleaseNotes.rst
index 5758b5acbc0b56..d963642b812fbf 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -51,21 +51,40 @@ Improvements to clangd
Inlay hints
^^^^^^^^^^^
+- Type hints
+ * Improved heuristics for showing sugared vs. desguared types
+ * Some hints which provide no information (e.g. ``<dependent-type>``) are now omitted
+- Parameter hints
+ * Parameter hints are now shown for calls through function pointers
+ * Parameter hints are now shown for calls to a class's ``operator()``
+ * No longer show bogus parameter hints for some builtins like ``__builtin_dump_struct``
+
Diagnostics
^^^^^^^^^^^
-Semantic Highlighting
-^^^^^^^^^^^^^^^^^^^^^
+- Improved quality of include-cleaner diagnostics (missing and unused includes)
Compile flags
^^^^^^^^^^^^^
+- System include extractor (``--query-driver``) improvements
+ * The directory containing builtin headers is now excluded from extracted system includes
+ * Various flags which can affect the system includes (``--target``, ``--stdlib``, ``-specs``) are now forwarded to the driver
+ * Fixed a bug where clangd would sometimes try to call a driver that didn't have obj-c support with ``-x objective-c++-header``
+ * The driver path is now dot-normalized before being compared to the ``--query-driver`` pattern
+ * ``--query-driver`` is now supported by ``clangd-indexer``
+- Fixed a regression in clangd 17 where response files would not be expanded
+
Hover
^^^^^
+- Hover now shows alignment info for fields and records
+
Code completion
^^^^^^^^^^^^^^^
+- Refined heuristics for determining whether the use of a function can be a call or not
+
Code actions
^^^^^^^^^^^^
@@ -75,15 +94,25 @@ Code actions
Signature help
^^^^^^^^^^^^^^
+- Improved support for calls through function pointer types
+
Cross-references
^^^^^^^^^^^^^^^^
+- Improved support for C++20 concepts
+- Find-references now works for labels
+- Improvements to template heuristics
+
Objective-C
^^^^^^^^^^^
Miscellaneous
^^^^^^^^^^^^^
+- Various stability improvements, e.g. crash fixes
+- Improved error recovery on invalid code
+- Clangd now bails gracefully on assembly and IR source files
+
Improvements to clang-doc
-------------------------
|
To prepare these, I went through the clangd commits in clangd 18 and made note of what seemed notable to me. In some areas of the code that I'm less familiar with, I was somewhat vague (e.g. under "Diagnostics" I added "Improved quality of include-cleaner diagnostics (missing and unused includes)"; if someone more familiar with include-cleaner would like to expand on that with more specific improvements, that would be welcome). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks a lot for doing this @HighCommander4 !
Diagnostics | ||
^^^^^^^^^^^ | ||
|
||
Semantic Highlighting | ||
^^^^^^^^^^^^^^^^^^^^^ | ||
- Improved quality of include-cleaner diagnostics (missing and unused includes) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i'd move this one into include-cleaner release notes (I am also happy to do that myself), a more detailed version could look like:
- Support for
--only-headers
flag to limit analysis to headers matching a regex - Recognizes references through
concept
s - Builtin headers are not analyzed
- Handling of references through
friend
declarations - Fixes around handling of IWYU pragmas on stdlib headers
- Improved handling around references to/from template specializations
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I added these in an include-cleaner section
41cdc4a
to
f3c3e2d
Compare
@kadircet do you know what is the process for getting this approved and merged? As this is targeting the |
i believe @tstellar should have that power 🚀 Do you mind merging this into the branch, or advise on how we should do that instead? |
No description provided.