[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gm2] latest git commit
From: |
address@hidden |
Subject: |
Re: [Gm2] latest git commit |
Date: |
Wed, 02 Sep 2015 14:25:30 +0200 |
Hi Gaius,
with your changes all my code is compiling. Still I have to fix some linker
problems before I start debugging....
Many thanks, Georg
-----Original-Nachricht-----
Betreff: latest git commit
Datum: Tue, 25 Aug 2015 13:32:29 +0200
Von: Gaius Mulley <address@hidden>
An: address@hidden
Hello,
here are the latest changes made to gm2 on the trunk. In summary
there are bug fixes to allow:
(i) 'a' to be passed as an actual parameter to a formal parameter
ARRAY [0..19] OF CHAR. Also allows smaller constant
strings to be passed which are nul padded.
(ii) assignment of record, and array types to LOC, BYTE, WORD
providing that the sizes match.
(iii) valgrind to execute cc1gm2 without complaining about
uninitialised values. Read missing initialisations added.
regards,
Gaius
* gm2/examples/pge/examples/exampleBoxes.py: much more debugging
added.
* gm2/examples/pge/pge.py: more debugging added. Also correct
lack of initialiser bugs. Many diagnostics added.
* gm2/examples/pge/pgeif.def: added ValueOutOfRange exception.
* gm2/examples/pge/pgeif.i: added skip_until procedure.
* gm2/examples/pge/pgeif.mod: (check_range) New function
procedure. get_xpos, get_ypos, box, poly3, poly4, poly5
and poly6 all use check_range to check parameter values.
* gm2/examples/pge/twoDsim.mod: added more trace information
and test for object deletion.
* gm2/gm2-compiler/M2Base.mod: added two more metatypes, rec
and array. Check for these meta types and add their
characteristics into the assignment and expression matrices.
This allows ARRAY and RECORD of the correct size to be compatible
with WORD, BYTE, LOC etc.
* gm2/gm2-compiler/M2GCCDeclare.mod: use BuiltinsLocation during
the construction of the base types.
* gm2/gm2-compiler/M2GenGCC.mod: added internal debugging.
(CodeIndirectCall) skip type aliases for the return type.
* gm2/gm2-compiler/M2Scope.mod: added internal debugging.
* gm2/gm2-compiler/SymbolTable.mod: added missing initialisation
for ScopeQuad. This allows cc1gm2 to be run without errors by
valgrind.
* gm2/gm2-gcc/m2convert.c: convert_char_to_array (New function).
convert_string_to_array (New function). BuildConvert changed
to detect whether a const lit char or string is required to be
converted into a fixed string length. This fixes a bug reported.
* gm2/gm2-gcc/m2statement.c: tidied up code and fixed bug in
(BuildReturnValueCode). This fixes a bug exposed by
testsuite/gm2/pim/pass/typeequiv.mod.
* gm2/gm2-gcc/m2type.c: (BuildArrayStringConstructor) now adds
multiple nuls to the end of a string if length exceeds string.
* gm2/gm2-libs/MemUtils.def: tidied up formatting.
* gm2/p2c/p2c-src/src/pexpr.c: fixed bug so that constant strings
have a LOW indice of 0 not 1.
* gm2/pim/pass/typeequiv.mod: corrected date.
* gm2/pim/pass/typeequiv2.mod: corrected date.
* gm2/pim/pass/typeequiv3.mod: corrected date.
* gm2/examples/pge/GC.mod: (gdbif) imported to aid debugging.
Initialised callbacks to NIL (bugfix).
* gm2/examples/pge/twoDsim.mod: removed debugging hook.
* gm2/examples/shared/Makefile.in: corrected dates.
* gm2/gm2-libs-iso/MemStream.mod: assign res to opened (bugfix).
* gm2/gm2-libs/CmdArgs.def: corrected dates.
* gm2/gm2-libs/CmdArgs.mod: corrected dates.
* libgm2/libpim/Makefile.am: added SCmdArgs.def to be installed.
* libgm2/libpim/Makefile.am: added SCmdArgs.mod to be built and
installed.
* gm2/gm2-compiler/M2GenGCC.mod: modified debugging hooks.
* gm2/gm2-compiler/M2Quads.mod: (BuildConvert) allow record types
to be converted as they might fit into a generic type.
* gm2/gm2-gcc/m2convert.c: (same_size_types) New function.
(converting_ISO_generic) only convert using short hand generic
types if they are the correct size. (const_to_ISO_aggregate_type)
New function.
* gm2/gm2-lang.c: (convert) simplified.
* gm2/README: corrected README to reflect prefered method of obtaining
tar.gz file. Also improved the text. Removed the build instructions
and replaced it with a reference to the documentation.
* gm2/examples/pge/deviceIf.mod: added DebugTrace feature.
* gm2/examples/pge/twoDsim.mod: added DebugTrace feature.
* gm2/examples/pge/world.mod: useGroff by default.
* gm2/gm2-compiler/M2Base.mod: fixed bug to allow BYTE to be parameter
compatible with any BYTE sized type (including packed RECORD).