bkramer added a comment.

libclang is supposed to be used for bindings to other languages (it's a pure C 
interface) and its stable. ASTUnit is the C++ side of libclang, libclang is 
just a thin wrapper around ASTUnit. ASTUnit itself suffers from lots of 
technical debt because clang changed since ASTUnit was created and ASTUnit was 
never refactored to accommodate that.

Even in the current state using ASTUnit gives you more control over clang, e.g. 
it lets you use the VFS which is not exposed in libclang. At some point we're 
going to need a cleaner replacement for ASTUnit, but currently it's the only 
place in clang that supports the precompiled preamble needed for speedy code 
completion.


Repository:
  rL LLVM

https://reviews.llvm.org/D31019



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to