[cfe-dev] Integrating clang-based refactoring tools into IDEs - best practices?

Milian Wolff mail at milianw.de
Sat May 30 05:43:44 PDT 2015

Hello all,

for KDevelop, we have a GSOC student this summer doing a R&D project on how we 
could leverage libTooling and friends to create refactoring tools for C++ 
code. I'm pretty sure that this is the correct way in the long run, but I have 
some trouble with the lack of API and ABI stability in the C++ libraries of 
LLVM, most notably libTooling here.

I was thinking about a separate process that works only against a very 
specific LLVM version. Thus, if distributors update LLVM, and the stuff does 
not compile anymore, we only loose the refactoring but not the whole language 
support (based on clang-c).
With this approach though, the cached parse data cannot be shared between 
language support and refactoring...

How do other IDEs handle this situation? Is there maybe an external 
libTooling-c shim or similar that we could leverage?

Milian Wolff
mail at milianw.de

More information about the cfe-dev mailing list