[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gm2] latest cvs changes
From: |
Gaius Mulley |
Subject: |
[Gm2] latest cvs changes |
Date: |
Wed, 14 Jan 2009 22:39:33 +0000 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) |
Hi,
below are the latest changes. The major bug fix in this set of
patches is to allow non constant constructors for records and
arrays - which was uncovered when writing some test code for
the ISO RealConv module. RealConv is currently broken - half
way though a re-implementation,
regards,
Gaius
* new files RealStr.mod, ConvStringReal.def and
ConvStringReal.mod.
* gm2/gm2-compiler/M2ALU.def: IsValueConst (new function).
* gm2/gm2-compiler/M2ALU.mod: GetConstructorField return
symbol rather than Tree. Add areAllConstants field
to a constructor value. IsValueConst (implement new
function). ConvertConstToType (new function).
* gm2/gm2-compiler/M2GCCDeclare.def: DeclareConstructor
(new procedure).
* gm2/gm2-compiler/M2GCCDeclare.mod: DeclareConstructor
(implement new procedure).
* gm2/gm2-compiler/M2GenGCC.def: DoCopyString exported.
* gm2/gm2-compiler/M2GenGCC.mod: call DeclareConstructor
before it is used. Also check to see that Composite
types do not occur in expressions.
* gm2/gm2-compiler/M2Quads.mod: modified to allow non
constant constructors to be used. General tidying up.
* gm2/gm2-compiler/M2Range.mod: call DeclareConstructor
before possible assignment of constructor.
* gm2/gm2-compiler/SymbolTable.def: IsConstructorConstant
(new procedure). IsComposite (new procedure).
* gm2/gm2-compiler/SymbolTable.mod: IsConst checks to
see if the constructor is constant. IsConstructorConstant
(implement new procedure). IsComposite (implement new
procedure).
* gm2/gm2-libs-iso/RealConv.mod: reimplemented using
ConvStringReal.
* gm2/gm2-compiler/M2ALU.mod: DefinedByConstants (new
procedure), arrayConstants (new procedure),
fieldsConstant (new procedure) and rangeConstant
(new procedure).
* gm2/Make-lang.in: only copy SYSTEM.def from the
build directory. Add ConvStringReal.mod to the list
of ISO modules.