[cfe-dev] Clang, Macros and Locations
Sam Parker
S.Parker3 at lboro.ac.uk
Thu Aug 15 10:10:27 PDT 2013
Hi George,
I was having a similar problem with source locations and macros, but I
was doing source-to-source transformations. I don't know if it will help
you, but I first expanded all the macros using a RewriteMacrosAction,
and that gave me valid SourceLocations to rewrite to.
Regards,
Sam
On 13/08/13 19:12, George Kastrinis wrote:
> 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/
>
>
> _______________________________________________
> 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/20130815/6bee8a71/attachment.html>
More information about the cfe-dev
mailing list