[cfe-dev] Clang, Macros and Locations

George Kastrinis george.kastrinis at logicblox.com
Tue Aug 13 11:12:28 PDT 2013


Hi all,

We are working on a Clang plugin, and we wan to have a way to uniquely
identify every declaration in a C++ program. We tried using the following.
(presumed location start, presumed location end, spelling location start,
spelling location end, declaration kind)

But we still have a problem.

For example, in /usr/include/x86_64-linux-gnu/bits/cmathcalls.h, line 101 a
macro called _MATHCALL is used. If you look at /usr/include/complex.h, line
65 where the macro is defined, you will see that the macro uses other
macros inside and create two functions (e.g. cpowf and __cpowf)

I tried using spelling locations, presumed locations,
SourceManager::getExpansionLoc on the spelling location. All give the same
locations for cpowf and __cpowf.

Is there any way to achieve what I try to do here?

Thanks for your time

-- 

George Kastrinis
http://gkastrinis.info/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130813/0473ced0/attachment.html>


More information about the cfe-dev mailing list