[cfe-dev] Status/Future of libclang

Jonathan Müller via cfe-dev cfe-dev at lists.llvm.org
Fri Jul 8 12:10:30 PDT 2016


Hello,

I'm working on a C++ documentation generator "standardese" 
(https://github.com/foonathan/standardese/). I'm using libclang for parsing.

Unfortunately I've run into an issue with it: the API isn't providing me 
all the information that I need. There are things that aren't exposed by 
the API, for example whether a constructor is explicit, a function 
constexpr, or the noexcept expression.

I was forced to go to manual parsing of the source code of a cursor by 
tokenizing it with the help of Boost.Wave (because libclang doesn't give 
me the preprocessed tokens). This worked relatively good but I now ran 
into an issue with template specializations (parsing `template <> class 
c<a < b> {};), so my naive approach doesn't work anymore and I'd need to 
write a fully fledged parser.

I've also encountered a few things that might be bugs.
I can report those, but when looking at 
https://llvm.org/bugs/buglist.cgi?product=clang&component=libclang&resolution=---&list_id=100919, 
there are almost only unassigned, NEW bugs.

I would volunteer to maintain it myself but I have no experience with 
the internal APIs or the clang project and I'm lacking the time to learn 
them *and* work on standardese.

So my question: Is there someone actively maintaining libclang? What are 
the future plans for the API?
If there is someone I'll provide active feedback and feature requests.

Jonathan



More information about the cfe-dev mailing list