[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

Chuanqi Xu via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 6 02:23:59 PDT 2024


ChuanqiXu9 wrote:

> Just a note, I am building on Windows with MSVC cl.exe and ninja and get this:
> 
> ```
> C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\memory(3138): error C2027: use of undefined type 'clang::clangd::ProjectModules'
> ```
> 
> While building ConfigCompile.cpp.obj, I was able to solve it by adding `#include "ProjectModules.h"` into `ConfigCompile.h` before `#include "GlobalCompilationDatabase.h"`.
> 
> Likewise with `BackgroundIndexLoader.cpp.obj` and adding to `index\background.h`, it appears any time `GlobalCompilationDatabase.h` is included that `ProjectModules.h` would need to be included first. It also seems like `ProjectModules.h` cannot be included in `GlobalCompilationDatabase.h` due to a circular dependency. I am still building so there might be similar issues somewhere else in the codebase but this is the base issue.
> 
> Not sure how to resolve other than adding a `#include` everywhere, seems like there an issue with include order on MSVC or something.

I can't reproduce this. I can't find `ConfigCompile.h` even. But I made some changes about the interface to the patch from the suggestion of @kadircet . So I guess maybe it worth a new try.

https://github.com/llvm/llvm-project/pull/66462


More information about the cfe-commits mailing list