chriselrod 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 (16541c8bf44c), 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. 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