[PATCH] D34512: Add preliminary Cross Translation Unit support library

Devin Coughlin via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 20 15:49:13 PDT 2017


dcoughlin added a comment.

I'm OK with this going into the repo a is (although it is light on tests!), as long as we have an agreement that you'll be OK with iteration on both the interface and the implementation to handle real-world projects.

More specifically, for this to work well on large/complicated projects we'll need to:

- Move conflict resolution from index generation where it is now to query time so that clients can pick the best implementation of a function when multiple are found. This is important for projects that have multiple functions with the same name or that build the same file in multiple ways.
- Change function lookup from needing to traverse over the entire AST.
- Move away from a linear, flat-file index to something that can handle larger projects more efficiently.

For this last point, I suspect it will be good to adopt whatever Clangd ends up using to support indexing. (There has been some discussion of this relatively recently on the cfe-dev list.)


https://reviews.llvm.org/D34512





More information about the cfe-commits mailing list