Last month I asked a question about locating the C++ standard headers on Windows. Moving to clang 3.7.1 helped greatly in solving this issue.
At this point we have the AST and a visitor callback. We can navigate through a good deal of the clang parsing however we are running into numerous problems. Given cursor kind is equal to CXCursor_CXXMethod, the following does not work for a volatile qualified method.
CXType type = clang_getCursorType(cursor);
bool isVolatile = clang_isVolatileQualifiedType(type);
isVolatile is always false.
We are running into similar issues with final, default, delete, explicit, inline, and noexcept.
If anyone has any working code or suggestions for detecting these keywords using Cursors, your help would be greatly appreciated.