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
check-gm2
- 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
- GM2
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
with gcc-3.3.1
- 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.
- builds
under Redhat 9.0 and Suse
- added the LONGCARD data
type.
- fixed subrange declarations so that they can
be prefixed by a qualident.
- fixed variant record
for ISO syntax, implemented ISO BITSETs.
- fixed
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
expressions.
- finished all PIM standard procedures
- fixed bugs when exporting derived types based on
enumerated types
- introduced examples/pthread
- fixed bug in constant set arithmetic
- fixed
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.
- applied
many optimisation fixes.
- fixed source code line
numbering in debugging information.
- added MathLib0
module, added svga example.
- fixed many floating
point bugs.
- added access to thirty one gcc built-in
functions.
GM2 Release 0.33
- implemented large sets.
- implemented ISO
compliant sets.
- 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
export identifiers.
- gdb has been patched to
understand gm2 large sets, down it here:
gdb-5.2.1+gm2.tar.gz.
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.
- error
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
opaque types.
- the new string module String
is used throughout. String lengths are now dynamic.
- improved the build procedure. (Removed recursive
makes and symbolic links)