[cfe-dev] Fwd: I am trying to using clang to do autocomplete, How to go to declaration of a macro?
Alex L via cfe-dev
cfe-dev at lists.llvm.org
Wed Nov 23 03:39:51 PST 2016
I'm not sure that I understood your question correctly, but if you are
working on auto completion then you can use
Preprocessor::getMacroDefinition to lookup the definition of a some macro.
Specifically, as long as you're working with Sema, you can use code similar
to the one below:
for (const auto &M : PP.macros()) {
auto MD = PP.getMacroDefinition(M->first);
if (MD) {
// you have access to macro definition here and can lookup it's
source location
// by using MD.getMacroInfo()->getDefinitionLoc()
}
}
Alex
On 23 November 2016 at 11:00, 罗勇刚(Yonggang Luo) via cfe-dev <
cfe-dev at lists.llvm.org> wrote:
>
> ---------- Forwarded message ----------
> From: 罗勇刚(Yonggang Luo) <luoyonggang at gmail.com>
> Date: Wed, Nov 23, 2016 at 6:58 PM
> Subject: I am trying to using clang to do autocomplete, How to go to
> declaration of a macro?
> To: Clang Dev <cfe-dev at cs.uiuc.edu>
>
>
> For exmaple
>
> #define FOO 0
>
> int foo() {
> int x = FOO; /* How to go to decleration of FOO here? *./
> }
>
> --
> 此致
> 礼
> 罗勇刚
> Yours
> sincerely,
> Yonggang Luo
>
>
>
> --
> 此致
> 礼
> 罗勇刚
> Yours
> sincerely,
> Yonggang Luo
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20161123/44ed8e98/attachment.html>
More information about the cfe-dev
mailing list