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 not stable and clangd can only consume 
modules if the build system uses the exact same version of the clang. We do 
have checks in ASTReader that validates this. I don’t see anyway we can relax 
this unless we formalise AST and guarantee full compatibility. For our use, we 
expect to use the exact same version of clang as clangd for building the PCM.

As for different modes, unless I am missing something, we should only care 
about modes that we explicitly set in clangd. We should expect the modules in 
CDB should match the options provided by CDB. We could  relax some these if 
they difference does not matter.

My main goat of this patch is to enable middles so that we can test is more 
widely.  I understand that we would find more issues that may need fixing,


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D124909

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to