[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gm2] latest cvs checkins,
Gaius Mulley <=