The GNU Modula-2 compiler is one of a number of front end languages to GCC (the GNU Compiler Collection). As such, it has been designed to coexist with other GCC languages. For example, it can be used in mixed language projects and it can catch C++ exceptions and throw exceptions which can be caught by C++. Users can also exploit conditional compilation and full gcc backend optimization and architecture coverage. GNU Modula-2 can produce position independent code and can easily produce shared libraries from modules. The compiler provides a swig interface file generator option, which allows scripting languages such as Python to import modules written in Modula-2 and also catch exceptions thrown by Modula-2. The compiler translates PIM2, PIM3, PIM4, and ISO dialects of Modula-2.