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 language features by using:
-fpim,-fpim2,-fpim3,-fpim4or-fiso.the option
-fswigwill 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 intogdb.variables can be declared at addresses.
much better dwarf-2 debugging support and when used with
gdbthe programmer can displayRECORDs,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=m2log,m2pim,m2iso.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,m2pimswitch).can be built as a cross compiler (for embedded microprocessors such as the AVR and the ARM).