<div dir="ltr">Hi all,<div><br></div><div>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.</div><div>(presumed location start, presumed location end, spelling location start, spelling location end, declaration kind)</div>
<div><br></div><div>But we still have a problem.</div><div><br></div><div>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)</div>
<div><br></div>I tried using spelling locations, presumed locations, SourceManager::getExpansionLoc on the spelling location. All give the same locations for cpowf and __cpowf.<div><br></div><div>Is there any way to achieve what I try to do here?</div>
<div><br></div><div>Thanks for your time<br><div><div><br></div>-- <br><div dir="ltr"><br>George Kastrinis<br><a href="http://gkastrinis.info/" target="_blank">http://gkastrinis.info/</a><br></div>
</div></div></div>