I've committed some fixes that make the plugin work with GCC 4.7 (or, at
least, the gcc-4.7.0-0.2.fc17.x86_64 on my test box).
Doing this [1] requires a configuration mechanism, so that we can detect
the features of the gcc we're building against at the beginning of the
build, and conditionalize things accordingly.
So the Makefile has gained a new step in which an autogenerated-config.h
is created; the output deliberately mimics that of an autoconf-generated
"configure" script, but the configurator is written in Python, rather
than m4.
Hopefully this doesn't break the build for anyone.
Dave
[1] gory details: gcc.Block.vars no longer contains unused globals in
gcc 4.7 (see
https://fedorahosted.org/gcc-python-plugin/ticket/21 ),
which broke the cpychecker code's usage of various CPython globals
during its analyses (type objects such as "PyList_Type" and exception
objects such as "PyExc_MemoryError"). It now works around this by using
the new gcc.PLUGIN_FINISH_DECL event to get at these as they're parsed,
if that event is available, otherwise doing it the old way.