[PATCH] D124909: Fix issues with using clangd with C++ modules

2022-05-09 Thread Nathan Ridge via Phabricator via cfe-commits
nridge added a comment. In D124909#3501896 , @sammccall wrote: > I think first steps are pretty high level, to understand: > > - what the goals are (e.g. performance, easier integration with build system, > work with modules syntax features, ...) I'll s

[PATCH] D124909: Fix issues with using clangd with C++ modules

2022-05-09 Thread Sam McCall via Phabricator via cfe-commits
sammccall added a comment. Hi Kugan, I apologize in advance for a frustrating and long-winded answer... There's no modules support in clangd in large part because we don't know where to start. - clangd devs so far are not experts in modules and didn't have a burning use case, I suspect you can

[PATCH] D124909: Fix issues with using clangd with C++ modules

2022-05-07 Thread Kugan Vivekanandarajah via Phabricator via cfe-commits
kuganv added a comment. @sammccall, What are the first steps that is needed for supporting modules with clangd. From what I see, options related to handling comments that are specifically added to the compile options by clangd needs handling. This RFC diff is on that note. AFIK, since, clang

[PATCH] D124909: Fix issues with using clangd with C++ modules

2022-05-04 Thread Kugan Vivekanandarajah via Phabricator via cfe-commits
kuganv added a comment. Thanks a lot for the detailed. comment. Yes, you are right in that we are using build system (buck) to build the modules and provide as part of the CDB. This is fairly cheap when we hit the buck cache that is also shared by others. You are right in that the PCM format is

[PATCH] D124909: Fix issues with using clangd with C++ modules

2022-05-04 Thread Sam McCall via Phabricator via cfe-commits
sammccall added a comment. To back up a bit... Until now I don't think we've had a serious effort/plan for supporting modules in clangd, or AFAIK in clang tools in general. To the extent that modules work, it's a side-effect of how we use clang's driver + compilation database, and inherit behav