Determining the technical requirements for a potential "gcc plugin API/SDK", primarily based on http://gcc.gnu.org/ml/gcc/2008-09/msg00292.html (this discussion still needs to be summarized here).
Please feel free to add relevant contents, thanks!
Application Areas for plugins in gcc
* creating experimental optimization passes
* prototyping code analysis passes (not related to code generation)
* ...
Stages to be supported by plugins
Features that shall be supported
* ...
* ...
* ...
Design decisions
* platform support
* plugin versioning
* Plugin dependencies?
* plugins and optimisation passes?
* explicit vs. implicit plugin loading (i.e. automatically loaded plugins?)
More involved use case scenarios
* Multiple installed versions of GCC
* Multiple installed builds for the same version of GCC (Is this worth catering for?)
* Cross compilers
* Finding the directory where to install a plugin should not be TOO difficult for an external plugin project
Facilitities that shall be exported ("Hooks")
User Interface Requirements