<div dir="ltr"><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:13px"><div style="margin-top:0px;margin-right:0px;margin-bottom:8px;margin-left:0px"><p style="margin:0px">Hi!</p><p style="margin:0px"><br></p><p style="margin:0px">First of all, thank you for all the work on <span class="gmail-il">LLVM.</span> I've been playing with libclang for a while and it's been an enjoyable experience.</p><p style="margin:0px"><br></p><p style="margin:0px">I'm using libclang to build cross-references for a C++ codebase. I use the `clang_indexTranslationUnit` API, which works very well, but unfortunately</p><p style="margin:0px">reports declarations and references that are coming from macro expansions.</p><p style="margin:0px"><br></p><p style="margin:0px">Now, declarations and references from macro expansions don't really have locations in source code, so I'd love to ignore them.</p><p style="margin:0px"><br></p><p style="margin:0px">My questions are:</p><p style="margin:0px">- Is there a way to detect declarations and references from macro expansions?</p><p style="margin:0px">- If not, shall I switch to `clang_visitChildren` API instead?</p><p style="margin:0px">- Alternatively, would it be a good idea for me to try contributing a new `CXIndexOpt_IgnoreMacroExpansions` option to the API?</p><p style="margin:0px"><br></p><p style="margin:0px">Thanks,</p><p style="margin:0px"><a></a>Andrey</p><p></p></div></span></div></div></div>