Compiler plugins (or loadable modules) make it possible for a developer to add new features to the compiler without having to modify the compiler itself. Plugin support is available in GCC version 4.5.0 and later. Plugin functionality provides several advantages:

This page contains links to API documentation and provides a directory of known GCC plugins. If you have any questions about developing your own compiler plugin, please contact us at .


Compiler plugins repository

The following directory lists all the existing GCC plugins that we know about. Please note that these modules are not maintained by GCC developers, so asking about them on the GCC lists may not give you the answers you want (though, it is likely that plugin developers are also subscribed to the GCC lists).

If you have developed a plugin (under a GPL compatible license), add it to this list and let us know about it by posting an announcement on .


Brief description



Static analysis tool for C++


LLVM backend for GCC


Multiple high-level ICI plugins for function level pass selection and reordering, static feature extraction for machine learning and optimization prediction, tuning of fine-grain program optimizations, program instrumentation and function run-time adaptation.

development website Google Summer of Code'09 extensions development mailing list that eventually should merge with the main GCC mailing list


Lisp dialect for middle end

MiddleEndLispTranslator a framework for writing middle end analysis and passes in a Lisp like high level language


ODB is an object-relational mapping (ORM) system for C++. It allows you to persist C++ objects to a relational database without having to deal with tables, columns, or SQL and without manually writing any mapping code.

ODB project page


A gcc plugin, which can be loaded when debugging gcc, to show internal structures graphically

project page


Embeds a Python interpreter inside GCC, allowing various visualizations and static analysis


Proof-of-concept extension allowing GCC to be extended in Guile Scheme


C-family language extensions and run-time support for heterogeneous CPU/GPU programming


Extensible shared-memory access instrumentation and dynamic analysis for debugging and understanding concurrent programs


Automatic static instrumentation tool by rewriting GCC GENERIC tree at compile time

grsecurity kernel

Plugins to help with the task of creating a more secure kernel. LWN articleSlides of PaX talk

None: plugins (last edited 2015-08-22 16:59:29 by ManuelLopezIbanez)