Bigcheese added a comment.

In D70351#1754276 <https://reviews.llvm.org/D70351#1754276>, @arphaman wrote:

> Adding experimental APIs is something that we haven't done before, but it be 
> useful for this case.


Yep, I'm currently aware of two other people who care about this interface, so 
I thought it would make sense to do the development of the API upstream.

> I have a couple of questions about the API:
> 
> - Should types be prefixed / suffixed with experimental / v0 in case we need 
> to extend the information passed to the client?

I don't think the type names matter unless someone plans to write a user of 
this API that can handle multiple versions at the same time (which means they 
aren't using this header). The function names matter as that's what shows up in 
the symbol table.

> - The types look to be more geared towards Clang modules (like the addition 
> of a module map path). Do you think the same types could be used for C++ 20 
> modules as well, or should C++ 20 modules have a completely separate API?

C++20 modules will need to use the same API as we intend to support mixing 
Clang modules and C++20 modules. The types will need to be modified slightly to 
work for C++20 modules, I just haven't gotten to that yet. C++20 module 
interfaces don't need a module-map or equivalent, and C++20 header units will 
just need to know the header file they are for.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D70351



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

Reply via email to