[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gm2] latest gm2 changes
From: |
Gaius Mulley |
Subject: |
[Gm2] latest gm2 changes |
Date: |
11 Jul 2007 21:09:43 +0100 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 |
Hi,
I've just checked in many changes to gm2 which allow it to build with
a patched version of gcc-4.1.2. This can be automatically done if you
use gm2-harness-0.96 (however I'll be releasing a new version of
gm2-harness soon - as 0.96 builds really slowly as it enables many
runtime checks). The new version of gm2-harness will have both
occurrences of '--enable-checking' removed from shell-bin/remake.
Anyway here are the changes extracted from the ChangeLog. The changes
are significant as they allow gm2 to be built with full optimising on,
for the first time.
The patch to gcc disables garbage collection (hiding a bug in gm2) -
thus it must be applied. A case of 'deja vous' with this particular
bug..
regards,
Gaius
* gm2/Make-lang.in: added interactive debugging module
gm2/m2pp.o to link targets.
* gm2/gccgm2.c: rewritten pushdecl and friends and vastly
simplified and reduced the code. Modified all parameters
to use ANSI C rather than K&R C. Rewritten create
gccgm2_BuildStartFunctionCode and gccgm2_BuildEndFunctionCode.
Also ensured that all variables are added to the statement list
via DECL_EXPR and ensured that BIND_EXPR and BLOCKs are created
in exactly the same way as their C counterparts.
Fixed important bug in creating TREEs which represent parameters.
* gm2/m2pp.c: new interactive debugging module will print a GCC
tree using Modula-2 syntax.
* gm2/m2pp.h: prototype for the above.
* gm2/gm2-compiler/M2GCCDeclare.mod: unbounded types are now uniquely
created from their basic type. Improved debugging of unbounded type.
* gm2/gm2-compiler/M2GenGCC.mod: DoCopyString new function which is
used by CodeBecomes and CodeXIndr. Simplified CodeIndrX and CodeXIndr
in light of bugs fixed in gm2/gccgm2.c.
* gm2/gm2-compiler/M2Quads.mod: made the type following more accurate
during the construction of array arithmetic and indirection. This
in turn allows -O to be used in GCC's backend.
* gm2/gm2-compiler/SymbolTable.def: modified interface to unbounded
symbols.
* gm2/gm2-compiler/SymbolTable.def: implemented above.
* GM2 now builds when -O is suppled to stage2 or stage3.
* GM2 now builds with (a patched) gcc-4.1.2
- [Gm2] latest gm2 changes,
Gaius Mulley <=