[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gm2] latest changes

From: Gaius Mulley
Subject: [Gm2] latest changes
Date: Thu, 10 Jun 2010 22:48:03 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)


quite a few changes have been checked into the CVS, in summary:

   *    gm2-0.90 has been released and a x86_64 binary has been built.
   *    the cvs version is 0.91
   *    work is underway to handle alignment of record fields, types,
        arrays and pointers (two bugs outstanding - but the code has
        been written).
   *    remade the documentation (and introduced a new section on
        producing a Python module).
   *    I've fixed a bug someone reported when compiling gm2 on a Mac
        platform - it crashed when compiling Executive.mod.  This
        also occurred on my mac (Leopard)

        Darwin gaius-mulleys-macbook-pro.local 9.8.0 Darwin Kernel Version
        9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 

        and now compiles fine using:


rm gcc-4.1.2+gm2-cvs-latest.tar.gz
rm -rf build-4.1.2
-o gcc-4.1.2+gm2-cvs-latest.tar.gz
tar zxf gcc-4.1.2+gm2-cvs-latest.tar.gz
mkdir build-4.1.2
cd build-4.1.2
env CONFIG_SHELL=/bin/bash SHELL=/bin/bash \
 ../gcc-4.1.2+gm2-cvs-latest/configure --enable-checking \
 --disable-multilib --enable-languages=c,c++,gm2 --prefix=$HOME/opt \
 --with-gmp  --with-mpfr
env CONFIG_SHELL=/bin/bash SHELL=/bin/bash make
env CONFIG_SHELL=/bin/bash SHELL=/bin/bash make install

In essence I'll attempt to fix outstanding bugs and port to the
mac, i386 debian and then I think it is time to release 1.0.
Hopefully over the next 2-3 weeks the versions will steadily
increase each time a port/major bug is fixed.


now for the complete changelog:

    * gm2/gm2-compiler/M2Quads.mod:  bug fix so that it
      builds under MacOS X.  Compiling Executive.mod would
      cause it to fail.
    * gm2/bnf/m2-2.bnf:  test bug fix for field alignment.
    * gm2/gm2-compiler/M2Quads.mod:  import IsLegal and
      create asserts when OperandMergeRW is used.  An attempt
      at laying a trap to catch the bug exposed on the MacOS X
    * gm2/gm2-compiler/P2SymBuild.def:  add alignment to the
    * gm2/gm2-compiler/SymbolTable.def:  define and export
    * gm2/gm2-compiler/SymbolTable.mod:  implement IsLegal.

    * gm2/gm2-compiler/gccgm2.def:  renamed BuildAlignment to
      * gm2/gccgm2.c:  renamed BuildAlignment to SetAlignment.
    * gm2/gm2-compiler/M2GCCDeclare.mod:  renamed BuildAlignment
      to SetAlignment.
    * gm2/gm2.texi:  corrected prev field.
    * gm2/gm2.texi:  corrected next field.
    * gm2/gm2.texi:  data alignment content now has its own
    * gm2/bnf/m2-h.bnf:  Alignment rule is the same as pass 3.
    * gm2/gm2.texi:  fix bad next field.
    * gm2/gccgm2.c:  BuildAlignment (New procedure).
    * gm2/gm2.texi:  new section describing the how to use the
      alignment extension.
    * gm2/bnf/m2-2.bnf:  add rules to build the alignment
      values into the data structures.  This is done by
      creating a temporary constant and associating it with
      the required data structure.
      * gm2/bnf/m2-3.bnf:  during pass 3 the same constant is
    * gm2/bnf/m2.bnf:  ensure that the constant expression
      inside the alignment statement does not effect the
      compile time stack.
    * gm2/gm2-compiler/FifoQueue.def:  define and export
      two new procedures PutConstIntoFifoQueue,
    * gm2/gm2-compiler/FifoQueue.mod:  (New procedures)
      PutConstIntoFifoQueue, GetConstFromFifoQueue.
    * gm2/gm2-compiler/M2GCCDeclare.mod:  (New procedure)
      CheckAlignment which is called when creating a record,
      pointer, array, type or variable.
    * gm2/gm2-compiler/M2Quads.def:  (New procedure)
    * gm2/gm2-compiler/M2Quads.mod:  (New procedure)
      BuildAlignment implemented.
    * gm2/gm2-compiler/P2SymBuild.def:  (New procedures)
      BuildAligned and BuildTypeAlignment.
    * gm2/gm2-compiler/P2SymBuild.mod:  implemented the
      two procedures BuildAligned and BuildTypeAlignment.
    * gm2/gm2-compiler/SymbolTable.def:  (New procedures)
      PutAlignment, GetAlignment.
    * gm2/gm2-compiler/SymbolTable.mod:  (New procedures)
      PutAlignment, GetAlignment implemented.  These
      only work with type, record, array, recordfield
      and pointer data types.
    * gm2/gm2-compiler/gccgm2.def:  (New procedure)

    * gm2/examples/gravity/  post-install fixed
    * gm2/version.c:  updated to 0.91 now that the debian
      0.90 has been produced.
    * gm2/gm2-libs/  updated to 0.91.
    * gm2/gm2-libs/configure:  rebuilt.
    * gm2/www/  updated to reflect new release number
      and latest changes.
    * gm2/gm2.texi:  fixed a few bugs (cross references and
      section links).
    * gm2/texi:  commented out gm2-internals.texi and
      introduced a new section "Producing a Python module".
    * gm2/gm2-internals.texi:  new file.
    * gm2/TODO:  updated to do list.
    * gm2/version.c:  updated version to 0.90
    * gm2/gm2-libs/FIO.def:  getFileName, getFileNameLength
      (New Procedures).
    * gm2/gm2-libs/FIO.mod:  getFileName, getFileNameLength
      (New Procedures).
    * gm2/gm2-libs/configure:  rebuilt.
    * gm2/gm2-libs/  updated to 0.90
    * gm2/gm2-libs-iso/RndFile.mod:  fixed bug to allow a
      file to be written and read.  Reported by Scott Iverson.

reply via email to

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