[cfe-dev] c-index-test?

Ted Kremenek kremenek at apple.com
Fri Oct 16 10:54:39 PDT 2009


On Oct 16, 2009, at 10:39 AM, John Thompson wrote:

> Question:  Why does this library need to be a shared library?  It  
> seems all the other libraries are not.

Yes.  This library differs from the other libraries in that it vends a  
stable C API instead of an internal C++ API.  This shared library is  
intended be used as a component of other software that wishes to use  
Clang through a stable interface but not be directly exposed to  
Clang's internal implementation.

We already have a precedent for a shared library in LLVM: lto.  I'm  
not certain if that builds on Windows or not.  If it doesn't, we can  
always disable building the CIndex shared library on Windows until  
someone cares to support it on that platform.

>
> The missing basename symbol is a problem.  I took a guess that it  
> returns a pointer to the base part of a file path (i.e. given "/path/ 
> basename.ext", it will return a pointer to the "basename.ext" part),  
> but the test still fails.  I'll look into it more later today.

Thanks!

> What is this app for?

The shared library is meant to service a general purpose, relatively  
stable C API (in evolution) for building applications on top of Clang  
that want to perform some kind of reasoning about source code without  
directly interacting with Clang's internals.



More information about the cfe-dev mailing list