[cfe-dev] A checker that checks macro calls
Eli Friedman
eli.friedman at gmail.com
Mon Jun 24 15:53:02 PDT 2013
On Mon, Jun 24, 2013 at 3:15 PM, Todd Nowacki <nowacki724 at gmail.com> wrote:
> Hi,
>
> I'm currently trying to implement a checker that needs to know when a
> certain macro is invoked.
>
> For example, if I had something like:
> #define MY_MACRO(x) ...
>
> I would want to check if the statement is MY_MACRO and then inspect its
> argument.
>
> I see that with checkPreStmt or checkPostStmt. I can check if it is a
> macro, via getLocStart and isMacroID. Is there a way to get the name of the
> macro and it's argument (if it has one)?
> I see that MacroInfo could be used to get the args possibly, but it
> doesn't seem to give me the name.
>
You can get the name of the macro by looking into the source buffer; get
the expansion location and use something like Lexer::getRawToken to pull
out the name.
-Eli
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130624/2314f96c/attachment.html>
More information about the cfe-dev
mailing list