[cfe-dev] clang_getCursorExtent of macro instantiation

Eli Friedman eli.friedman at gmail.com
Thu Oct 25 19:59:41 PDT 2012


On Thu, Oct 25, 2012 at 3:56 PM, Mert Akinc <makinc at gmail.com> wrote:
> I'm using libclang 2.9. It appears that when you call clang_getCursorExtent
> on a cursor that ends on a macro instantiation, the returned extent's end
> location is wrong. It points to the end of the macro definition. For
> example:
>
> #define FOO foo
> int FOO;
>
> The range end I get for the VarDecl cursor points to the first character
> after "foo", so the end location actually precedes the start location. I
> assume this is a bug. Is there a way to work around this and get a
> meaningful extent?

Have you taken a look at clang_getExpansionLocation ?

-Eli



More information about the cfe-dev mailing list