gm2
[Top][All Lists]
Advanced

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

[Gm2] CVS check-in


From: Gaius Mulley
Subject: [Gm2] CVS check-in
Date: 08 Jun 2004 10:09:09 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Hi,

here is the latest changelog entry for May/June.  Briefly the changes
include: fixing bugs in the build process to aid the Cygwin port (file
renaming and Make-lang.in fixes). -Wunbounded-by-reference changed to
-funbounded-by-reference.  Finally completed ISO SYSTEM.

ISO SYSTEM now implements MAKEADR, ROTATE, SHIFT.  GM2 inlines ROTATE
and SHIFT if TSIZE(of set) <= TSIZE(BITSET).  It calls ISO SYSTEM.mod
if the set size is larger.

Here is the prototype for MAKEADR:

PROCEDURE MAKEADR (high: <some type>; ...): ADDRESS;
  (* Returns an address constructed from a list of values whose
     types are implementation-defined, or may raise an
     exception if this address is not valid.

     In GNU Modula-2, MAKEADR can take any number of arguments
     which are mapped onto the type ADDRESS. The first parameter
     maps onto the high address bits and subsequent parameters map
     onto lower address bits. For example:

     a := MAKEADR(BYTE(0FEH), BYTE(0DCH), BYTE(0BAH), BYTE(098H),
                  BYTE(076H), BYTE(054H), BYTE(032H), BYTE(010H)) ;

     then the value of, a, on a 64 bit machine is: 0FEDCBA9876543210H

     The parameters do not have to have the same type, but constants
     _must_ be typed.
  *)

for an example of MAKEADR, ROTATE and SHIFT see
testsuite/gm2/iso/run/pass/testsystem.mod

Now for the ChangeLog entry:

        * renamed the -Wunbounded-by-reference option to
          -funbounded-by-reference as suggested by Waldek Hebisch.
        * finished ISO SYSTEM implementation.
        * ROTATE, SHIFT now work with smaller than WORD sized sets,
          WORD sized sets and larger than WORD sized sets.
        * gm2-iso/SYSTEM.mod is called by the back end if larger than
          WORD sized sets are ROTATEd or SHIFTed.
        * updated gm2.texi to include new sections describing ISO and PIM
          versions of the SYSTEM module.
        * renamed m2.lex as m2.flex, c.lex as c.flex to fix a bug
          reported by Gerrit Haase while attempting the cygwin port.
        * renamed gm2-compiler/m2lex.def as gm2-compiler/m2flex.def
        * modified gm2-compiler/M2Comp to use m2flex
        * modified Make-lang.in to use m2.flex and c.flex
        * modified init/h2definit, init/gm2linit to use m2flex
        
enjoy, Gaius



reply via email to

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