Image gm2-1.png

Licence
Documentation
Successful 0.61 builds
Older builds
Limitations
Building GNU Modula-2
GM2 development download via CVS
GNU Modula-2 Debian binaries
GM2 and GCC tarball download
Contributing code
Objectives
Mailing list
Other languages for GCC

The home of the GNU Modula-2 compiler. This compiler is still in development.

The compiler has undergone quite a number of changes recently and the current release is gm2-0.61. It can build all of the University of Ulm libraries. The result of the GNU Modula-2 regression tests for the current CVS snapshot can be found here. The pure64 results are generated nightly from the CVS sources.

Recent news in GNU Modula-2:

  • 0.61 has been released. Also gm2 has been released as .deb packages. See the section: GNU Modula-2 Debian binaries.
  • support for dynamic ARRAYs has been added into the gdb CVS (October 2007).
  • variables can now be declared at addresses.
  • much better dwarf-2 debugging support and when used with gdb-6.5 the programmer can display RECORDs, ARRAYs, SETs, subranges and constant char literals in Modula-2 syntax.
  • it currently complies with Programming in Modula-2 Edition 2, 3 and 4. Users can switch on specific mutually exclusive features by -fpim or -fpim2.
  • supports sets of any ordinal size (memory permitting).
  • implements ISO Modula-2 SYSTEM which can be switched on via: -fiso. Several ISO features are implemented and it is the goal that eventually GNU Modula-2 will be fully ISO complient (see the release map for details in the documentation).
  • easy interface to C, and varargs can be passed to C routines.
  • University of Ulm libraries are installed together with the compiler and can be accessed via: -flibs=ulm
  • some Logitech libraries have been implemented and can be accessed via: -flibs=logitech
  • 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=pim-coroutines switch).