[cfe-dev] TypeAliasDecl SourceRange is not giving proper range

Abir Basak abirbasak at gmail.com
Thu Mar 28 05:29:32 PDT 2013

I am new to clang ast, and trying to parse some c++ code with it.

When I am using TypedefDecl->getSourceRange() for say
typedef long double LDBL it returns the whole thing
However when I am using TypeAliasDecl->getSourceRange() for say
using LDBL = long double
it only returns the range using LDBL = long. (i.e removes the double part)

I used the code below to extract text from SourceRange
char const* first = sm.getCharacterData(r.getBegin());
 char const* last = sm.getCharacterData(pp.getLocForEndOfToken(r.getEnd()));
 return std::string(first,last);

Am I doing something wrong? How can I get the whole source range, and esp
the type part of it i.e. long double part, so that I can rearrange it as
typedef long double LDBL
I am using clang 3.2 with RAV

Any help will be appreciated.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130328/a1a43b35/attachment.html>

More information about the cfe-dev mailing list