Add more extensions for clangd and ccls#1423
Add more extensions for clangd and ccls#1423silvanshade wants to merge 3 commits intooraios:mainfrom
Conversation
49ec9d9 to
0b00a3f
Compare
|
Thanks for the PR! ccls tests on windows fail and then hang forever, I will review once tests run through in CI |
0b00a3f to
6e95016
Compare
The windows CI installs I didn't modify I didn't debug further since I don't see much point in trying to track down the error in the old version. Building a recent Simplest fix seems to be just to disable the |
6e95016 to
d68d7d7
Compare
The most recent binary available for ccls on Windows is 0.20220729 from chocolatey. This is an old version corresponding to LLVM-15 and crashes when parsing the test files.
The CPP_CCLS tests are disabled on Windows.
d68d7d7 to
41b07b8
Compare
This is a follow up to #1410.
This PR registers several more extensions for
clangdandccls.Most of these extensions are taken directly from the
clangdriver frontend source:https://github.com/llvm/llvm-project/blob/08992737d23113d3b9a78974b87b1ba3e7ecb6cb/clang/lib/Driver/Types.cpp#L309
The one exception is
*.ixx. This is the default extension Visual Studio uses for C++20 module interface files:https://learn.microsoft.com/en-us/cpp/cpp/modules-cpp?view=msvc-170#single-partition-modules
The clang source doesn't reference the extension but
clangddoes read the files without issue.The additional extensions add support for the following:
clangdcclsI opted not to associate C++20 module interface files with
cclssince it sounds like that isn't actually supported: MaskRay/ccls#798 If enabling it in the tests, it does seem to return symbols for the very simple case we have in the test repo though.Same story for CUDA, HIP, and OpenCL. However, in those cases
cclsalso seems to be returning keywords (e.g,__global) as symbols, suggesting it doesn't properly recognize the AST and likely the results would not be reliable.Related: #1259