[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


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


        * gm2/  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
        * 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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]