The GNU Modula-2 front end to GCC
GNU Modula-2 Features
- the compiler currently complies with Programming in Modula-2 Edition
2, 3, 4 and ISO Modula-2. Users can switch on specific mutually
exclusive features by using: -fpim, -fpim2,
-fpim3, -fpim4 or -fiso.
- the option -fswig will automatically create a swig interface
file which corresponds to the definition module of the file being
compiled.
- exception handling is compatible with C++ and swig. Modula-2 code can
be used with C or C++ code.
- Python can call GNU Modula-2 modules via swig.
- shared libraries can be built.
- fixed sized types are now available from SYSTEM.
- support for dynamic ARRAYs has been added into gdb.
- variables can be declared at addresses.
- much better dwarf-2 debugging support and when used with
gdb the programmer can display RECORDs,
ARRAYs, SETs, subranges and constant char literals
in Modula-2 syntax.
- supports sets of any ordinal size (memory permitting).
- easy interface to C, and varargs can be passed to C routines.
- many Logitech libraries have been implemented and can be accessed via:
-flibs=m2iso,m2pim.
- coroutines have been implemented in the PIM style and these are
accessible from SYSTEM. A number of supporting libraries (executive
and file descriptor mapping to interrupt vector libraries are
available through the -flibs=m2iso,m2pim switch).
- can be built as a cross compiler (for embedded microprocessors
such as the AVR and the ARM).