[cfe-dev] RFC: A proposal for a Clang-based service architecture

Tobias Grosser tobias at grosser.es
Tue Jun 12 07:33:13 PDT 2012

On 06/12/2012 12:43 PM, Chandler Carruth wrote:
> Greetings all!
> What follows is a fairly lengthy and detailed design document for a
> proposed persistent Clang server (or clangd in unix-terms) to serve as
> infrastructure for increasingly advanced and interactive C++ tools. It
> should generalize and build upon libclang, and will allow us to
> effectively target Vim, Emacs, and other editors. This is something
> we're planning to pursue in the near term, so I'd appreciate any and all
> feedback.
> Here is a Google Docs link you can use to view and comment on the proposal:
> https://docs.google.com/document/d/1kNv2jJK0I0JGnxJxU6w5lUOlrIBoecU4fi9d_o5e2-c/edit
> Its interim home is on github here, where you can see the history and
> the actual rest version in all its glory:
> https://github.com/chandlerc/llvm-designs/blob/master/ClangService.rst
> I've also attached the text for email-based comments.

Hi Chandler,

I really like the proposal. Thanks a lot for going into this direction.

I have one question:

You want to implement a binary compatible interface of libclang, but at 
the same time you plan to provide only a subset of libclang.
This might cause a conflict, as it will not allow an editor to use both 
libclang for the cursor interface and the persistent clang server for 
the services it already supports. Is there a reason people may want to 
implement something like this and should we make sure it is supported?

Otherwise I really like the direction this is going. Especially 
continuing the use of libclang and the python interfaces will allow 
tools like the vim clang_complete to move to this new service easily.
I will point the clang_complete guys to this proposal.


More information about the cfe-dev mailing list