ChuanqiXu9 wrote:

> Hi, sorry if this is off topic -- How can I try this PR?
> 
> I've done the following:
> 
> 1. checked out the latest commit on the `clangmodules` branch 
> ([16541c8](https://github.com/llvm/llvm-project/commit/16541c8bf44cf38497ce6fd7377ee966d61be5aa)),
>  and built it from source.
> 2. Added `clangd` to my path, by sym-linking `$LLVMBUILDDIR/bin/clangd` to 
> `~/.local/bin/clangd`
> 
> ```
> $ clangd --version                                                            
>                                                     (base) 
> clangd version 19.0.0git (g...@github.com:llvm/llvm-project.git 
> 16541c8bf44cf38497ce6fd7377ee966d61be5aa)
> ```
> 
> 3. Built a cmake project after setting `CXX=$LLVMBUILDDIR/bin/clang++`, so 
> that the BMI files that are produced are compatible with clangd.
> 
> Is there more I have to do? I'd prefer not to install it, but could if that's 
> the easiest way to get everything needed in place.
> 
> I have a few major issues:
> 
> 1. This branch seems to crash a lot more often than 18.1.6 did; I never 
> noticed the LSP disconnecting when using v18.1.6, but it is a regular 
> occurrence with this PR.
> 2. I need to run clang++ to see error messages, rather than getting 
> diagnostics from clangd while viewing the files. That is a significant 
> regression compared to using header files. clangd 18.1.6 didn't give 
> diagnostics either, which is why I decided to try this PR.
> 3. The diagnostics I do get tend to be false positives, e.g.
> 
> ```c++
> import Arena; // - In included file: 'std::ranges::__iswap::_IterSwap' with 
> definition in module 'Allocator.<global>' has different definitions in 
> diffe...
> import Array; // - In included file: 'std::fpos' has different definitions in 
> different modules; first difference is definition in module 'Pair.<global>...
> import BoxOpt; // - In included file: 'std::array' has different definitions 
> in different modules; first difference is definition in module 'BoxOpt.<glo...
> ```
> 
> Overall, the developer experience has been significantly worse with modules 
> than it is with headers.

It looks like you're missing enabling the modules support by 
`-experimental-modules-support` option.

https://github.com/llvm/llvm-project/pull/66462
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to