Ignore certain macros during AST generation


I using the RecursiveASTVisitor class to parse C programs.

The programs contain certain compiler specific macros like using, eg, asm, interrupt, __a0 and so on.
Is there a compiler option in clang to ignore this Marocs?
Or this there a way to do the same using libtooling interface?

Note: QAC/ QAC++ offers option to redefine the macro with values like _ignore to remove it’s effect during parsing

References Link:

  1. http://johnnygreen.biz/QACpp_Component_Manual.pdf#Ignoring tokens and keywords

  2. http://products.programmingresearch.com/Docs/Getting_Started_2.0.pdf

Thank you in advance.