GM2 Release 0.42
- MinGW cross compilation port released. Please see
here for building details.
GM2 Release 0.41
- native sparc port passes make gm2.paranoid and make
- native i386 port passes make gm2.paranoid
and make check-gm2
- fixed bug in M2GenGCC.mod,
coerced constant set parameter values to correct set type.
- fixed bug in M2GenGCC.mod when assigning constant
to an ISO WORD
- GM2 passes all 1350 regression tests
builds with gcc-3.3.2
- Introduced a regression test
suite (which works using dejagnu) into CVS
- GM2 release 0.40
- brought GM2 up to date
- many, many bug fixes and no patch is
now required in the garbage collection of gcc-3.3.1
- major recoding of M2Code and the order that
quadruples are coded into GCC trees. This in turn fixes a
very serious nested procedure bug.
- many internal
rewrites resulting in cleaner code.
- fixed a number
of uninitialized variables using valgrind.
under Redhat 9.0 and Suse
- added the LONGCARD data
- fixed subrange declarations so that they can
be prefixed by a qualident.
- fixed variant record
for ISO syntax, implemented ISO BITSETs.
importing of an enumerated element.
- enabled SIZE to
be invoked from constant expressions.
- LENGTH is now
mapped onto M2RTS.Length if the parameter is not a constant
at compile time.
- compiler is now fully PIM compliant. Work is
underway on implementing the ISO Modula-2 semantics (and are
invoked by the language dialect switch -Wiso)
- standard procedures can be called inside constant
- finished all PIM standard procedures
- fixed bugs when exporting derived types based on
- introduced examples/pthread
- fixed bug in constant set arithmetic
automatic export of unqualified identifiers from a
DEFINITION MODULE FOR "C"
- gm2/examples/vga.def generated by h2def
- better support for gdb from ARRAY OF CHAR
- some portability features of p2c fixed, so that p2c
builds cleanly under Apple Darwin
- introduced a
tool, h2def, to aid production of DEFINITION MODULE FOR
"C" modules from C header files.
many optimisation fixes.
- fixed source code line
numbering in debugging information.
- added MathLib0
module, added svga example.
- fixed many floating
- added access to thirty one gcc built-in
GM2 Release 0.33
- implemented large sets.
- implemented ISO
- when gm2 is invoked with
-gstabs a patched gdb will display set
contents. This also works well with SET OF CHAR.
- definition modules no longer have to explicitly
- gdb has been patched to
understand gm2 large sets, down it here:
GM2 Release 0.32
- the Makefile.in’s have been modified to
understand VPATH. Thus adhering to the convention of
building outside the source tree. Particularly useful when
building gm2 for different architectures as only one source
tree is required.
- gm2 can be built as a native or
as a cross compiler (and has been
cross targeted to the strongarm).
- the sources to
gm2 should now be grafted onto the gcc- source tree.
- it now understands DEFINITION MODULE FOR
"C" and will handle C varargs. Printf can now be
used in modula-2 programs.
- -Wmakeall is
now available and allows a user to request all defendant
modules be compiled and linked. Internally gm2 builds a
makefile and runs make on it.
- it now uses a machine
generated parser and a flex built lexical analyser.
- the C preprocessor can be invoked and it processes
both definition and implementation modules.
reporting understands preprocessed Modula-2 source.
- the bootstrap tool p2c has been tidied up and in
turn this has allowed the compiler to be implemented using
- the new string module String
is used throughout. String lengths are now dynamic.
- improved the build procedure. (Removed recursive
makes and symbolic links)