gm2
[Top][All Lists]
Advanced

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

[Gm2] latest cvs checkins


From: Gaius Mulley
Subject: [Gm2] latest cvs checkins
Date: Mon, 05 Jan 2009 12:58:55 +0000
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)

Hi,

just thought I'd relay the latest cvs checkins.  In short the
type COMPLEX is nearly complete - although I see a bug in

testsuite/gm2/complex/run/pass/arith3.mod and arith4.mod

(when evaluating COMPLEX constants).  The new types are
COMPLEX, LONGCOMPLEX, SHORTCOMPLEX (and if the architecture/gcc
runtime supports them COMPLEX32, COMPLEX64, COMPLEX96 and COMPLEX128.
The last four are exported from SYSTEM.  Of course the 32, 64, 96 and
128 refers to the scalar type used within the COMPLEX
structure/record.  The internal functions CMPLX, RE and IM are also
complete - but it is all highly alpha code..


        * gm2/gm2-compiler/M2Base.mod:  IsComplesType includes
          CType.
        * gm2/gm2-compiler/M2GenGCC.mod:  FoldUnary detects
          whether a complex type constant is being used and
          casts it to the CType.

        * gm2/gm2-compiler/M2Base.mod:  extended FindMetaType
          to detect CType constants.  Extended assignment,
          expression and parameter matrices to contain the
          complex family of types.
        * testsuite/gm2/complex/pass/arith.mod and
          testsuite/gm2/complex/pass/arith2.mod new files.

        * gm2/gccgm2.c:  added m2_complex_type_node,
          m2_long_complex_type_node, m2_short_complex_node,
          m2_c_type_node, m2_complex32_type_node,
          m2_complex64_type_node,
          m2_complex96_type_node,
          m2_complex128_type_node,
          build_m2_complex32_type_node,
          build_m2_complex64_type_node,
          build_m2_complex96_type_node,
          build_m2_complex128_type_node,
          gccgm2_GetM2Complex32,
          gccgm2_GetM2Complex64,
          gccgm2_GetM2Complex96,
          gccgm2_GetM2Complex128,
          build_m2_complex_type_node,
          build_m2_long_complex_type_node,
          build_m2_short_complex_type_node,
          build_m2_complex_type_from,
          gccgm2_GetM2ComplexType,
          gccgm2_GetM2LongComplexType,
          gccgm2_GetM2ShortComplexType,
          gccgm2_GetM2CType, gccgm2_BuildRe,
          gccgm2_BuildIm and gccgm2_BuildCmplx.
        * gm2/el/g-mode.el:  updated dates.
        * gm2/gm2-compiler/M2Base.def:  added Complex,
          LongComplex, ShortComplex, IsAComplexType,
          GetCmplxReturnType, ComplexToScalar and
          ScalarToComplex.
        * gm2/gm2-compiler/M2Base.mod:  create and
          implement CType, Complex, LongComplex,
          ShortComplex, Re, Im, Cmplx.
        * gm2/gm2-compiler/M2GCCDeclare.mod:  declare
          COMPLEX, LONGCOMPLEX, SHORTCOMPLEX, COMPLEX32,
          COMPLEX64, COMPLEX96 and COMPLEX128.
        * gm2/gm2-compiler/M2GenGCC.mod:  implement
          IM, RE and CMPLX as standard functions and
          attempt to fold them if possible.
        * gm2/gm2-compiler/M2Quads.mod:  BuildReFunction
          BuildImFunction, BuildCmplxFunction (new functions).
        * gm2/gm2-compiler/M2System.def:  define IsComplexN
          and ComplexN.
        * gm2/gm2-compiler/M2System.mod:  declare COMPLEX32,
          COMPLEX64, COMPLEX96, COMPLEX128.  New functions:
          ComplexN, IsComplexN.
        * gm2/gm2-compiler/SymbolTable.def:  define Make2Tuple.
        * gm2/gm2-compiler/SymbolTable.mod:  implement Make2Tuple.
        * gm2/gm2-compiler/gccgm2.def:  define BuildRe, BuildIm,
          BuildCmplx, GetM2ComplexType, GetM2LongComplexType,
          GetM2ShortComplexType, GetM2CType, GetM2Complex32,
          GetM2Complex64, GetM2Complex96 and GetM2Complex128.
        * gm2/gm2.texi:  updated documentation to include
          new complex types and their C equivalence.
        * gm2/gm2-compiler/M2GCCDeclare.mod:  import IsObject
          and IsTuple and extend the interactive debugging
          procedure PrintVerbose.
        * gm2/gm2-compiler/M2GenGCC.mod:  attempt to declare
          constants prior to attempting to use them during
          FoldStandardFunction.  Fix bug when passing types of
          operands to GetCmplxReturnType.
        * gm2/gm2-compiler/M2Quads.mod:  added missing line
          to BuildCmplx and fixed ISO error message in light
          of additional constant functions.
        * gm2/gm2-compiler/M2Range.mod:  make sure that
          GetMinMax returns FALSE if a complex type is seen.
        * gm2/gm2-compiler/SymbolTable.def:  export IsObject
          and IsTuple.
        * gm2/gm2-compiler/SymbolTable.mod:  implement
          IsTuple.  Fixed bug in Make2Tuple and corrected
          error message.

        * gm2/Make-lang.in:  patch to build dtoa and ldtoa
          for gm2.paranoid.

        * gm2/gm2-libs-ch/dtoa.c:  new file.
        * gm2/gm2-libs-ch/ldtoa.c:  new file.
        * gm2/gm2-libs/dtoa.def:  new file.
        * gm2/gm2-libs/ldtoa.def:  new file.
        * gm2/gm2-libs/StringConvert.mod:  removed call to free.
        * gm2/gm2-libs-iso/RealConv.mod:  reimplemented
          conversion routines using dtoa rather than
          StringConvert.
        * gm2/gm2-compiler/M2Quads.mod:  fixed bug reported by
          John O Goyo <address@hidden> set expressions using
          / did not reduce to xor.  Confusion between DivTok (DIV)
          and DivideTok (/) tokens.
        * testsuite/gm2/pim/run/pass/bitsettest.def:  new file.
        * testsuite/gm2/pim/run/pass/bitsettest.mod:  new file to
          test this bugfix never regresses.
        * gm2/Make-file.in:  added dtoa.def and ldtoa.def to the
          list of definition modules in GM2-LIBS-BOOT-DEFS and
          GM2-LIBS-DEFS.

        * gm2/Make-lang.in:  modified SO, SO_O2 to contain -fPIC.
          Added dtoa.c and ldtoa.c.
        * gm2/gm2-libs/StringConvert.mod:  corrected dates.
        * gm2/gm2-libs/errno.def:  added ERANGE.
        * gm2/gm2-libs-iso/README.texi:  added RealConv to list
          of completed modules.
        * gm2/init/gm2-gccinit:  added dtoa and ldtoa.
        * gm2/init/gm2lccinit:  added dtoa and ldtoa.
        * gm2/init/gm2lgeninit:  added dtoa and ldtoa.
        * gm2/init/gm2linit:  added dtoa and ldtoa.
        * gm2/init/gm2lorderinit:  added dtoa and ldtoa.
        * gm2/init/gm2minit:  added dtoa and ldtoa.
        * gm2/init/h2definit:  added dtoa and ldtoa.
        * gm2/gm2-libs/StringConvert.mod:  replaced
          implementation of LongrealToString with a call
          to ldtoa.  Replaced implementation with a call
          to strtold.
        * all regression tests pass on LP64.

        * gm2/gm2-libs/StringConvert.mod:  used powl instead
          of exp10l due to portability issues.


regards,
Gaius




reply via email to

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