Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2 |
|
#
3093d731 |
| 11-Mar-2024 |
Nathan Ridge <zeratul976@hotmail.com> |
[clangd] Avoid libFormat's objective-c guessing heuristic where possible (#84133)
This avoids a known libFormat bug where the heuristic can OOM on certain
large files (particularly single-header li
[clangd] Avoid libFormat's objective-c guessing heuristic where possible (#84133)
This avoids a known libFormat bug where the heuristic can OOM on certain
large files (particularly single-header libraries such as miniaudio.h).
The OOM will still happen on affected files if you actually try to
format them (this is harder to avoid since the underlyting issue affects
the actual formatting logic, not just the language-guessing heuristic),
but at least it's avoided during non-modifying operations like hover,
and modifying operations that do local formatting like code completion.
Fixes https://github.com/clangd/clangd/issues/719
Fixes https://github.com/clangd/clangd/issues/1384
Fixes https://github.com/llvm/llvm-project/issues/70945
show more ...
|
Revision tags: llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1 |
|
#
23b233c8 |
| 28-Jan-2024 |
Andrew Schenk <154034018+schenka0@users.noreply.github.com> |
[clangd] Fix isSpelledInSource crash on invalid FileID (#76668)
This fixes the crash reported in #76667 and adds an initial unit test
for isSpelledInSource().
Note that in that issue there was s
[clangd] Fix isSpelledInSource crash on invalid FileID (#76668)
This fixes the crash reported in #76667 and adds an initial unit test
for isSpelledInSource().
Note that in that issue there was still some underlying corrupted AST,
but this at least makes isSpelledInSource() robust to it.
---------
Co-authored-by: Younan Zhang <zyn7109@gmail.com>
show more ...
|
Revision tags: llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init |
|
#
3432f4bf |
| 12-Jan-2023 |
Jordan Rupprecht <rupprecht@google.com> |
[test] Split out Annotations from `TestingSupport`
The Annotations helper class does not have a gtest or gmock dependency, but because it's bundled with the rest of TestingSupport, it gets one. By s
[test] Split out Annotations from `TestingSupport`
The Annotations helper class does not have a gtest or gmock dependency, but because it's bundled with the rest of TestingSupport, it gets one. By splitting it out, a target can use it without being forced to use LLVM's copy of gtest.
Reviewed By: GMNGeoffrey, sammccall, gribozavr2
Differential Revision: https://reviews.llvm.org/D141175
show more ...
|
Revision tags: llvmorg-15.0.7 |
|
#
f71ffd3b |
| 08-Jan-2023 |
Kazu Hirata <kazu@google.com> |
[clang-tools-extra] Use std::optional instead of llvm::Optional (NFC)
This patch replaces (llvm::|)Optional< with std::optional<. I'll post a separate patch to clean up the "using" declarations, #i
[clang-tools-extra] Use std::optional instead of llvm::Optional (NFC)
This patch replaces (llvm::|)Optional< with std::optional<. I'll post a separate patch to clean up the "using" declarations, #include "llvm/ADT/Optional.h", etc.
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
show more ...
|
#
71f55735 |
| 08-Jan-2023 |
Kazu Hirata <kazu@google.com> |
[clang-tools-extra] Add #include <optional> (NFC)
This patch adds #include <optional> to those files containing llvm::Optional<...> or Optional<...>.
I'll post a separate patch to actually replace
[clang-tools-extra] Add #include <optional> (NFC)
This patch adds #include <optional> to those files containing llvm::Optional<...> or Optional<...>.
I'll post a separate patch to actually replace llvm::Optional with std::optional.
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
show more ...
|
#
649ef338 |
| 06-Dec-2022 |
Kazu Hirata <kazu@google.com> |
[clang-tools-extra] Use std::nullopt instead of llvm::None (NFC)
This patch mechanically replaces None with std::nullopt where the compiler would warn if None were deprecated. The intent is to redu
[clang-tools-extra] Use std::nullopt instead of llvm::None (NFC)
This patch mechanically replaces None with std::nullopt where the compiler would warn if None were deprecated. The intent is to reduce the amount of manual work required in migrating from Optional to std::optional.
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
show more ...
|
Revision tags: llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3 |
|
#
a53f8952 |
| 08-Oct-2022 |
Sam McCall <sam.mccall@gmail.com> |
[clangd] Heuristic to avoid desync if editors are confused about newline-at-eof
As strange as it seems to our files-are-strings view of the world, some editors that treat files as arrays of lines ca
[clangd] Heuristic to avoid desync if editors are confused about newline-at-eof
As strange as it seems to our files-are-strings view of the world, some editors that treat files as arrays of lines can get confused about whether the last line has a newline or not.
The consequences of failing to handle a bad incremental update are catastrophic. If an update would be valid except for a missing newline at end of file, pretend one exists.
This fixes problems still present in neovim where deleting all text often leads to a desync shortly afterwards: https://github.com/neovim/neovim/issues/17085
Differential Revision: https://reviews.llvm.org/D135508
show more ...
|
Revision tags: working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6 |
|
#
30c67587 |
| 19-Jun-2022 |
Kazu Hirata <kazu@google.com> |
Use value_or instead of getValueOr (NFC)
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
#
4d006520 |
| 26-Feb-2022 |
Sam McCall <sam.mccall@gmail.com> |
[clangd] Clean up unused includes. NFCI
Add includes where needed to fix build. Haven't systematically added used headers, so there is still accidental dependency on transitive includes.
|
Revision tags: llvmorg-14.0.0-rc1, llvmorg-15-init |
|
#
8edfc2f8 |
| 01-Feb-2022 |
Christian Kühnel <kuhnel@google.com> |
[clangd] Cleanup of readability-identifier-naming
Auto-generated patch based on clang-tidy readability-identifier-naming. Only some manual cleanup for `extern "C"` declarations and a GTest change wa
[clangd] Cleanup of readability-identifier-naming
Auto-generated patch based on clang-tidy readability-identifier-naming. Only some manual cleanup for `extern "C"` declarations and a GTest change was required.
I'm not sure if this cleanup is actually very useful. It cleans up clang-tidy findings to the number of warnings from clang-tidy should be lower. Since it was easy to do and required only little cleanup I thought I'd upload it for discussion.
One pattern that keeps recurring: Test **matchers** are also supposed to start with a lowercase letter as per LLVM convention. However GTest naming convention for matchers start with upper case. I would propose to keep stay consistent with the GTest convention there. However that would imply a lot of `//NOLINT` throughout these files.
To re-product this patch run: ``` run-clang-tidy -checks="-*,readability-identifier-naming" -fix -format ./clang-tools-extra/clangd ```
To convert the macro names, I was using this script with some manual cleanup afterwards: https://gist.github.com/ChristianKuehnel/a01cc4362b07c58281554ab46235a077
Differential Revision: https://reviews.llvm.org/D115634
show more ...
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
#
055d8090 |
| 07-Dec-2021 |
Sam McCall <sam.mccall@gmail.com> |
[clangd] Don't index __reserved_names in headers.
Main use of these is in the standard library, where they generally clutter up the index.
Certain macros are also common, we don't touch indexing of
[clangd] Don't index __reserved_names in headers.
Main use of these is in the standard library, where they generally clutter up the index.
Certain macros are also common, we don't touch indexing of macros in this patch.
Differential Revision: https://reviews.llvm.org/D115301
show more ...
|
Revision tags: llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3 |
|
#
bca3e241 |
| 01-Mar-2021 |
Sam McCall <sam.mccall@gmail.com> |
[clangd] Move DraftStore from ClangdLSPServer into ClangdServer.
ClangdServer already gets notified of every change, so it makes sense for it to be the source of truth. This is a step towards having
[clangd] Move DraftStore from ClangdLSPServer into ClangdServer.
ClangdServer already gets notified of every change, so it makes sense for it to be the source of truth. This is a step towards having ClangdServer expose a FS that includes dirty buffers: D94554
Related changes: - version is now optional for ClangdServer, to preserve our existing fuzziness in this area (missing version ==> autoincrement) - ClangdServer::format{File,Range} are now more regular ClangdServer functions that don't need the code passed in. While here, combine into one function. - incremental content update logic is moved from DraftStore to ClangdLSPServer, with most of the implementation in SourceCode.cpp. DraftStore is now fairly trivial, and will probably ultimately be *replaced* by the dirty FS stuff.
Differential Revision: https://reviews.llvm.org/D97738
show more ...
|
Revision tags: llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6 |
|
#
1425c722 |
| 05-Oct-2020 |
Haojian Wu <hokein.wu@gmail.com> |
[clangd] Add isKeyword function.
This will be used in rename for doing basic name validation.
Differential Revision: https://reviews.llvm.org/D88810
|
Revision tags: llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2 |
|
#
f2c8f6e1 |
| 10-Jun-2020 |
Sam McCall <sam.mccall@gmail.com> |
[clangd] Log rather than assert on bad UTF-8.
Summary: I don't love this behavior, but it prevents crashing when indexing boost headers, and I can't think of a better practical alternative.
Fixes h
[clangd] Log rather than assert on bad UTF-8.
Summary: I don't love this behavior, but it prevents crashing when indexing boost headers, and I can't think of a better practical alternative.
Fixes https://reviews.llvm.org/D81530
Based on a patch by AnakinZheng!
Reviewers: kadircet
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits, AnakinZheng
Tags: #clang
Differential Revision: https://reviews.llvm.org/D81530
show more ...
|
Revision tags: llvmorg-10.0.1-rc1 |
|
#
ad97ccf6 |
| 28-Apr-2020 |
Sam McCall <sam.mccall@gmail.com> |
[clangd] Move non-clang base pieces into separate support/ lib. NFCI
Summary: This enforces layering, reduces a sprawling clangd/ directory, and makes life easier for embedders.
Reviewers: kbobyrev
[clangd] Move non-clang base pieces into separate support/ lib. NFCI
Summary: This enforces layering, reduces a sprawling clangd/ directory, and makes life easier for embedders.
Reviewers: kbobyrev
Subscribers: mgorny, ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, jfb, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D79014
show more ...
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3 |
|
#
3f1c2bf1 |
| 02-Mar-2020 |
Sam McCall <sam.mccall@gmail.com> |
[clangd] go-to-def on names in comments etc that are used nearby.
Summary: This is intended as a companion to (and is inspired by) D72874 which attempts to resolve these cases using the index. The i
[clangd] go-to-def on names in comments etc that are used nearby.
Summary: This is intended as a companion to (and is inspired by) D72874 which attempts to resolve these cases using the index. The intent is we'd try this strategy after the AST-based approach but before the index-based (I think local usages would be more reliable than index matches).
Reviewers: nridge
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D75479
show more ...
|
#
63725df1 |
| 16-Apr-2020 |
Sam McCall <sam.mccall@gmail.com> |
[clangd] Remove unused and underused helpers. NFC
|
#
445195ba |
| 06-Mar-2020 |
Nathan Ridge <zeratul976@hotmail.com> |
[clangd] Have visibleNamespaces() and getEligiblePoints() take a LangOptions rather than a FormatStyle
Summary: These functions only use the FormatStyle to obtain a LangOptions via format::getFormat
[clangd] Have visibleNamespaces() and getEligiblePoints() take a LangOptions rather than a FormatStyle
Summary: These functions only use the FormatStyle to obtain a LangOptions via format::getFormattingLangOpts(), and some callers can more easily obtain a LangOptions more directly.
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D75716
show more ...
|
#
484402ab |
| 10-Mar-2020 |
Nathan Ridge <zeratul976@hotmail.com> |
[clangd] Run clang-format on CodeComplete.cpp and SourceCodeTests.cpp
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: h
[clangd] Run clang-format on CodeComplete.cpp and SourceCodeTests.cpp
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D75959
show more ...
|
#
2be45697 |
| 02-Mar-2020 |
Sam McCall <sam.mccall@gmail.com> |
[clangd] Fix isInsideMainFile to be aware of preamble.
Reviewers: kadircet
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https
[clangd] Fix isInsideMainFile to be aware of preamble.
Reviewers: kadircet
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D75460
show more ...
|
#
3ae2fc7a |
| 28-Feb-2020 |
Kadir Cetinkaya <kadircet@google.com> |
[clangd] Get rid of lexer usage in locateMacroAt
Reviewers: sammccall, hokein
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: ht
[clangd] Get rid of lexer usage in locateMacroAt
Reviewers: sammccall, hokein
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D75331
show more ...
|
#
c24c89d6 |
| 27-Feb-2020 |
Kadir Cetinkaya <kadircet@google.com> |
[clangd] Get rid of unnecessary source transformations in locateMacroAt
Summary: All callers are already passing spelling locations to locateMacroAt. Also there's no point at looking at macro expans
[clangd] Get rid of unnecessary source transformations in locateMacroAt
Summary: All callers are already passing spelling locations to locateMacroAt. Also there's no point at looking at macro expansion for figuring out undefs as it is forbidden to have PP directives inside macro bodies. Also fixes a bug when the previous sourcelocation is unavailable.
Reviewers: sammccall, hokein
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D75259
show more ...
|
#
2bb7774d |
| 26-Feb-2020 |
Kadir Cetinkaya <kadircet@google.com> |
[clangd] Get rid of getBeginningOfIdentifier helper
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https:/
[clangd] Get rid of getBeginningOfIdentifier helper
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D75176
show more ...
|
Revision tags: llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1 |
|
#
777180a3 |
| 28-Jan-2020 |
Benjamin Kramer <benny.kra@googlemail.com> |
[ADT] Make StringRef's std::string conversion operator explicit
This has the same behavior as converting std::string_view to std::string. This is an expensive conversion, so explicit conversions are
[ADT] Make StringRef's std::string conversion operator explicit
This has the same behavior as converting std::string_view to std::string. This is an expensive conversion, so explicit conversions are helpful for avoiding unneccessary string copies.
show more ...
|
Revision tags: llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2 |
|
#
c0ee0224 |
| 04-Dec-2019 |
Alex Lorenz <arphaman@gmail.com> |
[clangd] NFC, add getLangOpts helper to ParsedAST
The addition of the helper is split out from https://reviews.llvm.org/D69543 as suggested by Kadir. I also updated the existing uses to use the new
[clangd] NFC, add getLangOpts helper to ParsedAST
The addition of the helper is split out from https://reviews.llvm.org/D69543 as suggested by Kadir. I also updated the existing uses to use the new API.
show more ...
|