[cfe-dev] Distinguishing system headers from user headers using libclang

Argyrios Kyrtzidis akyrtzi at gmail.com
Thu Apr 4 15:22:26 PDT 2013

On Apr 2, 2013, at 1:33 AM, Mikołaj Siedlarek <m.siedlarek at nctz.net> wrote:

> Hi,
> I'm writing a simple code dependency analysis tool using libclang and I'm missing some way of distinguishing system headers from user headers. I see clang::DirectoryLookup::getDirCharacteristic() provides such interface, but is there any way I could obtain this information using just libclang? My tool is rather simple and I'd like to keep it that way - libclang seems to be sufficient for the rest of my needs.

There is no way currently, but it should relatively easy, are you interested in providing such a patch ?
The clang function you may need to look into using is "SourceManager::isInSystemHeader(SourceLocation Loc)"
The libclang function would accept a CXTranslationUnit and a CXSourceLocation.

> Thanks,
> -- 
> Mikołaj Siedlarek
> m.siedlarek at nctz.net
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130404/576d3a2a/attachment.html>

More information about the cfe-dev mailing list