[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) |
Hi,
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
i386
and now compiles fine using:
#!/bin/sh
rm gcc-4.1.2+gm2-cvs-latest.tar.gz
rm -rf build-4.1.2
curl
http://floppsie.comp.glam.ac.uk/download/c/gcc-4.1.2+gm2-cvs-latest.tar.gz
-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.
regards,
Gaius
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
platform.
* gm2/gm2-compiler/P2SymBuild.def: add alignment to the
BuildFieldRecord.
* gm2/gm2-compiler/SymbolTable.def: define and export
IsLegal.
* gm2/gm2-compiler/SymbolTable.mod: implement IsLegal.
* gm2/gm2-compiler/gccgm2.def: renamed BuildAlignment to
SetAlignment.
* 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
section.
* 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,
GetConstFromFifoQueue.
* 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)
BuildAlignment.
* 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)
BuildAlignment.
* gm2/examples/gravity/Makefile.in: post-install fixed
paths.
* gm2/version.c: updated to 0.91 now that the debian
0.90 has been produced.
* gm2/gm2-libs/configure.in: updated to 0.91.
* gm2/gm2-libs/configure: rebuilt.
* gm2/www/index.ms: 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/configure.in: 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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gm2] latest changes,
Gaius Mulley <=