[PATCH] D70351: [clang][WIP][clang-scan-deps] Add an experimental C API.

Michael Spencer via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 20 16:34:31 PST 2019


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





More information about the cfe-commits mailing list