How to get AST for C source in plugin?

Ilya Caramishev caramishev@gmail.com
Sat Dec 26 00:08:00 GMT 2009


Hi,

I'm trying to do some static analysis of C source using GCC 4.5 and my 
plugin.

I've tried registering my plugin for PLUGIN_FINISH_UNIT event. My plugin 
gets called, but I couldn't find a way to access AST - nothing is passed 
to my plugin as parameter. Maybe there is some GCC's global variable 
that contains AST I can use?

Alternatively I've tried Kenji Koyanagi's patch 
(http://gcc.gnu.org/ml/gcc/2009-03/msg00136.html) and it worked just 
fine, but I don't know whether this patch is going to be accepted in GCC 
4.5 codeline, which can be a show-stopper for me, because I want my 
plugin to work with standard compiler. Are there plans to add 
PLUGIN_C_PRE_GENERICIZE event to GCC plugin infrastructure?

Are there any other ways to get AST for the whole translation unit or 
separate functions in my plugin?

Regards,
Ilya



More information about the Gcc-help mailing list