[PATCH] D137770: [docs] Introduce clangd part in StandardCPlusPlusModules

Nathan Ridge via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 23 00:49:32 PST 2022


nridge added a comment.

In D137770#3945095 <https://reviews.llvm.org/D137770#3945095>, @spartacoos wrote:

> I realised this is an active issue that's not being worked on. So, I want to put myself forward to help implement this new module system for clangd once you have settled on a design/approach.

Well, an issue here is that a design isn't actively being worked on either :) So it's probably best to start there.

I think a good starting point would be Sam's list of "issues that need to be addressed" in this comment <https://github.com/clangd/clangd/issues/1293#issue-1374964149>.

A concrete way to make progress here might be:

- Identify scenarios that we explicitly do not want to support. An example might be "consuming binary module artifacts produced by a non-clang compiler".
- Of the scenarios that we do want to support, identify a subset to focus on implementing support for in an initial implementation ("support now" vs. "support later"). For example, we could start by limiting support to cases where clangd builds all modules from source itself and does not try to consume binary module artifacts built by anything other than itself. (Alternatively, we could start by limiting support only to cases where we assume the build compiler is version-locked to clangd and _only_ consume binary module artifacts built by the build compiler.) Since you're looking to work on this, the choice of subset can of course be informed by what scenarios you care about.
- Go through the "list of issues", and propose answers that are suitable for the "support now" scenarios, while still leaving open a path to bring the "support later" scenarios onboard.

We can then discuss the proposed approach in the issue and iterate on it.

> Are there any other resources where I can learn more about clangd development?

The clangd website and particularly the design section <https://clangd.llvm.org/design/> are probably helpful reading, especially to understand some of the concepts like "preamble" discussed in the above list.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D137770/new/

https://reviews.llvm.org/D137770



More information about the cfe-commits mailing list