2020-01-08      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* updated all copyright dates for 2020.

2020-01-08      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/bnf/mc-1.bnf:  backported from trunk.
	* gm2/bnf/mc-2.bnf:  backported from trunk.
	* gm2/bnf/mc-3.bnf:  backported from trunk.
	* gm2/bnf/mc-4.bnf:  backported from trunk.
	* gm2/bnf/mc-5.bnf:  backported from trunk.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  fixed string
          format (printf) \n \t interpretation.  Backported fix
	  from trunk.
	* gm2/gm2-compiler/M2Quads.mod::  fixed string
          format (printf) \n \t interpretation.  Backported fix
	  from trunk.
	* gm2/gm2-compiler/SymbolTable.def::  fixed string
          format (printf) \n \t interpretation.  Backported fix
	  from trunk.
	* gm2/gm2-compiler/SymbolTable.mod::  fixed string
          format (printf) \n \t interpretation.  Backported fix
	  from trunk.
	* gm2/gm2-libs/FormatStrings.def::  fixed string
          format (printf) \n \t interpretation.  Backported fix
	  from trunk.
	* gm2/gm2-libs/FormatStrings.mod::  fixed string
          format (printf) \n \t interpretation.  Backported fix
          from trunk.
	* gm2/mc-boot/GASCII.c:  regenerated.
	* gm2/mc-boot/GASCII.h:  regenerated.
	* gm2/mc-boot/GArgs.c:  regenerated.
	* gm2/mc-boot/GArgs.h:  regenerated.
	* gm2/mc-boot/GAssertion.c:  regenerated.
	* gm2/mc-boot/GAssertion.h:  regenerated.
	* gm2/mc-boot/GBreak.c:  regenerated.
	* gm2/mc-boot/GBreak.h:  regenerated.
	* gm2/mc-boot/GCOROUTINES.h:  regenerated.
	* gm2/mc-boot/GCmdArgs.c:  regenerated.
	* gm2/mc-boot/GCmdArgs.h:  regenerated.
	* gm2/mc-boot/GDebug.c:  regenerated.
	* gm2/mc-boot/GDebug.h:  regenerated.
	* gm2/mc-boot/GDynamicStrings.c:  regenerated.
	* gm2/mc-boot/GDynamicStrings.h:  regenerated.
	* gm2/mc-boot/GEnvironment.c:  regenerated.
	* gm2/mc-boot/GEnvironment.h:  regenerated.
	* gm2/mc-boot/GFIO.c:  regenerated.
	* gm2/mc-boot/GFIO.h:  regenerated.
	* gm2/mc-boot/GFormatStrings.c:  regenerated.
	* gm2/mc-boot/GFormatStrings.h:  regenerated.
	* gm2/mc-boot/GFpuIO.c:  regenerated.
	* gm2/mc-boot/GFpuIO.h:  regenerated.
	* gm2/mc-boot/GIO.c:  regenerated.
	* gm2/mc-boot/GIO.h:  regenerated.
	* gm2/mc-boot/GIndexing.c:  regenerated.
	* gm2/mc-boot/GIndexing.h:  regenerated.
	* gm2/mc-boot/GM2EXCEPTION.c:  regenerated.
	* gm2/mc-boot/GM2EXCEPTION.h:  regenerated.
	* gm2/mc-boot/GM2RTS.c:  regenerated.
	* gm2/mc-boot/GM2RTS.h:  regenerated.
	* gm2/mc-boot/GMemUtils.c:  regenerated.
	* gm2/mc-boot/GMemUtils.h:  regenerated.
	* gm2/mc-boot/GNumberIO.c:  regenerated.
	* gm2/mc-boot/GNumberIO.h:  regenerated.
	* gm2/mc-boot/GPushBackInput.c:  regenerated.
	* gm2/mc-boot/GPushBackInput.h:  regenerated.
	* gm2/mc-boot/GRTExceptions.c:  regenerated.
	* gm2/mc-boot/GRTExceptions.h:  regenerated.
	* gm2/mc-boot/GRTint.c:  regenerated.
	* gm2/mc-boot/GRTint.h:  regenerated.
	* gm2/mc-boot/GSArgs.c:  regenerated.
	* gm2/mc-boot/GSArgs.h:  regenerated.
	* gm2/mc-boot/GSFIO.c:  regenerated.
	* gm2/mc-boot/GSFIO.h:  regenerated.
	* gm2/mc-boot/GSYSTEM.h:  regenerated.
	* gm2/mc-boot/GSelective.h:  regenerated.
	* gm2/mc-boot/GStdIO.c:  regenerated.
	* gm2/mc-boot/GStdIO.h:  regenerated.
	* gm2/mc-boot/GStorage.c:  regenerated.
	* gm2/mc-boot/GStorage.h:  regenerated.
	* gm2/mc-boot/GStrCase.c:  regenerated.
	* gm2/mc-boot/GStrCase.h:  regenerated.
	* gm2/mc-boot/GStrIO.c:  regenerated.
	* gm2/mc-boot/GStrIO.h:  regenerated.
	* gm2/mc-boot/GStrLib.c:  regenerated.
	* gm2/mc-boot/GStrLib.h:  regenerated.
	* gm2/mc-boot/GStringConvert.c:  regenerated.
	* gm2/mc-boot/GStringConvert.h:  regenerated.
	* gm2/mc-boot/GSysExceptions.h:  regenerated.
	* gm2/mc-boot/GSysStorage.c:  regenerated.
	* gm2/mc-boot/GSysStorage.h:  regenerated.
	* gm2/mc-boot/GTimeString.c:  regenerated.
	* gm2/mc-boot/GTimeString.h:  regenerated.
	* gm2/mc-boot/GUnixArgs.h:  regenerated.
	* gm2/mc-boot/Galists.c:  regenerated.
	* gm2/mc-boot/Galists.h:  regenerated.
	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc-boot/Gdecl.h:  regenerated.
	* gm2/mc-boot/Gdtoa.h:  regenerated.
	* gm2/mc-boot/Gerrno.h:  regenerated.
	* gm2/mc-boot/Gkeyc.c:  regenerated.
	* gm2/mc-boot/Gkeyc.h:  regenerated.
	* gm2/mc-boot/Gldtoa.h:  regenerated.
	* gm2/mc-boot/Glibc.h:  regenerated.
	* gm2/mc-boot/Glibm.h:  regenerated.
	* gm2/mc-boot/Glists.c:  regenerated.
	* gm2/mc-boot/Glists.h:  regenerated.
	* gm2/mc-boot/GmcComment.c:  regenerated.
	* gm2/mc-boot/GmcComment.h:  regenerated.
	* gm2/mc-boot/GmcComp.c:  regenerated.
	* gm2/mc-boot/GmcComp.h:  regenerated.
	* gm2/mc-boot/GmcDebug.c:  regenerated.
	* gm2/mc-boot/GmcDebug.h:  regenerated.
	* gm2/mc-boot/GmcError.c:  regenerated.
	* gm2/mc-boot/GmcError.h:  regenerated.
	* gm2/mc-boot/GmcFileName.c:  regenerated.
	* gm2/mc-boot/GmcFileName.h:  regenerated.
	* gm2/mc-boot/GmcLexBuf.c:  regenerated.
	* gm2/mc-boot/GmcLexBuf.h:  regenerated.
	* gm2/mc-boot/GmcMetaError.c:  regenerated.
	* gm2/mc-boot/GmcMetaError.h:  regenerated.
	* gm2/mc-boot/GmcOptions.c:  regenerated.
	* gm2/mc-boot/GmcOptions.h:  regenerated.
	* gm2/mc-boot/GmcPreprocess.c:  regenerated.
	* gm2/mc-boot/GmcPreprocess.h:  regenerated.
	* gm2/mc-boot/GmcPretty.c:  regenerated.
	* gm2/mc-boot/GmcPretty.h:  regenerated.
	* gm2/mc-boot/GmcPrintf.c:  regenerated.
	* gm2/mc-boot/GmcPrintf.h:  regenerated.
	* gm2/mc-boot/GmcQuiet.c:  regenerated.
	* gm2/mc-boot/GmcQuiet.h:  regenerated.
	* gm2/mc-boot/GmcReserved.c:  regenerated.
	* gm2/mc-boot/GmcReserved.h:  regenerated.
	* gm2/mc-boot/GmcSearch.c:  regenerated.
	* gm2/mc-boot/GmcSearch.h:  regenerated.
	* gm2/mc-boot/GmcStack.c:  regenerated.
	* gm2/mc-boot/GmcStack.h:  regenerated.
	* gm2/mc-boot/GmcStream.c:  regenerated.
	* gm2/mc-boot/GmcStream.h:  regenerated.
	* gm2/mc-boot/Gmcflex.h:  regenerated.
	* gm2/mc-boot/Gmcp1.c:  regenerated.
	* gm2/mc-boot/Gmcp1.h:  regenerated.
	* gm2/mc-boot/Gmcp2.c:  regenerated.
	* gm2/mc-boot/Gmcp2.h:  regenerated.
	* gm2/mc-boot/Gmcp3.c:  regenerated.
	* gm2/mc-boot/Gmcp3.h:  regenerated.
	* gm2/mc-boot/Gmcp4.c:  regenerated.
	* gm2/mc-boot/Gmcp4.h:  regenerated.
	* gm2/mc-boot/Gmcp5.c:  regenerated.
	* gm2/mc-boot/Gmcp5.h:  regenerated.
	* gm2/mc-boot/GnameKey.c:  regenerated.
	* gm2/mc-boot/GnameKey.h:  regenerated.
	* gm2/mc-boot/Gpth.h:  regenerated.
	* gm2/mc-boot/GsymbolKey.c:  regenerated.
	* gm2/mc-boot/GsymbolKey.h:  regenerated.
	* gm2/mc-boot/Gtermios.h:  regenerated.
	* gm2/mc-boot/Gtop.c:  regenerated.
	* gm2/mc-boot/Gvarargs.c:  regenerated.
	* gm2/mc-boot/Gvarargs.h:  regenerated.
	* gm2/mc-boot/Gwlists.c:  regenerated.
	* gm2/mc-boot/Gwlists.h:  regenerated.
	* gm2/mc-boot/Gwrapc.h:  regenerated.
	* gm2/mc/Indexing.def:  backported from trunk.
	* gm2/mc/alists.def:  backported from trunk.
	* gm2/mc/alists.mod:  backported from trunk.
	* gm2/mc/decl.def:  backported from trunk.
	* gm2/mc/decl.mod:  back ported from trunk and also added
	  calls to __builtin_unreachable after a fatal exception is raised.
	* gm2/mc/keyc.def:  backported from trunk.
	* gm2/mc/keyc.mod:  backported from trunk.
	* gm2/mc/lists.def:  backported from trunk.
	* gm2/mc/m2flex.def:  backported from trunk.
	* gm2/mc/mc.flex:  backported from trunk.
	* gm2/mc/mcComment.def:  backported from trunk.
	* gm2/mc/mcComment.mod:  backported from trunk.
	* gm2/mc/mcComp.def:  backported from trunk.
	* gm2/mc/mcComp.mod:  backported from trunk.
	* gm2/mc/mcDebug.def:  backported from trunk.
	* gm2/mc/mcError.def:  backported from trunk.
	* gm2/mc/mcError.mod:  backported from trunk.
	* gm2/mc/mcFileName.def:  backported from trunk.
	* gm2/mc/mcLexBuf.def:  backported from trunk.
	* gm2/mc/mcLexBuf.mod:  backported from trunk.
	* gm2/mc/mcMetaError.def:  backported from trunk.
	* gm2/mc/mcOptions.def:  backported from trunk.
	* gm2/mc/mcOptions.mod:  backported from trunk.
	* gm2/mc/mcPreprocess.def:  backported from trunk.
	* gm2/mc/mcPretty.def:  backported from trunk.
	* gm2/mc/mcPrintf.def:  backported from trunk.
	* gm2/mc/mcQuiet.def:  backported from trunk.
	* gm2/mc/mcReserved.def:  backported from trunk.
	* gm2/mc/mcSearch.def:  backported from trunk.
	* gm2/mc/mcStack.def:  backported from trunk.
	* gm2/mc/mcStream.def:  backported from trunk.
	* gm2/mc/mcStream.mod:  backported from trunk.
	* gm2/mc/mcflex.def:  backported from trunk.
	* gm2/mc/mcp1.def:  backported from trunk.
	* gm2/mc/mcp2.def:  backported from trunk.
	* gm2/mc/mcp3.def:  backported from trunk.
	* gm2/mc/mcp4.def:  backported from trunk.
	* gm2/mc/mcp5.def:  backported from trunk.
	* gm2/mc/nameKey.def:  backported from trunk.
	* gm2/mc/nameKey.mod:  backported from trunk.
	* gm2/mc/symbolKey.def:  backported from trunk.
	* gm2/mc/symbolKey.mod:  backported from trunk.
	* gm2/mc/top.mod:  backported from trunk.
	* gm2/mc/varargs.def:  backported from trunk.
	* gm2/mc/varargs.mod:  backported from trunk.
	* gm2/mc/wlists.def:  backported from trunk.
	* gm2/mc/wlists.mod:  backported from trunk.

2019-11-05      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  (gm2/gm2-libs/gm2-libs-target.h)
          removed.   (gm2/gm2-libs-iso/%.o) replaced gm2-libs-target
          with gm2-libs-host.h.  (gm2/gm2-libs/gm2-libs-host.h)
          pass --libdir, --libexecdir to configure.
          (build-libs-min) removed.
          (archive-libs-min) removed.
          (build-libs) removed.
          (archive-libs) removed.
          (build-compiler) removed.
          (gm2/gm2-libs/libgm2.a) removed.
          (build-libs-iso) removed.
          (archive-libs-iso) removed.
          (build-libs-ulm) removed.
          (archive-libs-ulm) removed.
          (build-libs-pim) removed.
          (archive-libs-pim) removed.
          (build-libs-coroutines) removed.

2019-11-04      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  (gm2.all.cross) added
          plugin/m2rte$(exeext).so as a dependency.
	* gm2/gm2-libs/config-host.in:  (AC_CHECK_HEADERS)
          quote all header files.
	* gm2/Make-lang.in:  (gm2.all.cross) added
          $(GM2_LINK_TOOLS) as dependencies.

2019-10-30      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  pruned old comments.  (GM2_DIRS)
	  removed.  All directory targets are tested before being created.
	* gm2/config-lang.in:  directory creation moved into configure.
          (fixes a bug reported by Matthias Klose) where make install
	  would relink cc1gm2.

2019-10-29      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  (gm2/gm2-gcc/%.o) added target dependencies.
          (gm2/gm2-compiler-boot/m2flex.o) added target dependencies.
          (gm2/gm2-pge-boot/$(SRC_PREFIX)libc.o) explicit rule.
          (gm2/gm2-pge-boot/$(SRC_PREFIX)mcrts.o) explicit rule.
          (gm2/gm2-pge-boot/$(SRC_PREFIX)UnixArgs.o) explicit rule.
          (gm2/gm2-pge-boot/$(SRC_PREFIX)Selective.o) explicit rule.
          (gm2/gm2-pge-boot/$(SRC_PREFIX)termios.o) explicit rule.
          (gm2/gm2-pge/boot/$(SRC_PREFIX)SysExceptions.o) explicit rule.
          (gm2/gm2-pge/boot/$(SRC_PREFIX)ldtoa.o) explicit rule.
          (gm2/gm2-pge/boot/$(SRC_PREFIX)dtoa.o) explicit rule.
          (gm2/gm2-pge/boot/$(SRC_PREFIX)wrapc.o) explicit rule.
          (gm2/gm2-pge/boot/$(SRC_PREFIX)SYSTEM.o) explicit rule.
          (gm2/gm2-pge/boot/$(SRC_PREFIX)errno.o) explicit rule.
          (gm2/gm2-pge/boot/$(SRC_PREFIX)pth.o) explicit rule.
	* testsuite/gm2/iso/run/pass/unbounded.mod:  added many
          more asserts.
	* gm2/Make-lang.in:  (gm2/gm2-gcc/%.o) added MCDEPS LIBDEPS.
          (gm2/gm2-pge-boot/$(SRC_PREFIX)%.o) place C file into
          gm2/gm2-pge-boot.  (gm2/gm2-pge-boot/%.o) place C file into
          gm2/gm2-pge-boot.
	* gm2/Make-lang.in:  (gm2.install-plugin) removed dependancy to
          plygin/m2rte$(exeext).so.

2019-10-23      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/mc-boot/GArgs.c:  regenerated.
	* gm2/mc-boot/GCmdArgs.c:  regenerated.
	* gm2/mc-boot/GDebug.c:  regenerated.
	* gm2/mc-boot/GDynamicStrings.c:  regenerated.
	* gm2/mc-boot/GEnvironment.c:  regenerated.
	* gm2/mc-boot/GFIO.c:  regenerated.
	* gm2/mc-boot/GFormatStrings.c:  regenerated.
	* gm2/mc-boot/GIO.c:  regenerated.
	* gm2/mc-boot/GIndexing.c:  regenerated.
	* gm2/mc-boot/GM2EXCEPTION.c:  regenerated.
	* gm2/mc-boot/GM2RTS.c:  regenerated.
	* gm2/mc-boot/GNumberIO.c:  regenerated.
	* gm2/mc-boot/GPushBackInput.c:  regenerated.
	* gm2/mc-boot/GRTExceptions.c:  regenerated.
	* gm2/mc-boot/GRTco.h:  regenerated.
	* gm2/mc-boot/GRTint.c:  regenerated.
	* gm2/mc-boot/GSFIO.c:  regenerated.
	* gm2/mc-boot/GStdIO.c:  regenerated.
	* gm2/mc-boot/GStrCase.c:  regenerated.
	* gm2/mc-boot/GStrIO.c:  regenerated.
	* gm2/mc-boot/GStrLib.c:  regenerated.
	* gm2/mc-boot/GStringConvert.c:  regenerated.
	* gm2/mc-boot/GSysStorage.c:  regenerated.
	* gm2/mc-boot/GTimeString.c:  regenerated.
	* gm2/mc-boot/Galists.c:  regenerated.
	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc-boot/Gkeyc.c:  regenerated.
	* gm2/mc-boot/Glists.c:  regenerated.
	* gm2/mc-boot/GmcComment.c:  regenerated.
	* gm2/mc-boot/GmcComp.c:  regenerated.
	* gm2/mc-boot/GmcDebug.c:  regenerated.
	* gm2/mc-boot/GmcError.c:  regenerated.
	* gm2/mc-boot/GmcFileName.c:  regenerated.
	* gm2/mc-boot/GmcLexBuf.c:  regenerated.
	* gm2/mc-boot/GmcMetaError.c:  regenerated.
	* gm2/mc-boot/GmcOptions.c:  regenerated.
	* gm2/mc-boot/GmcPreprocess.c:  regenerated.
	* gm2/mc-boot/GmcPretty.c:  regenerated.
	* gm2/mc-boot/GmcPrintf.c:  regenerated.
	* gm2/mc-boot/GmcQuiet.c:  regenerated.
	* gm2/mc-boot/GmcSearch.c:  regenerated.
	* gm2/mc-boot/GmcStack.c:  regenerated.
	* gm2/mc-boot/GmcStream.c:  regenerated.
	* gm2/mc-boot/Gmcp1.c:  regenerated.
	* gm2/mc-boot/Gmcp2.c:  regenerated.
	* gm2/mc-boot/Gmcp3.c:  regenerated.
	* gm2/mc-boot/Gmcp4.c:  regenerated.
	* gm2/mc-boot/Gmcp5.c:  regenerated.
	* gm2/mc-boot/GnameKey.c:  regenerated.
	* gm2/mc-boot/GsymbolKey.c:  regenerated.
	* gm2/mc-boot/Gvarargs.c:  regenerated.
	* gm2/mc-boot/Gwlists.c:  regenerated.
	* gm2/mc/decl.mod:  (forceCompoundStatement) New boolean.
          (doCompoundStmt) check whether a compound statement should be
          forced.  (doElsifC) check whether a compound statement should
          be forced.
	* testsuite/gm2/errors/fail/gm2.exp:  (-Wunused-variable) added.

2019-10-22      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-gcc/m2expr.c:  (append_digit) use temporary
          variables to hold the intermediate results before testing
          if they are less than the rhs.
	* append_m2_digit:  (append_digit) use temporary
          variables to hold the intermediate results before testing
          if they are less than the rhs.
	* gm2/gm2-libs-ch/dtoa.c:  (calcmaxsig) use memmove rather
	  than strncpy.  (calcsign) use memmove rather
          than strncpy.
	* gm2/mc-boot-ch/Gdtoa.c:  (calcmaxsig) use memmove rather
	  than strncpy.  (calcsign) use memmove rather
          than strncpy.
	* libgm2/libpim/dtoa.c:  (calcmaxsig) use memmove rather
	  than strncpy.  (calcsign) use memmove rather
          than strncpy.

2019-10-10      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/m2.flex:  use time_t rather than long as the
          parameter type casted to 0.
	* gm2/lang.opt:  frange, findex, fwholediv re-enabled.
	* gm2/gm2-lang.c:  frange, findex, fwholediv re-enabled.
	* gm2/gm2-libs/Builtins.def:  added boilerplate.
          (longjmp) removed.  (setjmp) removed.
	  Associated testsuite tests archived.

2019-09-21      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/mc/decl.mod:  huge amount of changes as the
          varient record for intrinsics were being used
          inconsistently.
	* gm2/mc-boot:  regenerated.

2019-09-18      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-libs/FIO.mod:  bugfix via valgrind, off by one
          error corrected.
	* (mc) regenerated.

2019-09-04      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/tools-src/def2texi.py:  replaced print((x)) with
	  print(x).

2019-09-04      Matthias Klose  <doko@cs.tu-berlin.de>

	* gm2/examples/gravity/testsim.py:  python2 to 3 conversion.
	* gm2/examples/gravity/testsim2.py:  python2 to 3 conversion.
	* gm2/examples/pge/examples/boxes.py:  python2 to 3 conversion.
	* gm2/examples/pge/examples/exampleBoxes.py:  python2 to 3 conversion.
	* gm2/examples/pge/examples/triangle.py:  python2 to 3 conversion.
	* gm2/examples/pge/fig.py:  python2 to 3 conversion.
	* gm2/examples/pge/max2code.py:  python2 to 3 conversion.
	* gm2/examples/pge/mxmmaxima.py:  python2 to 3 conversion.
	* gm2/examples/pge/mxmout.py:  python2 to 3 conversion.
	* gm2/examples/pge/mxmparser.py:  python2 to 3 conversion.
	* gm2/examples/pge/mxmtree.py:  python2 to 3 conversion.
	* gm2/examples/pge/pge.py:  python2 to 3 conversion.
	* gm2/examples/pge/pgeplayback.py:  python2 to 3 conversion.
	* gm2/examples/pge/pgepygame.py:  python2 to 3 conversion.
	* gm2/examples/pge/t.py:  python2 to 3 conversion.
	* gm2/examples/server/client.py:  python2 to 3 conversion.
	* gm2/examples/swig/dual/testdual.py:  python2 to 3 conversion.
	* gm2/examples/swig/exceptions/stresstiny.py:  python2 to 3
	  conversion.
	* gm2/examples/swig/exceptions/testtiny.py:  python2 to 3
	  conversion.
	* gm2/examples/swig/full-strlib/testcopy.py:  python2 to 3
	  conversion.
	* gm2/examples/swig/full-strlib/testequ.py:  python2 to 3
	  conversion.
	* gm2/examples/swig/full-strlib/testlen.py:  python2 to 3
	  conversion.
	* gm2/examples/swig/full-strlib/testnum.py:  python2 to 3
	  conversion.
	* gm2/examples/swig/strlen/testlen.py:  python2 to 3 conversion.
	* gm2/examples/swig/strlib/testlen.py:  python2 to 3 conversion.
	* gm2/examples/swig/tiny/testtiny.py:  python2 to 3 conversion.
	* gm2/tools-src/array2index.py:  python2 to 3 conversion.
	* gm2/tools-src/def2texi.py:  python2 to 3 conversion.
	* gm2/tools-src/gensum.py:  python2 to 3 conversion.
	* gm2/tools-src/tidydates.py:  python2 to 3 conversion.
	* gm2/www/tools/texi2tr/src/navigation.py:  python2 to 3 conversion.
	* gm2/www/tools/texi2tr/src/outputdev.py:  python2 to 3 conversion.
	* gm2/www/tools/texi2tr/src/texi2tr.py:  python2 to 3 conversion.
	* gm2/Make-lang.in:  use python3 rather than python2.
	* gm2/examples/gravity/Makefile.in:  use python3 rather than
	  python2.
	* gm2/examples/gravity/README:  reference python3.
	* gm2/examples/pge/Makefile.in:  use python3 rather than python2.
	* gm2/examples/pge/debugthis:  use python3 rather than python2.
	* gm2/examples/pge/max2code:  use python3 rather than python2.
	* gm2/examples/pge/runfig:  use python3 rather than python2.
	* gm2/examples/pge/runthis:  use python3 rather than python2.
	* gm2/examples/swig/dual/Makefile.in:  use python3 rather than
	  python2.
	* gm2/examples/swig/exceptions/Makefile.in:  use python3 rather
	  than python2.
	* gm2/examples/swig/full-strlib/Makefile.in:  use python3 rather
          than python2.
	* gm2/examples/swig/strio/Makefile.in:  use python3 rather than
	  python2.
	* gm2/examples/swig/strlen/Makefile:  use python3 rather than
	  python2.
	* gm2/examples/swig/strlib/Makefile.in:  use python3 rather than
	  python2.
	* gm2/examples/swig/tiny/Makefile.in:  use python3 rather than
	  python2.
	* gm2/www/Makefile.in:  use python3 rather than python2.
	* gm2/examples/gravity/testsim.py:  python2 to 3 conversion.
	* gm2/examples/gravity/testsim2.py:  python2 to 3 conversion.
	* gm2/examples/pge/examples/boxes.py:  python2 to 3 conversion.
	* gm2/examples/pge/examples/exampleBoxes.py:  python2 to 3
	  conversion.
	* gm2/examples/pge/examples/triangle.py:  python2 to 3
	  conversion.
	* gm2/examples/pge/fig.py:  python2 to 3 conversion.
	* gm2/examples/pge/max2code.py:  python2 to 3 conversion.
	* gm2/examples/pge/pge.py:  python2 to 3 conversion.
	* gm2/examples/pge/pgeplayback.py:  python2 to 3 conversion.
	* gm2/examples/pge/pgepygame.py:  python2 to 3 conversion.
	* gm2/examples/pge/t.py:  python2 to 3 conversion.
	* gm2/examples/server/client.py:  python2 to 3 conversion.
	* gm2/examples/swig/full-strlib/testequ.py:  python2 to 3
	  conversion.
	* gm2/tools-src/array2index.py:  python2 to 3 conversion.
	* gm2/tools-src/def2texi.py:  python2 to 3 conversion.
	* gm2/tools-src/gensum.py:  python2 to 3 conversion.
	* gm2/tools-src/tidydates.py:  python2 to 3 conversion.
	* gm2/www/tools/texi2tr/src/navigation.py:  python2 to 3
	  conversion.
	* gm2/www/tools/texi2tr/src/outputdev.py:  python2 to 3
	  conversion.
	* gm2/www/tools/texi2tr/src/texi2tr.py:  python2 to 3
	  conversion.
	* gm2/tools-src/def2texi.py:  python2 to 3 conversion.

2019-09-04      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/examples/pge/pge2d.py:  removed.
	* gm2/Make-lang.in:  convert source build rules to use
          $(STAMP).  (gm2/gm2version.c) rewritten for $(STAMP).
          (gm2.pod) rewritten for $(STAMP).
          (gm2/gm2-libs.texi) rewritten for $(STAMP).
          (gm2/gm2-ebnf.texi) rewritten for $(STAMP).
          (gm2/SYSTEM-pim.texi) rewritten for $(STAMP).
          (gm2/SYSTEM-iso.texi) rewritten for $(STAMP).
          (gm2/Builtins.texi) rewritten for $(STAMP).
          (gm2/version.texi) rewritten for $(STAMP).
          (gm2/gm2-libs-boot/pthdummy.o) removed $(MCDEPS).

2019-08-22      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  added $(srcdir) to prevent
          race hazard in building from gm2/gm2-pge-boot/*c
	  files.

2019-08-20      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  use -p parameter for mkdir.

2019-08-20      Matthias Klose  <doko@cs.tu-berlin.de>

	* gm2/Make-lang.in:  added dependancies for subdir
          creation.

2019-08-20      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/tools-src/buildsyntax:  removed function keyword
          to be sh complient rather than bash.
	* gm2/tools-src/makeSystem:  removed function keyword
          to be sh complient rather than bash.
	* gm2/tools-src/makeconfigure:  removed function keyword
          to be sh complient rather than bash.
	* gm2/tools-src/makeversion:  removed function keyword
          to be sh complient rather than bash.  Also use = rather
          than ==.

2019-08-16      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  (gm2/pge) added -lgcov.
          (gm2/pg) added -lgcov.  (gm2/ppg)
          added -lgcov.  (gm2/boot-bin/mc) added -lgcov.

2019-08-13      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  (check-gm2) removed, use inbuilt
          version.  (lang_checks) include check-gm2.
	* testsuite/gm2/calling-c/datatypes/unbounded/run/pass/gm2.exp:
          use rootme and rootme/gm2 rather than tmpdir.
	* testsuite/gm2/examples/callingC/run/pass/gm2.exp:
          use rootme and rootme/gm2 rather than tmpdir.
	* testsuite/gm2/exceptions/run/pass/gm2.exp:
          use rootme and rootme/gm2 rather than tmpdir.
	* testsuite/gm2/extensions/run/pass/gm2.exp:
          use rootme and rootme/gm2 rather than tmpdir.
	* testsuite/gm2/imports/run/pass/gm2.exp:
          use rootme and rootme/gm2 rather than tmpdir.
	* testsuite/gm2/linking/libarchive/pass/gm2.exp:
          use rootme and rootme/gm2 rather than tmpdir.
	* testsuite/gm2/pim/run/pass/gm2.exp:
          use rootme and rootme/gm2 rather than tmpdir.
	* testsuite/gm2/types/run/pass/gm2.exp:
          use rootme and rootme/gm2 rather than tmpdir.
	* testsuite/lib/gm2.exp:
          use rootme and rootme/gm2 rather than tmpdir.

2019-08-13      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/lang-specs.h:  added %d to the temporary
          assembly file.

2019-08-12      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* New branch gcc_9_2_0_gm2
	* gm2/configure.in:  changed release number to 1.9.2.
	* gm2/gm2-libs/config-host.in:  changed release number to 1.9.2.
	* gm2/version.c:  changed release number to 1.9.2.
	* gm2/NEWS:  added reference to 1.9.2.
	* gm2/patches/gcc/9.2.0/01-patches:  New file.
	* gm2/patches/gcc/9.2.0/02-patches:  New file.
	* gm2/patches/gcc/9.2.0/03-patches:  New file.
	* gm2/patches/gcc/9.2.0/04-patches:  New file.
	* gm2/patches/gcc/9.2.0/05-patches:  New file.
	* gm2/patches/gcc/9.2.0/06-patches:  New file.
	* gm2/patches/gcc/9.2.0/07-patches:  New file.
	* gm2/patches/gcc/9.2.0/08-patches:  New file.
	* gm2/patches/gcc/9.2.0/09-patches:  New file.
	* gm2/patches/gcc/9.2.0/10-patches:  New file.
	* gm2/patches/gcc/9.2.0/11-patches:  New file.
	* gm2/patches/gcc/9.2.0/12-patches:  New file.
	* gm2/patches/gcc/9.2.0/13-patches:  New file.
	* gm2/patches/gcc/9.2.0/14-patches:  New file.
	* gm2/patches/gcc/9.2.0/15-patches:  New file.

2019-08-05      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-libs-iso/SYSTEM.mod:  (RotateVal)
          added extra comment.  RotateCount is truncated to
	  modulus set size.
	* gm2/gm2-libs/SYSTEM.mod:  (RotateVal)
          added extra comment.  RotateCount is truncated to
	  modulus set size.

2019-08-02      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* testsuite/gm2/sets/run/pass/simple.mod:  New file.
	* testsuite/gm2/sets/run/pass/simple2.mod:  New file.
	* testsuite/gm2/sets/run/pass/simple3.mod:  New file.
	* testsuite/gm2/sets/run/pass/simple4.mod:  New file.
	* testsuite/gm2/sets/run/pass/simple5.mod:  New file.
	* testsuite/gm2/sets/run/pass/simple6.mod:  New file.
	* testsuite/gm2/sets/run/pass/simple7.mod:  New file.
	* testsuite/gm2/sets/run/pass/setarith2.mod:  New file.
	* testsuite/gm2/sets/run/pass/setarith3.mod:  New file.
	* testsuite/gm2/sets/run/pass/setarith4.mod:  New file.
	* testsuite/gm2/sets/run/pass/setarith.mod:  New file.
 	* testsuite/gm2/sets/run/pass/setrotate2.mod:  New file.
	* testsuite/gm2/sets/run/pass/setrotate3.mod:  New file.
	* testsuite/gm2/sets/run/pass/setrotate4.mod:  New file.
	* testsuite/gm2/sets/run/pass/setrotate.mod:  New file.
	* testsuite/gm2/sets/run/pass/setshift2.mod:  New file.
	* testsuite/gm2/sets/run/pass/setshift.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisetarith2.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisetarith3.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisetarith4.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisetarith.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisetrotate2.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisetrotate3.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisetrotate4.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisetrotate.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisetshift2.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisetshift.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisimple2.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisimple3.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisimple4.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisimple5.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisimple6.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisimple7.mod:  New file.
	* testsuite/gm2/sets/run/pass/multisimple.mod:  New file.

2019-07-10      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  (gm2.common-install) removed gm2m
          from being installed in bin and rewritten the install
          shell script.  Tools are installed without transformed
          names into libexecsubdir.  Compiler is installed with
          transformed name into bin.
          Many parallel build fixes backported from trunk and
	  dependancies fixed.

2019-07-09      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* testsuite/lib/gm2.exp:  pass -fno-diagnostics-show-caret,
          -fno-diagnostics-show-line-numbers and
          -fdiagnostics-color=never to gm2 when running dejagnu.

2019-07-09      Matthias Klose  <doko@cs.tu-berlin.de>

	* gm2/patches/gcc/9.1.0/11-patches:  New file.
          Provides langhook patches for Fortran, Go, D, Brig.

2019-07-09      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  backported gm2/Make-file.in from
          trunk.  Many changes which allow for parallel builds.
          Many dependancies added and rules rewritten.

2019-05-10      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/NEWS:  updated with information about 1.9.1.
	* gm2/configure.in:  changed release number to 1.9.1.
	* gm2/gm2-libs/config-host.in:  changed release number to 1.9.1.
	* gm2/version.c:  changed release number to 1.9.1.

2019-05-09      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/M2Options.def:  (SetWall) new procedure.
	* gm2/gm2-compiler/M2Options.mod:  (SetWall) implement by setting
	  UnusedVariableChecking, UnusedParameterChecking,
          PedanticParamNames, StudentChecking, PedanticCast to value.
	* gm2/gm2-lang.c:  introduce new case clause for -Wall.
	* gm2/lang.opt:  enable -Wall for Modula-2.
	* gm2/gm2.texi:  document availability of -Wall.
	* gm2/gm2-compiler/M2Quads.mod:  corrected error message format
	  specifier.
	* gm2/gm2-compiler/M2Quads.mod:
          (CheckUninitializedVariablesAreUsed) improved warning message.

2019-05-08      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/patches/gcc/9.1.0:  new directory and contents
	* gm2/patches/gcc/9.1.0/01-patches:  New file.
	* gm2/patches/gcc/9.1.0/02-patches:  New file.
	* gm2/patches/gcc/9.1.0/03-patches:  New file.
	* gm2/patches/gcc/9.1.0/04-patches:  New file.
	* gm2/patches/gcc/9.1.0/05-patches:  New file.
	* gm2/patches/gcc/9.1.0/06-patches:  New file.
	* gm2/patches/gcc/9.1.0/07-patches:  New file.
	* gm2/patches/gcc/9.1.0/08-patches:  New file.
	* gm2/patches/gcc/9.1.0/09-patches:  New file.
	* gm2/patches/gcc/9.1.0/10-patches:  New file.
	* gcc_9_1_0_gm2:  branch.
	* gm2/gm2-compiler/M2Options.def:  UnusedVariableChecking
          and UnusedParameterChecking declared and exported.
          (SetReturnCheck) added comment.  (SetNilCheck) added comment.
          (SetUnusedVariableChecking) New procedure.
          (SetUnusedParameterChecking) New procedure.
	* gm2/gm2-compiler/M2Options.mod:  (SetUnusedVariableChecking)
	  Implement new procedure.  (SetUnusedParameterChecking)
          Implement new procedure.  Initialize UnusedVariableChecking
          and UnusedParameterChecking
	* gm2/gm2-compiler/M2Quads.mod:
          (CheckUninitializedVariablesAreUsed) use the option variables
          UnusedParameterChecking and UnusedVariableChecking when
          performing semantic checks.
	* gm2/gm2-gcc/m2options.h:  (SetUnusedVariableChecking) added
          prototype.  (SetUnusedParameterChecking) added prototype.
	* gm2/gm2-lang.c:  handle Wunused_variable and Wunused_parameter.
	* gm2/gm2.texi:  add Wunused_variable and Wunused_parameter to
          the list of options with a description of their behaviour.
	* gm2/lang-options.h:  corrected GPL comment.  Added
          Wunused_variable and Wunused_parameter options.
	* gm2/lang.opt:  added Wunused_variable and Wunused_parameter
          options.
	* gm2/lang.opt:  removed description.

2019-05-07      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/M2ColorString.mod:  (quoteClose)
          reimplemented so that the existing color is shutdown
	  before end quote.
	* gm2/gm2-compiler/M2MetaError.mod:  shutdown color
	  within a quote.
	* gm2/gm2-compiler/M2Quads.mod:  many error messages
          using WriteFormat are replaced with MetaError
	  counterparts.  Both simplifying and cleaning up code.

2019-05-04      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/M2ALU.mod:  changed all calls WriteFormat
	  to use MetaError instead.
	* gm2/gm2-compiler/M2Comp.mod:  use M2MetaError primtives
          instead of M2Error to allow for colorization.
	* gm2/gm2-compiler/M2GenGCC.mod:   use M2MetaError primtives
          instead of M2Error to allow for colorization.
	* gm2/gm2-compiler/M2MetaError.def:  corrected comment spec.
	  Added {%F} spec.
	* gm2/gm2-compiler/M2MetaError.mod:  (filename) New procedure.
	  (op) call filename.
	* gm2/gm2-compiler/P0SymBuild.mod:  use M2MetaError primtives
          instead of M2Error to allow for colorization.  Improve
          incorrect begin block/end block error messages for modules
          and procedures.
	* gm2/gm2-compiler/P1SymBuild.mod:  use M2MetaError primtives
          instead of M2Error to allow for colorization.  Rewritten
          many error messages to take advantage of color and keyword
          rendering.
	* gm2/gm2-compiler/SymbolTable.def:  (MakeErrorS)  New procedure
          function.
	* gm2/gm2-compiler/SymbolTable.mod:  (MakeErrorS)  Implement
          new procedure function.  Replace some calls to WriteFormat1
	  with MetaError1.

2019-05-03      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/el/gm2-mode.el:  added BITSET to the list of data types.
	* gm2/gm2-compiler/M2Error.mod:  added ability to create notes.
	* gm2/gm2-compiler/M2LexBuf.mod:  removed Assert on
          currenttoken#eoftok as the first token might be an eof.
	* gm2/gm2-compiler/M2MetaError.def:  MetaErrorN1, MetaErrorN2
	  (New procedures defined).
	* gm2/gm2-compiler/M2MetaError.mod:  MetaErrorN1, MetaErrorN2
          (New procedures implemented).
	* gm2/gm2-compiler/M2Printf.mod:  reformatted using GNU coding
          standards.
	* gm2/gm2-compiler/M2Quads.mod:  use (MetaError0) and (MetaError1)
          rather than ErrorString.  Change keyword in error messages to
          use appropriate tags.
	* gm2/gm2-compiler/M2Students.mod:  corrected format specifiers.
	* gm2/gm2-compiler/P0SymBuild.mod:  use MetaError primitives
          rather than M2Error primitives.
	* gm2/gm2-libs/FormatStrings.mod:  corrected many formatting
          bugs.
	* gm2/pimlib/run/pass/format.mod:  new test program.
	* gm2/gm2-compiler/M2Students.mod:  corrected format specifier
	  so that the symbol is quoted.

2019-04-29      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  corrected front end name.
	* gm2/bnf/gm2m.bnf:  updated the GPL address.  Removed
          unnecessary forward declarations.  Adjusted comment for GNU
	  coding standards.
	* gm2/gm2-compiler/M2LexBuf.mod:  improved diagnostic routines.
	* gm2/gm2-compiler/M2Students.mod:  replaced M2Error string based
          routines with new M2MetaError routines (which generate GCC notes).
	* gm2/gm2-compiler/P2SymBuild.mod:  (MakeVar) call
	  CheckForVariableThatLooksLikeKeyword.
	* gm2/mc-boot/GDynamicStrings.c:  (rebuilt).
	* gm2/mc-boot/GFIO.c:  (rebuilt).
	* gm2/mc-boot/GNumberIO.c:  (rebuilt).
	* gm2/mc-boot/GRTExceptions.c:  (rebuilt).
	* gm2/mc-boot/GRTint.c:  (rebuilt).
	* gm2/mc-boot/GStringConvert.c:  (rebuilt).
	* gm2/mc-boot/Galists.c:  (rebuilt).
	* gm2/mc-boot/Gdecl.c:  (rebuilt).
	* gm2/mc-boot/Gkeyc.c:  (rebuilt).
	* gm2/mc-boot/GmcComment.c:  (rebuilt).
	* gm2/mc-boot/GmcComp.c:  (rebuilt).
	* gm2/mc-boot/GmcError.c:  (rebuilt).
	* gm2/mc-boot/GmcLexBuf.c:  (rebuilt).
	* gm2/mc-boot/GmcStream.c:  (rebuilt).
	* gm2/mc-boot/Gmcp1.c:  (rebuilt).
	* gm2/mc-boot/Gmcp2.c:  (rebuilt).
	* gm2/mc-boot/Gmcp3.c:  (rebuilt).
	* gm2/mc-boot/Gmcp4.c:  (rebuilt).
	* gm2/mc-boot/Gmcp5.c:  (rebuilt).
	* gm2/mc-boot/GnameKey.c:  (rebuilt).
	* gm2/mc-boot/GsymbolKey.c:  (rebuilt).
	* gm2/mc-boot/Gtop.c:  (rebuilt).
	* gm2/mc-boot/Gvarargs.c:  (rebuilt).
	* gm2/mc-boot/Gwlists.c:  (rebuilt).
	* gm2/mc/decl.mod:  detect dangling else for nested if statements.
	  Fixes a bug reported by Derek Wyss (gm2m fails to pass a module).
	* testsuite/gm2/pim/pass/ABSBug.mod:  added line break.
	* gm2/gm2-compiler/M2MetaError.mod:  improved InternalFormat
          error message.
	* gm2/gm2-compiler/M2Students.mod:  (PerformVariableKeywordCheck)
          duplicate string.  (CheckAsciiName)  correct parameter order so
	  that scope and variable name are correct.

2019-04-26      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-libs-ch/Selective.c:  fixed copyright notice.
          Also removed references to p2c and added GCC header
          config and portable include files.  Tidied up comments
	  and made them GNU complient.
	* libgm2/libpim/Selective.c:  fixed copyright notice.
          Tidied up comments and made them GNU complient.
	* gm2/Make-lang.in:  make xlibc.o dependant upon gm2-libs-host.h.
          (stage2/gm2/gm2m$(exeext)) reqritten rule to use $(LINKER).
	  gm2m links with tools.o.
	* gm2/gm2-libs-ch/xlibc.c:  implement xstrdup.
	* gm2/gm2-libs-ch/tools.c:  New file.

2019-04-25      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/M2MetaError.def:  (MetaErrorT0)
          declare and export.
	* gm2/gm2-compiler/M2MetaError.mod:  (pop) copy
          the error type back to the caller.   (MetaErrorT0)
          new procedure.
	* gm2/gm2-compiler/M2Range.mod:  import (MetaErrorT0)
          and replace MetaErrorT1 with MetaErrorT0.  Ensure that
          all warnings are have the 'W' format specifier.
	  Ensure that all errors use 'E' for consistency.

2019-04-24      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/M2GenGCC.mod:  (DescribeError)
          corrected symbol numbers.
	* gm2/gm2-compiler/M2MetaError.def:  large number of
          additions new format specifiers 'S', 'T', 'u', 'k'.
	* gm2/gm2-compiler/M2MetaError.mod:  much debugging code
          added and bug fixes for color changes implemented.
          Also implemented the above format specifiers.
	* gm2/gm2-compiler/M2Quads.mod:  (FailParameter) and
	  (WarnParameter) use new format specifiers in M2MetaError.

2019-04-23      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/M2MetaError.def:  added MetaErrorString0.
	* gm2/gm2-compiler/M2MetaError.mod:  many bug fixes which
          implement coloring when concatenating strings.
	* gm2/gm2-compiler/M2Students.mod:
          (CheckForVariableThatLooksLikeKeyword) New procedure.
          (PerformVariableKeywordCheck) reimplemented to use
          MetaErrorString0.
	* gm2/gm2-compiler/SymbolTable.mod:  reimplemented
	  CheckForSymbols using the MetaError substructure.

2019-04-18      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Makefile.in:  removed purge of p2c components.
	* gm2/gm2-gcc/m2expr.c:  corrected comment formatting.
	* gm2/gm2-internals.texi:  added a line saying this is out of
          date.
	* gm2/gm2builtins.c:  removed.
	* gm2/gm2except.c:  removed.
	* gm2/p2c:  removed directory.
	* gm2/p2crc:  removed.
	* testsuite/gm2/pim/run/pass/integer.mod:  added
	* testsuite/gm2/pim/fail/integer.mod:  added

2019-04-17      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/bnf/m2-2.bnf:  replaced ErrorStringAt with MetaErrorStringT0
	  for GCC colorization.
	* gm2/bnf/m2.bnf:  replaced ErrorStringAt with MetaErrorStringT0
	  for GCC colorization.
	* gm2/gm2-compiler/M2MetaError.def:  added root, chain and color
	  directives.
	* gm2/gm2-compiler/M2MetaError.mod:  added root, chain and color
	  directives.  Applied many fixes.
	* gm2/gm2-compiler/ppg.mod:  added keyword directives to error
          messages.
	* gm2/gm2.texi:  (-fm2-lower-case) added description for option.

2019-04-16      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/M2ColorString.def:  rewritten.
	* gm2/gm2-compiler/M2ColorString.mod:  rewritten.
	* gm2/gm2-compiler/M2Error.def:  New procedures (NewNote) and (SetColor).
	* gm2/gm2-compiler/M2Error.mod:  New procedures (NewNote) and
          (SetColor) implemented.  Also enable colors in legacy error messages.
	* gm2/gm2-compiler/M2MetaError.def:  added {%O}, {%K} %< and %>.
	* gm2/gm2-compiler/M2MetaError.mod:  implemented {%O}, %< and
          %> and fixed many bugs.
	* gm2/gm2-compiler/SymbolTable.mod:  rewritten undefined symbol error
          messages to use M2MetaError.
	* gm2/Make-lang.in:  make ppg use the -k option.
	* gm2/gm2-compiler/M2GenGCC.mod:  use MetaError and simplify the
          error reporting.
	* gm2/gm2-compiler/M2MetaError.def:  correct comments.
	* gm2/gm2-compiler/M2MetaError.mod:  handle the keyword and
          default all messages to the error color.
	* gm2/gm2-compiler/SymbolTable.mod:  use MetaError and tidied up
	  UndeclaredSymbolError and callees.
	* gm2/gm2-compiler/ppg.mod:  implement the -k option to generate
	  GCC error formatting directives.

2019-04-14      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/CLexBuf.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/CLexBuf.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/FifoQueue.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/FifoQueue.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/Lists.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/Lists.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2ALU.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2ALU.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2AsmUtil.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2AsmUtil.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Base.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Base.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2BasicBlock.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2BasicBlock.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Batch.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Batch.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Bitset.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Bitset.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2CaseList.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2CaseList.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Code.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Code.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Comp.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Comp.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Configure.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Configure.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Const.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Const.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Debug.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Debug.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2DebugStack.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2DebugStack.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Defaults.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Defaults.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Depth.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Depth.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2DriverOptions.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2DriverOptions.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Error.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Error.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2FileName.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2FileName.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2GCCDeclare.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2GenGCC.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2GenGCC.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Lex.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Lex.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2LexBuf.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2LexBuf.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2MetaError.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2MetaError.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Optimize.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Optimize.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Options.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Options.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Pass.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Pass.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Preprocess.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Preprocess.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Printf.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Printf.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Quads.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Quads.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Quiet.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Quiet.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Range.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Reserved.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Reserved.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Scope.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Scope.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Search.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Search.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Size.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Size.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2StackAddress.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2StackAddress.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2StackWord.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2StackWord.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Students.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Students.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Swig.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Swig.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2System.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2System.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/NameKey.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/NameKey.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/ObjectFiles.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/ObjectFiles.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/P0SymBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P0SymBuild.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/P0SyntaxCheck.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P1SymBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P1SymBuild.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/P2SymBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P2SymBuild.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/P3SymBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P3SymBuild.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/PCSymBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/PCSymBuild.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/Sets.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/Sets.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/SymbolConversion.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/SymbolConversion.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/SymbolKey.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/SymbolKey.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/SymbolTable.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/SymbolTable.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/bnflex.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/bnflex.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/cflex.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/gm2.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/gm2builtins.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/gm2lcc.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/gm2lgen.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/gm2lorder.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/m2flex.def:  added summary and dates for GPL.
	* gm2/gm2-gcc/m2color.c:  New file.
	* gm2/gm2-gcc/m2color.h:  New file.
	* gm2/gm2-gcc/m2color.def:  New file.
	* gm2/gm2-compiler/M2ColorString.def:  New file.
	* gm2/gm2-compiler/M2ColorString.mod:  New file.
	* gm2/gm2-compiler/M2ColorString.mod:  Changed character to string
	  to handle utf8 quotation.

2019-04-12      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/CLexBuf.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/CLexBuf.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/FifoQueue.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/FifoQueue.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/Lists.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/Lists.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2ALU.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2ALU.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2AsmUtil.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2AsmUtil.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Base.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Base.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2BasicBlock.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2BasicBlock.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Batch.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Batch.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Bitset.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Bitset.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2CaseList.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2CaseList.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Code.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Code.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Comp.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Comp.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Configure.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Configure.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Const.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Const.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Debug.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Debug.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2DebugStack.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2DebugStack.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Defaults.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Defaults.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Depth.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Depth.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2DriverOptions.def:  added summary and dates
	for GPL.
	* gm2/gm2-compiler/M2DriverOptions.mod:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/M2Error.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Error.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2FileName.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2FileName.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2GCCDeclare.def:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/M2GenGCC.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2GenGCC.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Lex.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Lex.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2LexBuf.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2LexBuf.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2MetaError.def:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/M2MetaError.mod:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/M2Optimize.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Optimize.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Options.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Options.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Pass.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Pass.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Preprocess.def:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/M2Preprocess.mod:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/M2Printf.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Printf.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Quads.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Quads.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Quiet.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Quiet.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Range.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Reserved.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Reserved.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Scope.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Scope.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Search.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Search.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Size.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Size.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2StackAddress.def:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/M2StackAddress.mod:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/M2StackWord.def:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/M2StackWord.mod:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/M2Students.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Students.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Swig.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Swig.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2System.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2System.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/NameKey.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/NameKey.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/ObjectFiles.def:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/ObjectFiles.mod:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/P0SymBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P0SymBuild.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/P0SyntaxCheck.def:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/P1SymBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P1SymBuild.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/P2SymBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P2SymBuild.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/P3SymBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P3SymBuild.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/PCSymBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/PCSymBuild.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/Sets.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/Sets.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/SymbolConversion.def:  added summary and dates
	for GPL.
	* gm2/gm2-compiler/SymbolConversion.mod:  added summary and dates
	for GPL.
	* gm2/gm2-compiler/SymbolKey.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/SymbolKey.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/SymbolTable.def:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/SymbolTable.mod:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/bnflex.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/bnflex.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/cflex.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/gm2.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/gm2builtins.def:  added summary and dates for
	GPL.
	* gm2/gm2-compiler/gm2lcc.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/gm2lgen.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/gm2lorder.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/m2flex.def:  added summary and dates for GPL.
	* gm2/mc/mcComment.mod:  added summary and dates for GPL.
	* gm2/mc/mcError.mod:  added summary and dates for GPL.
	* gm2/mc/mcLexBuf.mod:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2GenGCC.mod:  (ConvertTo) improve comment.

2019-04-09      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-libs-min/M2RTS.def:  added summary and dates for GPL.
	* gm2/gm2-libs-min/M2RTS.mod:  added summary and dates for GPL.
	* gm2/gm2-libs-min/SYSTEM.def:  added summary and dates for GPL.
	* gm2/gm2-libs-min/SYSTEM.mod:  added summary and dates for GPL.
	* gm2/gm2-libs-min/libc.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/BitBlockOps.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/BitByteOps.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/BitWordOps.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/BlockOps.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/Break.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/CardinalIO.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/Conversions.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/DebugPMD.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/DebugTrace.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/Delay.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/Display.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/ErrorCode.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/FileSystem.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/FloatingUtilities.def:  added summary and dates
	for GPL.
	* gm2/gm2-libs-pim/InOut.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/Keyboard.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/LongIO.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/NumberConversion.def:  added summary and dates
	for GPL.
	* gm2/gm2-libs-pim/Random.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/RealConversions.def:  added summary and dates
	for GPL.
	* gm2/gm2-libs-pim/RealInOut.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/Strings.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/Termbase.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/Terminal.def:  added summary and dates for GPL.
	* gm2/gm2-libs-pim/TimeDate.def:  added summary and dates for GPL.
	* gm2/mc/alists.mod:  added summary and dates for GPL.

2019-04-06      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/FifoQueue.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/Indexing.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/Lists.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2ALU.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2AsmUtil.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Base.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2BasicBlock.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Batch.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Bitset.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2CaseList.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Code.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Comp.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Configure.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Const.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Debug.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2DebugStack.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Defaults.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Depth.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2DriverOptions.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Error.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2EvalSym.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2FileName.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2GCCDeclare.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2GenGCC.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Lex.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2LexBuf.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2MetaError.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Optimize.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Options.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Pass.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Preprocess.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Printf.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Quads.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Quiet.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Range.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Reserved.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Scope.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Search.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Size.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2StackAddress.def:  added summary and dates	for GPL.
	* gm2/gm2-compiler/M2StackWord.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Students.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Swig.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2System.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/M2Version.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/NameKey.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/ObjectFiles.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P0SymBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P0SyntaxCheck.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P1Build.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P1SymBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P2Build.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P2SymBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P3Build.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/P3SymBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/PCBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/PCSymBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/PHBuild.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/Sets.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/SymbolConversion.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/SymbolKey.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/SymbolTable.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/bnflex.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/cflex.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/gccgm2.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/gm2builtins.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/gm2except.def:  added summary and dates for GPL.
	* gm2/gm2-compiler/m2flex.def:  added summary and dates for GPL.
	* gm2/gm2-libs/Args.def:  added summary and dates for GPL.
	* gm2/gm2-libs/Assertion.def:  added summary and dates for GPL.
	* gm2/gm2-libs/Builtins.def:  added summary and dates for GPL.
	* gm2/gm2-libs/CmdArgs.def:  added summary and dates for GPL.
	* gm2/gm2-libs/Debug.def:  added summary and dates for GPL.
	* gm2/gm2-libs/DynamicStrings.def:  added summary and dates for GPL.
	* gm2/gm2-libs/Environment.def:  added summary and dates for GPL.
	* gm2/gm2-libs/FIO.def:  added summary and dates for GPL.
	* gm2/gm2-libs/FormatStrings.def:  added summary and dates for GPL.
	* gm2/gm2-libs/FpuIO.def:  added summary and dates for GPL.
	* gm2/gm2-libs/IO.def:  added summary and dates for GPL.
	* gm2/gm2-libs/Indexing.def:  added summary and dates for GPL.
	* gm2/gm2-libs/LMathLib0.def:  added summary and dates for GPL.
	* gm2/gm2-libs/LegacyReal.def:  added summary and dates for GPL.
	* gm2/gm2-libs/M2RTS.def:  added summary and dates for GPL.
	* gm2/gm2-libs/MathLib0.def:  added summary and dates for GPL.
	* gm2/gm2-libs/MemUtils.def:  added summary and dates for GPL.
	* gm2/gm2-libs/NumberIO.def:  added summary and dates for GPL.
	* gm2/gm2-libs/PushBackInput.def:  added summary and dates for GPL.
	* gm2/gm2-libs/RTExceptions.def:  added summary and dates for GPL.
	* gm2/gm2-libs/RTint.def:  added summary and dates for GPL.
	* gm2/gm2-libs/SArgs.def:  added summary and dates for GPL.
	* gm2/gm2-libs/SCmdArgs.def:  added summary and dates for GPL.
	* gm2/gm2-libs/SEnvironment.def:  added summary and dates for GPL.
	* gm2/gm2-libs/SFIO.def:  added summary and dates for GPL.
	* gm2/gm2-libs/SMathLib0.def:  added summary and dates for GPL.
	* gm2/gm2-libs/SYSTEM.def:  added summary and dates for GPL.
	* gm2/gm2-libs/Scan.def:  added summary and dates for GPL.
	* gm2/gm2-libs/Selective.def:  added summary and dates for GPL.
	* gm2/gm2-libs/StdIO.def:  added summary and dates for GPL.
	* gm2/gm2-libs/Storage.def:  added summary and dates for GPL.
	* gm2/gm2-libs/StrIO.def:  added summary and dates for GPL.
	* gm2/gm2-libs/StrLib.def:  added summary and dates for GPL.
	* gm2/gm2-libs/StringConvert.def:  added summary and dates for GPL.
	* gm2/gm2-libs/SysExceptions.def:  added summary and dates for GPL.
	* gm2/gm2-libs/SysStorage.def:  added summary and dates for GPL.
	* gm2/gm2-libs/TimeString.def:  added summary and dates for GPL.
	* gm2/gm2-libs/UnixArgs.def:  added summary and dates for GPL.
	* gm2/gm2-libs/cbuiltin.def:  added summary and dates for GPL.
	* gm2/gm2-libs/cxxabi.def:  added summary and dates for GPL.
	* gm2/gm2-libs/dtoa.def:  added summary and dates for GPL.
	* gm2/gm2-libs/errno.def:  added summary and dates for GPL.
	* gm2/gm2-libs/gdbif.def:  added summary and dates for GPL.
	* gm2/gm2-libs/ldtoa.def:  added summary and dates for GPL.
	* gm2/gm2-libs/libc.def:  added summary and dates for GPL.
	* gm2/gm2-libs/libm.def:  added summary and dates for GPL.
	* gm2/gm2-libs/sckt.def:  added summary and dates for GPL.
	* gm2/gm2-libs/termios.def:  added summary and dates for GPL.
	* gm2/gm2-libs/wrapc.def:  added summary and dates for GPL.
	* gm2/gm2spec.c:  added summary and dates for GPL.
	* gm2/mc-boot/GASCII.c:  rebuilt.
	* gm2/mc-boot/GASCII.h:  rebuilt.
	* gm2/mc-boot/GArgs.c:  rebuilt.
	* gm2/mc-boot/GArgs.h:  rebuilt.
	* gm2/mc-boot/GAssertion.c:  rebuilt.
	* gm2/mc-boot/GAssertion.h:  rebuilt.
	* gm2/mc-boot/GBreak.c:  rebuilt.
	* gm2/mc-boot/GBreak.h:  rebuilt.
	* gm2/mc-boot/GCOROUTINES.h:  rebuilt.
	* gm2/mc-boot/GCmdArgs.c:  rebuilt.
	* gm2/mc-boot/GCmdArgs.h:  rebuilt.
	* gm2/mc-boot/GDebug.c:  rebuilt.
	* gm2/mc-boot/GDebug.h:  rebuilt.
	* gm2/mc-boot/GDynamicStrings.c:  rebuilt.
	* gm2/mc-boot/GDynamicStrings.h:  rebuilt.
	* gm2/mc-boot/GEnvironment.c:  rebuilt.
	* gm2/mc-boot/GEnvironment.h:  rebuilt.
	* gm2/mc-boot/GFIO.c:  rebuilt.
	* gm2/mc-boot/GFIO.h:  rebuilt.
	* gm2/mc-boot/GFormatStrings.c:  rebuilt.
	* gm2/mc-boot/GFormatStrings.h:  rebuilt.
	* gm2/mc-boot/GFpuIO.c:  rebuilt.
	* gm2/mc-boot/GFpuIO.h:  rebuilt.
	* gm2/mc-boot/GIO.c:  rebuilt.
	* gm2/mc-boot/GIO.h:  rebuilt.
	* gm2/mc-boot/GIndexing.c:  rebuilt.
	* gm2/mc-boot/GIndexing.h:  rebuilt.
	* gm2/mc-boot/GM2EXCEPTION.c:  rebuilt.
	* gm2/mc-boot/GM2EXCEPTION.h:  rebuilt.
	* gm2/mc-boot/GM2RTS.c:  rebuilt.
	* gm2/mc-boot/GM2RTS.h:  rebuilt.
	* gm2/mc-boot/GMemUtils.c:  rebuilt.
	* gm2/mc-boot/GMemUtils.h:  rebuilt.
	* gm2/mc-boot/GNumberIO.c:  rebuilt.
	* gm2/mc-boot/GNumberIO.h:  rebuilt.
	* gm2/mc-boot/GPushBackInput.c:  rebuilt.
	* gm2/mc-boot/GPushBackInput.h:  rebuilt.
	* gm2/mc-boot/GRTExceptions.c:  rebuilt.
	* gm2/mc-boot/GRTExceptions.h:  rebuilt.
	* gm2/mc-boot/GRTint.c:  rebuilt.
	* gm2/mc-boot/GRTint.h:  rebuilt.
	* gm2/mc-boot/GSArgs.c:  rebuilt.
	* gm2/mc-boot/GSArgs.h:  rebuilt.
	* gm2/mc-boot/GSFIO.c:  rebuilt.
	* gm2/mc-boot/GSFIO.h:  rebuilt.
	* gm2/mc-boot/GSYSTEM.h:  rebuilt.
	* gm2/mc-boot/GSelective.h:  rebuilt.
	* gm2/mc-boot/GStdIO.c:  rebuilt.
	* gm2/mc-boot/GStdIO.h:  rebuilt.
	* gm2/mc-boot/GStorage.c:  rebuilt.
	* gm2/mc-boot/GStorage.h:  rebuilt.
	* gm2/mc-boot/GStrCase.c:  rebuilt.
	* gm2/mc-boot/GStrCase.h:  rebuilt.
	* gm2/mc-boot/GStrIO.c:  rebuilt.
	* gm2/mc-boot/GStrIO.h:  rebuilt.
	* gm2/mc-boot/GStrLib.c:  rebuilt.
	* gm2/mc-boot/GStrLib.h:  rebuilt.
	* gm2/mc-boot/GStringConvert.c:  rebuilt.
	* gm2/mc-boot/GStringConvert.h:  rebuilt.
	* gm2/mc-boot/GSysExceptions.h:  rebuilt.
	* gm2/mc-boot/GSysStorage.c:  rebuilt.
	* gm2/mc-boot/GSysStorage.h:  rebuilt.
	* gm2/mc-boot/GTimeString.c:  rebuilt.
	* gm2/mc-boot/GTimeString.h:  rebuilt.
	* gm2/mc-boot/GUnixArgs.h:  rebuilt.
	* gm2/mc-boot/Galists.c:  rebuilt.
	* gm2/mc-boot/Galists.h:  rebuilt.
	* gm2/mc-boot/Gdecl.c:  rebuilt.
	* gm2/mc-boot/Gdecl.h:  rebuilt.
	* gm2/mc-boot/Gdtoa.h:  rebuilt.
	* gm2/mc-boot/Gerrno.h:  rebuilt.
	* gm2/mc-boot/Gkeyc.c:  rebuilt.
	* gm2/mc-boot/Gkeyc.h:  rebuilt.
	* gm2/mc-boot/Gldtoa.h:  rebuilt.
	* gm2/mc-boot/Glibc.h:  rebuilt.
	* gm2/mc-boot/Glibm.h:  rebuilt.
	* gm2/mc-boot/Glists.c:  rebuilt.
	* gm2/mc-boot/Glists.h:  rebuilt.
	* gm2/mc-boot/GmcComment.c:  rebuilt.
	* gm2/mc-boot/GmcComment.h:  rebuilt.
	* gm2/mc-boot/GmcComp.c:  rebuilt.
	* gm2/mc-boot/GmcComp.h:  rebuilt.
	* gm2/mc-boot/GmcDebug.c:  rebuilt.
	* gm2/mc-boot/GmcDebug.h:  rebuilt.
	* gm2/mc-boot/GmcError.c:  rebuilt.
	* gm2/mc-boot/GmcError.h:  rebuilt.
	* gm2/mc-boot/GmcFileName.c:  rebuilt.
	* gm2/mc-boot/GmcFileName.h:  rebuilt.
	* gm2/mc-boot/GmcLexBuf.c:  rebuilt.
	* gm2/mc-boot/GmcLexBuf.h:  rebuilt.
	* gm2/mc-boot/GmcMetaError.c:  rebuilt.
	* gm2/mc-boot/GmcMetaError.h:  rebuilt.
	* gm2/mc-boot/GmcOptions.c:  rebuilt.
	* gm2/mc-boot/GmcOptions.h:  rebuilt.
	* gm2/mc-boot/GmcPreprocess.c:  rebuilt.
	* gm2/mc-boot/GmcPreprocess.h:  rebuilt.
	* gm2/mc-boot/GmcPretty.c:  rebuilt.
	* gm2/mc-boot/GmcPretty.h:  rebuilt.
	* gm2/mc-boot/GmcPrintf.c:  rebuilt.
	* gm2/mc-boot/GmcPrintf.h:  rebuilt.
	* gm2/mc-boot/GmcQuiet.c:  rebuilt.
	* gm2/mc-boot/GmcQuiet.h:  rebuilt.
	* gm2/mc-boot/GmcReserved.c:  rebuilt.
	* gm2/mc-boot/GmcReserved.h:  rebuilt.
	* gm2/mc-boot/GmcSearch.c:  rebuilt.
	* gm2/mc-boot/GmcSearch.h:  rebuilt.
	* gm2/mc-boot/GmcStack.c:  rebuilt.
	* gm2/mc-boot/GmcStack.h:  rebuilt.
	* gm2/mc-boot/GmcStream.c:  rebuilt.
	* gm2/mc-boot/GmcStream.h:  rebuilt.
	* gm2/mc-boot/Gmcflex.h:  rebuilt.
	* gm2/mc-boot/Gmcp1.c:  rebuilt.
	* gm2/mc-boot/Gmcp1.h:  rebuilt.
	* gm2/mc-boot/Gmcp2.c:  rebuilt.
	* gm2/mc-boot/Gmcp2.h:  rebuilt.
	* gm2/mc-boot/Gmcp3.c:  rebuilt.
	* gm2/mc-boot/Gmcp3.h:  rebuilt.
	* gm2/mc-boot/Gmcp4.c:  rebuilt.
	* gm2/mc-boot/Gmcp4.h:  rebuilt.
	* gm2/mc-boot/Gmcp5.c:  rebuilt.
	* gm2/mc-boot/Gmcp5.h:  rebuilt.
	* gm2/mc-boot/GnameKey.c:  rebuilt.
	* gm2/mc-boot/GnameKey.h:  rebuilt.
	* gm2/mc-boot/Gpth.h:  rebuilt.
	* gm2/mc-boot/GsymbolKey.c:  rebuilt.
	* gm2/mc-boot/GsymbolKey.h:  rebuilt.
	* gm2/mc-boot/Gtermios.h:  rebuilt.
	* gm2/mc-boot/Gtop.c:  rebuilt.
	* gm2/mc-boot/Gvarargs.c:  rebuilt.
	* gm2/mc-boot/Gvarargs.h:  rebuilt.
	* gm2/mc-boot/Gwlists.c:  rebuilt.
	* gm2/mc-boot/Gwlists.h:  rebuilt.
	* gm2/mc-boot/Gwrapc.h:  rebuilt.
	* gm2/mc/Indexing.def:  added summary and dates for GPL.
	* gm2/mc/Indexing.mod:  added summary and dates for GPL.
	* gm2/mc/alists.def:  added summary and dates for GPL.
	* gm2/mc/alists.mod:  added summary and dates for GPL.
	* gm2/mc/decl.def:  added summary and dates for GPL.
	* gm2/mc/decl.mod:  added capturing of module comments.
	  Fixed GPL header.
	* gm2/mc/keyc.def:  added summary and dates for GPL.
	* gm2/mc/keyc.mod:  added summary and dates for GPL.
	* gm2/mc/lists.def:  added summary and dates for GPL.
	* gm2/mc/lists.mod:  added summary and dates for GPL.
	* gm2/mc/m2flex.def:  added summary and dates for GPL.
	* gm2/mc/mcComment.def:  added summary and dates for GPL.
	* gm2/mc/mcComp.def:  added summary and dates for GPL.
	* gm2/mc/mcDebug.def:  added summary and dates for GPL.
	* gm2/mc/mcError.def:  added summary and dates for GPL.
	* gm2/mc/mcFileName.def:  added summary and dates for GPL.
	* gm2/mc/mcLexBuf.def:  added summary and dates for GPL.
	* gm2/mc/mcMetaError.def:  added summary and dates for GPL.
	* gm2/mc/mcOptions.def:  added summary and dates for GPL.
	* gm2/mc/mcPreprocess.def:  added summary and dates for GPL.
	* gm2/mc/mcPretty.def:  added summary and dates for GPL.
	* gm2/mc/mcPrintf.def:  added summary and dates for GPL.
	* gm2/mc/mcQuiet.def:  added summary and dates for GPL.
	* gm2/mc/mcReserved.def:  added summary and dates for GPL.
	* gm2/mc/mcSearch.def:  added summary and dates for GPL.
	* gm2/mc/mcStack.def:  added summary and dates for GPL.
	* gm2/mc/mcStream.def:  added summary and dates for GPL.
	* gm2/mc/mcStream.mod:  added summary and dates for GPL.
	* gm2/mc/mcflex.def:  added summary and dates for GPL.
	* gm2/mc/mcp1.def:  added summary and dates for GPL.
	* gm2/mc/mcp2.def:  added summary and dates for GPL.
	* gm2/mc/mcp3.def:  added summary and dates for GPL.
	* gm2/mc/mcp4.def:  added summary and dates for GPL.
	* gm2/mc/mcp5.def:  added summary and dates for GPL.
	* gm2/mc/nameKey.def:  added summary and dates for GPL.
	* gm2/mc/nameKey.mod:  added summary and dates for GPL.
	* gm2/mc/symbolKey.def:  added summary and dates for GPL.
	* gm2/mc/symbolKey.mod:  added summary and dates for GPL.
	* gm2/mc/top.mod:  added summary and dates for GPL.
	* gm2/mc/varargs.def:  added summary and dates for GPL.
	* gm2/mc/varargs.mod:  added summary and dates for GPL.
	* gm2/mc/wlists.def:  added summary and dates for GPL.
	* gm2/mc/wlists.mod:  added summary and dates for GPL.
	* gm2/gm2-libs/ASCII.def:  added summary and dates for GPL.

2019-04-05      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-file.in:  generate mc with GPL3 header.
	* gm2/mc/mcOptions.mod:  corrected bugs with uninitialised
	  string variables and corrected formatting.
	* gm2/mc-boot/GASCII.h:  regenerated with GPL.
	* gm2/mc-boot/GArgs.h:  regenerated with GPL.
	* gm2/mc-boot/GAssertion.h:  regenerated with GPL.
	* gm2/mc-boot/GBreak.h:  regenerated with GPL.
	* gm2/mc-boot/GCOROUTINES.h:  regenerated with GPL.
	* gm2/mc-boot/GCmdArgs.h:  regenerated with GPL.
	* gm2/mc-boot/GDebug.h:  regenerated with GPL.
	* gm2/mc-boot/GDynamicStrings.c:  regenerated with GPL.
	* gm2/mc-boot/GDynamicStrings.h:  regenerated with GPL.
	* gm2/mc-boot/GEnvironment.h:  regenerated with GPL.
	* gm2/mc-boot/GFIO.c:  regenerated with GPL.
	* gm2/mc-boot/GFIO.h:  regenerated with GPL.
	* gm2/mc-boot/GFormatStrings.h:  regenerated with GPL.
	* gm2/mc-boot/GFpuIO.h:  regenerated with GPL.
	* gm2/mc-boot/GIO.h:  regenerated with GPL.
	* gm2/mc-boot/GIndexing.h:  regenerated with GPL.
	* gm2/mc-boot/GM2EXCEPTION.h:  regenerated with GPL.
	* gm2/mc-boot/GM2RTS.c:  regenerated with GPL.
	* gm2/mc-boot/GM2RTS.h:  regenerated with GPL.
	* gm2/mc-boot/GMemUtils.h:  regenerated with GPL.
	* gm2/mc-boot/GNumberIO.c:  regenerated with GPL.
	* gm2/mc-boot/GNumberIO.h:  regenerated with GPL.
	* gm2/mc-boot/GPushBackInput.c:  regenerated with GPL.
	* gm2/mc-boot/GPushBackInput.h:  regenerated with GPL.
	* gm2/mc-boot/GRTExceptions.c:  regenerated with GPL.
	* gm2/mc-boot/GRTExceptions.h:  regenerated with GPL.
	* gm2/mc-boot/GRTint.h:  regenerated with GPL.
	* gm2/mc-boot/GSArgs.h:  regenerated with GPL.
	* gm2/mc-boot/GSFIO.h:  regenerated with GPL.
	* gm2/mc-boot/GSYSTEM.h:  regenerated with GPL.
	* gm2/mc-boot/GSelective.h:  regenerated with GPL.
	* gm2/mc-boot/GStdIO.h:  regenerated with GPL.
	* gm2/mc-boot/GStorage.h:  regenerated with GPL.
	* gm2/mc-boot/GStrCase.h:  regenerated with GPL.
	* gm2/mc-boot/GStrIO.h:  regenerated with GPL.
	* gm2/mc-boot/GStrLib.h:  regenerated with GPL.
	* gm2/mc-boot/GStringConvert.c:  regenerated with GPL.
	* gm2/mc-boot/GStringConvert.h:  regenerated with GPL.
	* gm2/mc-boot/GSysExceptions.h:  regenerated with GPL.
	* gm2/mc-boot/GSysStorage.h:  regenerated with GPL.
	* gm2/mc-boot/GTimeString.h:  regenerated with GPL.
	* gm2/mc-boot/GUnixArgs.h:  regenerated with GPL.
	* gm2/mc-boot/Galists.h:  regenerated with GPL.
	* gm2/mc-boot/Gdecl.c:  regenerated with GPL.
	* gm2/mc-boot/Gdecl.h:  regenerated with GPL.
	* gm2/mc-boot/Gdtoa.h:  regenerated with GPL.
	* gm2/mc-boot/Gerrno.h:  regenerated with GPL.
	* gm2/mc-boot/Gkeyc.h:  regenerated with GPL.
	* gm2/mc-boot/Gldtoa.h:  regenerated with GPL.
	* gm2/mc-boot/Glibc.h:  regenerated with GPL.
	* gm2/mc-boot/Glibm.h:  regenerated with GPL.
	* gm2/mc-boot/Glists.h:  regenerated with GPL.
	* gm2/mc-boot/GmcComment.h:  regenerated with GPL.
	* gm2/mc-boot/GmcComp.h:  regenerated with GPL.
	* gm2/mc-boot/GmcDebug.h:  regenerated with GPL.
	* gm2/mc-boot/GmcError.h:  regenerated with GPL.
	* gm2/mc-boot/GmcFileName.h:  regenerated with GPL.
	* gm2/mc-boot/GmcLexBuf.h:  regenerated with GPL.
	* gm2/mc-boot/GmcMetaError.h:  regenerated with GPL.
	* gm2/mc-boot/GmcOptions.c:  regenerated with GPL.
	* gm2/mc-boot/GmcOptions.h:  regenerated with GPL.
	* gm2/mc-boot/GmcPreprocess.h:  regenerated with GPL.
	* gm2/mc-boot/GmcPretty.h:  regenerated with GPL.
	* gm2/mc-boot/GmcPrintf.h:  regenerated with GPL.
	* gm2/mc-boot/GmcQuiet.h:  regenerated with GPL.
	* gm2/mc-boot/GmcReserved.h:  regenerated with GPL.
	* gm2/mc-boot/GmcSearch.h:  regenerated with GPL.
	* gm2/mc-boot/GmcStack.h:  regenerated with GPL.
	* gm2/mc-boot/GmcStream.h:  regenerated with GPL.
	* gm2/mc-boot/Gmcflex.h:  regenerated with GPL.
	* gm2/mc-boot/Gmcp1.h:  regenerated with GPL.
	* gm2/mc-boot/Gmcp2.h:  regenerated with GPL.
	* gm2/mc-boot/Gmcp3.h:  regenerated with GPL.
	* gm2/mc-boot/Gmcp4.h:  regenerated with GPL.
	* gm2/mc-boot/Gmcp5.h:  regenerated with GPL.
	* gm2/mc-boot/GnameKey.h:  regenerated with GPL.
	* gm2/mc-boot/Gpth.h:  regenerated with GPL.
	* gm2/mc-boot/GsymbolKey.h:  regenerated with GPL.
	* gm2/mc-boot/Gtermios.h:  regenerated with GPL.
	* gm2/mc-boot/Gtop.c:  regenerated with GPL.
	* gm2/mc-boot/Gvarargs.h:  regenerated with GPL.
	* gm2/mc-boot/Gwlists.h:  regenerated with GPL.
	* gm2/mc-boot/Gwrapc.h:  regenerated with GPL.

2019-04-04      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/mc-boot/GASCII.h:  regenerated.
	* gm2/mc-boot/GArgs.h:  regenerated.
	* gm2/mc-boot/GAssertion.h:  regenerated.
	* gm2/mc-boot/GBreak.h:  regenerated.
	* gm2/mc-boot/GCOROUTINES.h:  regenerated.
	* gm2/mc-boot/GCmdArgs.h:  regenerated.
	* gm2/mc-boot/GDebug.h:  regenerated.
	* gm2/mc-boot/GDynamicStrings.c:  regenerated.
	* gm2/mc-boot/GDynamicStrings.h:  regenerated.
	* gm2/mc-boot/GEnvironment.h:  regenerated.
	* gm2/mc-boot/GFIO.c:  regenerated.
	* gm2/mc-boot/GFIO.h:  regenerated.
	* gm2/mc-boot/GFormatStrings.h:  regenerated.
	* gm2/mc-boot/GFpuIO.h:  regenerated.
	* gm2/mc-boot/GIO.h:  regenerated.
	* gm2/mc-boot/GIndexing.h:  regenerated.
	* gm2/mc-boot/GM2EXCEPTION.h:  regenerated.
	* gm2/mc-boot/GM2RTS.c:  regenerated.
	* gm2/mc-boot/GM2RTS.h:  regenerated.
	* gm2/mc-boot/GMemUtils.h:  regenerated.
	* gm2/mc-boot/GNumberIO.c:  regenerated.
	* gm2/mc-boot/GNumberIO.h:  regenerated.
	* gm2/mc-boot/GPushBackInput.c:  regenerated.
	* gm2/mc-boot/GPushBackInput.h:  regenerated.
	* gm2/mc-boot/GRTExceptions.c:  regenerated.
	* gm2/mc-boot/GRTExceptions.h:  regenerated.
	* gm2/mc-boot/GRTint.h:  regenerated.
	* gm2/mc-boot/GSArgs.h:  regenerated.
	* gm2/mc-boot/GSFIO.h:  regenerated.
	* gm2/mc-boot/GSYSTEM.h:  regenerated.
	* gm2/mc-boot/GSelective.h:  regenerated.
	* gm2/mc-boot/GStdIO.h:  regenerated.
	* gm2/mc-boot/GStorage.h:  regenerated.
	* gm2/mc-boot/GStrCase.h:  regenerated.
	* gm2/mc-boot/GStrIO.h:  regenerated.
	* gm2/mc-boot/GStrLib.h:  regenerated.
	* gm2/mc-boot/GStringConvert.c:  regenerated.
	* gm2/mc-boot/GStringConvert.h:  regenerated.
	* gm2/mc-boot/GSysExceptions.h:  regenerated.
	* gm2/mc-boot/GSysStorage.h:  regenerated.
	* gm2/mc-boot/GTimeString.h:  regenerated.
	* gm2/mc-boot/GUnixArgs.h:  regenerated.
	* gm2/mc-boot/Galists.h:  regenerated.
	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc-boot/Gdecl.h:  regenerated.
	* gm2/mc-boot/Gdtoa.h:  regenerated.
	* gm2/mc-boot/Gerrno.h:  regenerated.
	* gm2/mc-boot/Gkeyc.h:  regenerated.
	* gm2/mc-boot/Gldtoa.h:  regenerated.
	* gm2/mc-boot/Glibc.h:  regenerated.
	* gm2/mc-boot/Glibm.h:  regenerated.
	* gm2/mc-boot/Glists.h:  regenerated.
	* gm2/mc-boot/GmcComment.h:  regenerated.
	* gm2/mc-boot/GmcComp.h:  regenerated.
	* gm2/mc-boot/GmcDebug.h:  regenerated.
	* gm2/mc-boot/GmcError.h:  regenerated.
	* gm2/mc-boot/GmcFileName.h:  regenerated.
	* gm2/mc-boot/GmcLexBuf.h:  regenerated.
	* gm2/mc-boot/GmcMetaError.h:  regenerated.
	* gm2/mc-boot/GmcOptions.c:  regenerated.
	* gm2/mc-boot/GmcOptions.h:  regenerated.
	* gm2/mc-boot/GmcPreprocess.h:  regenerated.
	* gm2/mc-boot/GmcPretty.h:  regenerated.
	* gm2/mc-boot/GmcPrintf.h:  regenerated.
	* gm2/mc-boot/GmcQuiet.h:  regenerated.
	* gm2/mc-boot/GmcReserved.h:  regenerated.
	* gm2/mc-boot/GmcSearch.h:  regenerated.
	* gm2/mc-boot/GmcStack.h:  regenerated.
	* gm2/mc-boot/GmcStream.h:  regenerated.
	* gm2/mc-boot/Gmcflex.h:  regenerated.
	* gm2/mc-boot/Gmcp1.h:  regenerated.
	* gm2/mc-boot/Gmcp2.h:  regenerated.
	* gm2/mc-boot/Gmcp3.h:  regenerated.
	* gm2/mc-boot/Gmcp4.h:  regenerated.
	* gm2/mc-boot/Gmcp5.h:  regenerated.
	* gm2/mc-boot/GnameKey.h:  regenerated.
	* gm2/mc-boot/Gpth.h:  regenerated.
	* gm2/mc-boot/GsymbolKey.h:  regenerated.
	* gm2/mc-boot/Gtermios.h:  regenerated.
	* gm2/mc-boot/Gtop.c:  regenerated.
	* gm2/mc-boot/Gvarargs.h:  regenerated.
	* gm2/mc-boot/Gwlists.h:  regenerated.
	* gm2/mc-boot/Gwrapc.h:  regenerated.
	* gm2/mc/decl.mod:  regenerated.
	* gm2/mc/mcOptions.def:  added new options to create
	  copyright header in the comments.
	* gm2/mc/mcOptions.mod:  added new options to create
	  copyright header in the comments.

2019-04-03      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2.texi:  changed email address.

2019-03-29      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  walk and
	  declare equivalent nul terminated strings.
	* gm2/gm2-compiler/M2Quads.mod:  (ConvertStringToC) rewritten.
          (ManipulateParameters) always pass conststrings with a nul
	  terminator.
	* gm2/gm2-compiler/SymbolTable.def:
          (GetConstStringNullTerminated) New procedure function.
	* gm2/gm2-compiler/SymbolTable.mod:  (SymConstString)
          provide equivalent nul terminated version of the string.
          (MakeConstLitString) initialise NulTerminated and
          IsNulTerminated fields.  (InitConstString)  New procedure.
	  (GetConstStringNullTerminated)  New procedure function.
	* testsuite/gm2/calling-c/datatypes/unbounded/run/pass/c.def:
	  use ARRAY OF CHAR rather than address.
	* testsuite/gm2/calling-c/datatypes/unbounded/run/pass/gm2.exp:
	  do not explicity use -lpth.
	* testsuite/gm2/calling-c/datatypes/unbounded/run/pass/m.mod:
	  do not use ADR when passing a constant string.
	* testsuite/gm2/dynamic/pass/testbec30.mod:  fixed ARRAY type
	  to CHAR.
	* testsuite/lib/gm2.exp:  added libpth to the list of libraries
	  searched now that libpth is built.

2019-03-26      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/M2GCCDeclare.mod: import
          IsConstStringRequiresNul.
	  (DeclareStringConstant) call BuildCStringConstant if
          appropriate.
	* gm2/gm2-compiler/M2GenGCC.mod: corrected dates.
	* gm2/gm2-compiler/M2Quads.mod:  (ConvertStringToC) rewritten
          to set RequiresNul in a copy of the symbol.
	* gm2/gm2-compiler/SymbolTable.def:  (PutConstStringRequiresNul)
	  export and declare.  (IsConstStringRequiresNul) export and
          declare.
	* gm2/gm2-compiler/SymbolTable.mod:  (SymConstString)  New field
          NulRequired.  (PutConstString) initialise NulRequired.
          (PutConstStringRequiresNul)  New procedure.
          (IsConstStringRequiresNul)  New procedure function.
	* gm2/gm2-gcc/m2decl.c:  (BuildCStringConstant) New function.
          (BuildStringConstant) no longer automatically creates a string
          with a trailing nul.
	* gm2/gm2-gcc/m2decl.def: (BuildCStringConstant) New function.
	* gm2/gm2-gcc/m2decl.h: (BuildCStringConstant) New function.

2019-03-25      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in: (selftest-gm2) added dummy rule.
	* gm2/gm2-gcc/gcc-consolidation.h: added headers (params, spellcheck
          opt-suggestions).
	* gm2/gm2-lang.c: (gm2_langhook_handle_option)
          corrected parameter (value) to HOST_WIDE_INT.
	* gm2/gm2spec.c: added headers (params, spellcheck, prefix, intl,
          opt-suggestions).  Only compile printOption is DEBUGGING is set.
	* gm2/config-lang.in: removed p2c Makefiles.
	* gm2/configure.in: removed warning about libpth.
	* gm2/gm2-gcc/gcc-consolidation.h: fixed comments as per GNU style.
	* gcc-versionno/gcc/gm2/Make-lang.in: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/dynamicstrings.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/init.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/init.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2assert.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2assert.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2block.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2block.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2builtins.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2builtins.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2convert.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2convert.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2decl.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2decl.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2except.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2except.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2expr.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2expr.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2linemap.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2linemap.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2misc.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2misc.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2options.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2range.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2search.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2statement.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2statement.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2top.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2top.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2tree.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2tree.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2treelib.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2treelib.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2type.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-gcc/m2type.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-lang.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs-ch/SysExceptions.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs-ch/UnixArgs.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs-ch/choosetemp.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs-ch/dtoa.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs-ch/errno.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs-ch/getopt.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs-ch/host.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs-ch/ldtoa.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs-ch/termios.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs-ch/wrapc.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs-ch/xlibc.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs-iso/ChanConsts.mod: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs-iso/MemStream.mod: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs-min/libc.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs-pim/Break.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs/Args.def: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs/Args.mod: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs/config-host: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs/config-host.in: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2-libs/gdbif.mod: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2.texi: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/gm2spec.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/m2pp.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/GBuiltins.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/GSYSTEM.applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/GSelective.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/GSysExceptions.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/GUnixArgs.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/Gcbuiltin.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/Gdtoa.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/Gerrno.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/Gldtoa.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/Glibc.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/Glibm.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/Gmcrts.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/Gmcrts.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/Gnetwork.h: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/Gpth.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/Gtermios.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/Gwrapc.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/mc-boot-ch/network.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/tools-src/gensum.py: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/tools-src/mklink.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/tools-src/tidydates.py: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/gcc/gm2/version.c: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/libgm2/libpim/Makefile.am: applied gm2-1.8.2 formatting and bug fixes.
	* gcc-versionno/libgm2/libpim/Makefile.in: applied gm2-1.8.2
	formatting and bug fixes.
	* gm2/gm2-libs-ch/pthdummy.c: (New file).

2019-03-22      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/patches/gcc/trunk/01-patches:  New file.
	* gm2/patches/gcc/trunk/02-patches:  New file.
	* gm2/patches/gcc/trunk/03-patches:  New file.
	* gm2/patches/gcc/trunk/04-patches:  New file.
	* gm2/patches/gcc/trunk/05-patches:  New file.
	* gm2/patches/gcc/trunk/06-patches:  New file.
	* gm2/patches/gcc/trunk/07-patches:  New file.
	* gm2/patches/gcc/trunk/08-patches:  New file.
	* gm2/patches/gcc/trunk/09-patches:  New file.
	* gm2/patches/gcc/trunk/10-patches:  New file.
	* gm2/patches/gcc/trunk/11-patches:  New file.
`
2018-07-30      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2spec.c:  (fe_generate_option) do not duplicate the old
          argument.  free up a string after use.  (build_include_path)
          start the new string with a strcpy not strcat!
          (insert_option) create a new vector with an extra entry.
          (no_link) return a string which can be free'd.
	  (add_exec_name) return a string which can be free'd.

2018-07-18      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2spec.c: reformatted according to GNU coding standards.

2018-07-17      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/ObjectFiles.mod:  import ALLOCATE
          and DEALLOCATE from Storage.  Collect return results
          from close and KillIndex.
	* gm2/gm2spec.c:  reformatted and tidied up code.
	* gm2/gm2-libs/GetOpt.mod:  remove declaration of PtrToInteger.
	* gm2/gm2-libs/GetOpt.mod:  corrected record/pointer reference.

2018-07-16      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/bnf/gm2l.bnf:  reformatted to gnu standards.
	* gm2/el/gm2-mode.el:  minor formatting change.
	* gm2/gm2-libs/DynamicStrings.mod:  reformatted to gnu standards.
	* gm2/gm2-compiler/ObjectFiles.def:  (New file).

2018-07-14      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  remove the target configure scripts from
	  gm2/gm2-libs.
	* gm2/configure:  rebuilt.
	* gm2/examples/callingC/Makefile.in:  use multiple -I flags.
	* gm2/examples/hello/Makefile.in:  use multiple -I flags.
	* gm2/gm2-compiler/gm2lcc.mod:  reformatted.  Archive
	  all object files, all Modula-2 objects and check for duplication.
	* gm2/gm2-libs-ch/wrapc.c:  remove unconfigured test for fileinode.
	* gm2/gm2-libs/config-host:  rebuilt.
	* gm2/gm2-libs/config-target:  removed.
	* gm2/gm2-libs/gm2-libs-host.h.in:  rebuilt.
	* gm2/gm2-libs/gm2-libs-target.h.in:  removed.
	* gm2/gm2spec.c:  reformatted.  (add_env_option)  New function.
	  (lang_specific_driver)  call add_env_option.
	* gm2/lang-specs.h:  (lang_register_spec_functions) register
	  no_objects.
	* gm2/patches/gcc/trunc/01-patches:  rebuilt.
	* gm2/patches/gcc/trunc/02-patches:  rebuilt.
	* gm2/patches/gcc/trunc/03-patches:  rebuilt.
	* gm2/patches/gcc/trunc/04-patches:  rebuilt.
	* gm2/patches/gcc/trunc/05-patches:  rebuilt.
	* gm2/patches/gcc/trunc/06-patches:  rebuilt.
	* gm2/patches/gcc/trunc/07-patches:  rebuilt.
	* gm2/patches/gcc/trunc/08-patches:  rebuilt.
	* gm2/patches/gcc/trunc/09-patches:  rebuilt.
	* gm2/patches/gcc/trunc/10-patches:  rebuilt.
	* testsuite/gm2/pim/run/pass/testaddr2.mod:  reformatted.
	* gm2/gm2spec.c:  removed unused variable and reformatted.
	* gm2/tools-src/makeversion:  remove reference to config-target.in.

2018-07-10      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/ObjectFiles.def:  New file.
	* gm2/gm2-compiler/ObjectFiles.mod:  New file.
	* gm2/Make-lang.in:  added ObjectFiles to be built and linked
	into the compiler and tools.
	* gm2/gm2-compiler/gm2lcc.mod:  use ObjectFiles to remember each
	  object file so duplicates are not accidentally linked both in
	the Modula-2 link and command line list of objects.  Much code
	  was tidied up.
	* gm2/gm2-libs-ch/wrapc.c:  (fileinode) New function.
	* gm2/gm2-libs/libc.def:  corrected dates.
	* gm2/gm2-libs/wrapc.def:  (fileinode) New procedure function.
	* libgm2/libpim/wrapc.c:  (fileinode) New function.  Tidied up
	  formatting.

2018-07-07      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/bnf/gm2l.bnf:  import Verbose and use.  (RegisterImport)
          reformatted.  (ScanSources) display the module name if Verbose.
          (ScanArgs) handle long options and also concatenated arguments.
	  (-I, --verbose, --M2RTS).
	* gm2/gm2-compiler/M2DriverOptions.mod:  (CppArgument)  New procedure
	  function.  (ScanCppArgs) reformatted and also call CppArgument.
	* gm2/gm2-compiler/M2Options.mod:  updated dates.
	* gm2/gm2-compiler/M2Preprocess.mod:  reformatted and changed some of the
	  Verbose output.
	* gm2/gm2-libs-ch/getopt.c:  implement long options.
	* gm2/gm2-libs/GetOpt.def:  provide access to the long options in getopt.
	* gm2/gm2-libs/GetOpt.mod:  implement long option procedures necessary for getopt.
	* gm2/gm2-libs/Storage.def:  updated dates.
	* gm2/gm2-libs/getopt.def:  provide access to the long options in getopt.
	* gm2/gm2.texi:  corrected docuentation surrounding
	* gm2/gm2spec.c:  removed GM2IPATH and GM2OPATH temporarily and changed
          all include and object paths to avoid using the ":" separator.
          (which does not exist for -I).  In turn this forces a reimplementation
	  of the GM2IPATH and GM2OPATH.
	* gm2/lang-specs.h:  changed all references to gm2l to use the GM2L macro.
          Fixed many preprocessor invocation problems which occur when linking
	  an application which uses the preprocessor.

2018-07-02      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  changes to build stage2/gm2/gm2l
	* gm2/bnf/gm2l.bnf:  remove FORWARD references.
	* gm2/gm2-compiler/M2GenGCC.mod:  (GetAddressOfUnbounded)
          reformatted.  (BuildHighFromStaticArray) bug fixes
          and reformatted.
	* gm2/gm2-libs/GetOpt.def:  introduce long options.
	* gm2/iso/run/pass/constructor2.mod:  reformatted.

2018-06-27      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/M2GenGCC.mod:  (GetHighFromUnbounded)
          check to see if the unbounded array has static array
          data type and follow the dimension into the static array
          to obtain the correct HIGH value.
          (BuildHighFromStaticArray)  New procedure function.
	* gm2/gm2-compiler/M2Range.mod:  add missing case clause.

2018-06-23      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/el/g-mode.el: bug fixes to the m2-tag feature.
	* gm2/el/g-mode.el: allow . before a type, keyword,
	  function and const.

2018-06-22      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/el/g-mode.el: generate types and builtin functions
	  dependant upon the dialect chosen.

2018-06-21      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/el/g-mode.el: fixed m2-tag (find declaration
          understands the path and also works in algol keyword mode.
	* gm2/el/g-mode.el: fixed visual parenthesis balancing.
	* gm2/el/g-mode.el: removed some debugging statements.

2018-06-20      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/el/g-mode.el:  fixed traditional mode.  Both algol
	  mode and traditional are now usable and user selectable.

2018-06-13      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/el/g-mode.el:  added ability to turn on/off
          lowercase algol style keyword transformation.
          Fixed compile-command.
	* gm2/el/gm2-mode.el:  renamed from g-mode.el.
	  Changed internal variables from g-mode- to m2-auto-.

2018-06-11      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/el/g-mode.el:  added defcustom declarations
          and fixed some regexp bugs.  Applied some defcustom
          implementation features.
	* gm2/el/g-mode.el:  fixed electric END, ELSE and THEN.
          Added more defcustoms.
	* gm2/el/g-mode.el:  added many more defcustoms.  Also
          tidied up code and also tightened up types and introduced
          radio buttons for language choice.  Use inbuilt booleans
          for binary choices.  Fixed key binding for DEL and
	  Backspace.

2018-06-08      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/el/g-mode.el:  interim checkin, keyword editing
          complete (minus delete key).

2018-06-07      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/el/g-mode.el:  interim checkin.
	* gm2/el/g-mode.el:  another interim checkin in
	  the development of lowercase keywords.

2018-05-24      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-gcc/m2expr.c:  (BuildNotEqualToZero)
          new function.  (checkWholeNegateOverflow)
          re-implemented and in the process fixed bug
	  and the test
          testsuite/gm2/switches/check-all/run/fail/intrange5.mod
	  passes.
          (m2expr_Build4LogicalAnd)  New function.
	* gm2/gm2-gcc/m2expr.c:  renamed BuildLogicalAndIf
          to BuildTruthAndIf and renamed BuildLogicalOrIf
	  to BuildTruthOrIf.

2018-05-23      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* implement range checks on whole number multiply.
	* gm2/gm2-compiler/M2GenGCC.mod:  import BuildMultCheck.
          Call CodeMultCheck in quadruple case statement.
          (CodeMultChecked)  New procedure.  (CodeMultCheck)
          New procedure.
	* gm2/gm2-gcc/m2expr.c:  (checkWholeNegateOverflow)
          interm checkin.  (checkWholeSubOverflow) corrected
          comment.  (m2expr_Build3LogicalAnd)  New function.
          (m2expr_Build4LogicalOr)  New function.
          (checkWholeMultOverflow)  New function.
          (checkWholeOverflow)  New function.
          (m2expr_BuildMultCheck)  New function.
	* gm2/gm2-gcc/m2expr.def:  BuildMultCheck exported.
	* gm2/gm2-gcc/m2expr.h:  BuildMultCheck defined.
	* gm2/gm2-gcc/m2expr.c:  added missing semicolon.

2018-04-16      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  changed the plugin directory to
          plugin rather than gm2/plugin.  Corrected .so typeos.
	* gm2/gm2.texi:  Semantic checking (New section).
	* testsuite/gm2/iso/analysis/fail/gm2.exp:  New file.

2018-04-14      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  build plugin/m2rte.so and create
	  gm2/plugin directory.
	* gm2/gm2-compiler/CLexBuf.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/M2ALU.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/M2AsmUtil.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/M2BasicBlock.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/M2BasicBlock.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/M2Batch.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/M2Const.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/M2Const.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/M2Depth.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/M2Lex.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/M2LexBuf.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/M2LexBuf.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/M2MetaError.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/M2MetaError.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/M2Optimize.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/M2Swig.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/NameKey.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/PCSymBuild.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/SymbolKey.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/SymbolTable.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/gm2lcc.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-compiler/gm2lgen.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs-ch/libc.c:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs-coroutines/Debug.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs-coroutines/Debug.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs-min/libc.c:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs/Args.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs/Args.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs/CmdArgs.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs/Debug.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs/DynamicStrings.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs/DynamicStrings.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs/FIO.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs/NumberIO.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs/PushBackInput.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs/RTExceptions.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs/Scan.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs/StrIO.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs/StrLib.mod:  removed FORWARD prototype
	  definitions.
	* gm2/gm2-libs/StringConvert.mod:  removed FORWARD prototype
	  definitions.
	* gm2/plugins/m2rte.c:  renamed to gm2/plugin/m2rte.c.
	* gm2/ulm-lib-gm2/std/RTExceptions.mod:  removed FORWARD prototype
	  definitions.

2018-04-10      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  build m2rte plugin, install m2rte plugin.
	* gm2/gm2-compiler/M2Base.def:  define new exception ExceptionReturn.
	* gm2/gm2-compiler/M2Base.mod:  implement new exception ExceptionReturn.
	* gm2/gm2-compiler/M2Quads.mod:  new call to InitReturnRangeCheck.
	* gm2/gm2-compiler/M2Range.def:  define InitReturnRangeCheck.
	* gm2/gm2-compiler/M2Range.mod:  (InitReturnRangeCheck),
	  (FoldReturn), (CodeReturn) New procedures.
	* gm2/gm2-lang.c:  detect -fno-m2-plugin option.
	* gm2/gm2-libs-iso/M2RTS.def:  ReturnException defined.
	* gm2/gm2-libs-iso/M2RTS.mod:  ReturnException implemented.
	* gm2/gm2-libs/M2RTS.def:  ReturnException defined.
	* gm2/gm2-libs/M2RTS.mod:  ReturnException implemented.
	* gm2/gm2spec.c:  detect -fno-m2-plugin and unset boolean if
          present.  Later insert the -fplugin=m2rte switch if plugins are true.
	* gm2/lang-options.h:  allow -fm2-plugin and -fno-m2-plugin.
	* gm2/lang-specs.h:  update dates.
	* gm2/lang.opt:  define -fm2-plugin and -fno-m2-plugin.
	* gm2/m2pp.c:  update dates.
	* gm2/tools-src/makeSystem:  use -fno-m2-plugin when creating system.
	* gm2/ulm-lib-gm2/std/M2RTS.mod:  ReturnException implemented.
	* plugins/m2rte.c:  New file.

2018-03-28      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/bnf/m2-2.bnf:  updated dates and trimmed end of
	  line spaces.
	* gm2/bnf/m2-c.bnf:  updated dates and trimmed end of
	  line spaces.
	* gm2/gm2-compiler/M2Comp.mod:  removed p2c forward
	  declarations.
	* gm2/gm2-compiler/M2Quads.mod:  (BuildRealFuncProcCall)
          corrected comment title.  Call SkipConst to skip over
          a constant assigned to a procedure.  Fixes a bug reported
          by Michael Riedl <udo-michael.riedl@t-online.de>.
	* gm2/gm2-compiler/P2SymBuild.mod:  remove p2c
	  forward declarations.
	* testsuite/gm2/iso/run/pass/constprocedure.mod:
          New regression test to stress the bug reported (above).
	* testsuite/gm2/iso/fail/constprocedure.mod:  New
          regression test to test standard functions are not
          allowed to be referenced in a const expression.
	  (But they can be called).

2018-03-27      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/el/g-mode.el:  corrected dates and changed name
          to help debugging.
	* gm2/gm2-compiler/Indexing.mod:  removed p2c related
	  comment.
	* gm2/gm2-compiler/M2Error.mod:  removed intemediate
          record type as we are no longer bootstrapping using
          p2c.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  removed intemediate
          record types as we are no longer bootstrapping using
          p2c.
	* gm2/gm2-compiler/M2Range.mod:  removed intemediate
          record type as we are no longer bootstrapping using
          p2c.
	* gm2/gm2-compiler/ppg.mod:  removed intemediate
          record types as we are no longer bootstrapping using
          p2c.

2018-03-26      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-lang.c:  (gm2_langhook_type_for_mode)  rewritten
          (borrowed code from go-lang.c).
	* gm2/gm2-compiler/M2Quads.mod:  (BuildAdrFunction)
          handle address of unbounded array and check the dimension
	  access.

2018-03-14      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/SymbolTable.mod:  (PutUnbounded)
          ensure that all dimensions prior to the requested dimension
	  has an entry in the array.  (NulSym is added).
	* gm2/gm2-compiler/M2GCCDeclare.mod:  (WalkFamilyOfUnbounded)
          check that unbounded is not NulSym before calling unboundedp.

	* gm2/gm2-compiler/M2Quads.mod:  (UnboundedVarLinkToArray)
          and (UnboundedNonVarLinkToArray) ensure that all
          parameters to BuildAdrFunction propagate the array
          and dimension operand stack.
          Fixes bugs exposed in
	  testsuite/gm2/iso/run/pass/adrunbounded3.mod

2018-02-19      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/M2Quads.mod:  (AssignHighField)
          check for ArraySym and use if actual parameter
          has different number of dimensions to formal
          parameter array.
	* gm2/gm2-compiler/M2Quads.mod:  (BuildConstHighFromSym)
          only access the single dimension when building high
          as the array will be referencing the desired dimension.
	  A temporary type will have been created.

2018-02-15      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/M2GenGCC.mod:  check and use lvalue op3
	  which points to the data for the unbounded quadruple.

2018-02-08      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/gm2-compiler/M2Quads.mod:  check open array actual
          parameter which is indexed and check the dimension against
	  formal parameters.

2018-02-07      Gaius Mulley <gaius.mulley@southwales.ac.uk>

	* gm2/Make-lang.in:  added LDFLAGS to the link of mc.

2018-01-28      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/mc-5.bnf:  regenerated.
	* gm2/mc-boot/GCmdArgs.c:  regenerated.
	* gm2/mc-boot/GFIO.c:  regenerated.
	* gm2/mc-boot/GStrIO.c:  regenerated.
	* gm2/mc-boot/GStringConvert.c:  regenerated.
	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc-boot/Gdecl.h:  regenerated.
	* gm2/mc-boot/GmcComp.c:  regenerated.
	* gm2/mc-boot/GmcLexBuf.c:  regenerated.
	* gm2/mc-boot/Gmcp1.c:  regenerated.
	* gm2/mc-boot/Gmcp2.c:  regenerated.
	* gm2/mc-boot/Gmcp3.c:  regenerated.
	* gm2/mc-boot/Gmcp4.c:  regenerated.
	* gm2/mc-boot/Gmcp5.c:  regenerated.
	* gm2/mc/decl.def:  (addElseComments), (addIfEndComments),
          (addWhileDoComment), (addWhileEndComment), (addRepeatComment),
	  (addUntilComment)  defined and exported.
	* gm2/mc/decl.mod:  (commentPair)  New record.
          Used in funccallT, returnT, whileT, repeatT, ifT, elsifT,
          assignmentT.  (doAfterCommentC)  New procedure.
          (doReturnC)  Use (doAfterCommentC).
          (doAssignmentC) use (doAfterCommentC).  (doIfC)
          use (doAfterCommentC).  (doRepeatC) use (doAfterCommentC).
          (doWhileC) use (doAfterCommentC).  (doFuncCallC) use
          (doAfterCommentC).  (addGenericBody) rewritten.
          (addIfComments) rewritten.  (addElseComments)  New
          procedure.  (addIfEndComments)  New procedure.
          (addWhileDoComment) New procedure.  (addWhileEndComment)
          New procedure.  (initPair)  New procedure.
          (addRepeatComment)  New procedure.
	  (addUntilComment)  New procedure.
	* gm2/mc/mcLexBuf.mod:  fixed an infinite loop bug hunting
	  for the next token on a buffer boundary case.

2018-01-26      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added extra commented definition for
	bootstrapping under trunc.
	* gm2/bnf/mc-1.bnf:  changed comment interface.
	* gm2/bnf/mc-2.bnf:  removed unnecessary import.
	* gm2/bnf/mc-5.bnf:  rewritten the comment interface for
	  after and body comments.
	* gm2/mc-boot/GCmdArgs.c:  rebuilt.
	* gm2/mc-boot/GDebug.c:  rebuilt.
	* gm2/mc-boot/GDynamicStrings.c:  rebuilt.
	* gm2/mc-boot/GFIO.c:  rebuilt.
	* gm2/mc-boot/GFormatStrings.c:  rebuilt.
	* gm2/mc-boot/GFpuIO.c:  rebuilt.
	* gm2/mc-boot/GIO.c:  rebuilt.
	* gm2/mc-boot/GIndexing.c:  rebuilt.
	* gm2/mc-boot/GM2EXCEPTION.c:  rebuilt.
	* gm2/mc-boot/GM2RTS.c:  rebuilt.
	* gm2/mc-boot/GM2RTS.h:  rebuilt.
	* gm2/mc-boot/GNumberIO.c:  rebuilt.
	* gm2/mc-boot/GRTExceptions.c:  rebuilt.
	* gm2/mc-boot/GRTint.c:  rebuilt.
	* gm2/mc-boot/GSFIO.c:  rebuilt.
	* gm2/mc-boot/GStorage.c:  rebuilt.
	* gm2/mc-boot/GStrIO.c:  rebuilt.
	* gm2/mc-boot/GStrLib.c:  rebuilt.
	* gm2/mc-boot/GStringConvert.c:  rebuilt.
	* gm2/mc-boot/GSysStorage.c:  rebuilt.
	* gm2/mc-boot/Gdecl.c:  rebuilt.
	* gm2/mc-boot/Gdecl.h:  rebuilt.
	* gm2/mc-boot/Gkeyc.c:  rebuilt.
	* gm2/mc-boot/Glibc.h:  rebuilt.
	* gm2/mc-boot/GmcComment.c:  rebuilt.
	* gm2/mc-boot/GmcComment.h:  rebuilt.
	* gm2/mc-boot/GmcComp.c:  rebuilt.
	* gm2/mc-boot/GmcComp.h:  rebuilt.
	* gm2/mc-boot/GmcError.c:  rebuilt.
	* gm2/mc-boot/GmcLexBuf.c:  rebuilt.
	* gm2/mc-boot/GmcLexBuf.h:  rebuilt.
	* gm2/mc-boot/GmcMetaError.c:  rebuilt.
	* gm2/mc-boot/GmcOptions.c:  rebuilt.
	* gm2/mc-boot/GmcPretty.c:  rebuilt.
	* gm2/mc-boot/GmcPrintf.c:  rebuilt.
	* gm2/mc-boot/GmcQuiet.c:  rebuilt.
	* gm2/mc-boot/GmcSearch.c:  rebuilt.
	* gm2/mc-boot/Gmcp1.c:  rebuilt.
	* gm2/mc-boot/Gmcp2.c:  rebuilt.
	* gm2/mc-boot/Gmcp3.c:  rebuilt.
	* gm2/mc-boot/Gmcp4.c:  rebuilt.
	* gm2/mc-boot/Gmcp5.c:  rebuilt.
	* gm2/mc-boot/GnameKey.c:  rebuilt.
	* gm2/mc-boot/GsymbolKey.c:  rebuilt.
	* gm2/mc-boot/Gvarargs.c:  rebuilt.
	* gm2/mc-boot/Gwrapc.h:  rebuilt.
	* gm2/mc/decl.def:  (addCommentBody)  New procedure.
          (addCommentAfter)  New procedure.  (addIfComments)
          New procedure.  (makeCommentS)  New procedure.
          (getCommentCharStar) New procedure function.
          (getContent) New procedure function.
	  (setProcedureComment) New procedure function.
          (getProcedureComment) New procedure function.
	  (getAfterStatementComment)  New procedure function.
          (getInbodyStatementComment)  New procedure function.
	  (isProcedureComment)  New procedure function.
          (isBodyComment)  New procedure function.
	  (isAfterComment)  New procedure function.
	* gm2/mc/decl.mod:  many alterations to allow per node
	  after and body comments.
	* gm2/mc/keyc.mod:  add free and malloc to the list of
	  names to avoid.
	* gm2/mc/mc.flex:  many alterations to allow per node
	  after and body comments.
	* gm2/mc/mcComment.def:  (commentDesc)  New datatype.
          (initComment)  New procedure function.  (addText)
          New procedure.  (getContent)  New procedure function.
	* gm2/mc/mcComment.h:  updated with new interface.
	* gm2/mc/mcComment.mod:  (commentDesc)  New datatype
	  implemented.
          (initComment)  New procedure function.  (addText)
          New procedure.  (getContent)  New procedure function.
	* gm2/mc/mcComp.def:  export getPassNo.
	* gm2/mc/mcComp.mod:  (getPassNo)  New procedure function.
	* gm2/mc/mcLexBuf.def:  (getProcedureComment)  New procedure
          function.  (getBodyComment)  New procedure function.
	  (getAfterComment)  New procedure function.
	* gm2/mc/mcLexBuf.h:  replicate .def functionality.
	* gm2/mc/mcLexBuf.mod:  (getProcedureComment)  Implement new
          procedure function.  (getBodyComment)  Implement new
	  procedure function.

2018-01-03      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  (BuildUnaryCheckProcedure)
          imported.  (BuildNegateCheck) imported.  (CodeStatement)
          use BuildNegateCheck.  (CodeUnaryCheck)  New procedure.
          (CodeNegateChecked)  New procedure.
	* gm2/gm2-gcc/m2expr.c:  (checkUnaryWholeOverflow)  New
          function.  (m2expr_build_unary_op_check)  New function.
          (BuildEqualToZero)  New function.
          (checkWholeNegateOverflow)  New function.
          (BuildNegateCheck)  New function.  (BuildNegate)
          reimplemented.
	* gm2/gm2-gcc/m2expr.def:  (BuildUnaryCheckProcedure)
          Defined.  (BuildNegateCheck) defined.
	* gm2/gm2-gcc/m2expr.h:  (BuildNegateCheck) added prototype.

2018-01-02      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  (CodeStatement) call
          CodeAddChecked and call CodeSubChecked.
          (CodeAddChecked)  New procedure.  (CodeSubChecked)
          New procedure.
	* gm2/gm2-compiler/M2Quads.mod:  (BuildEndFor) suppress
	  overflow checking in the addition
          of the loop variable.  The explicit for loop check will
          catch an overflow and this addition can overflow for
          unsigned types counting down.
	* gm2/gm2-gcc/m2expr.c:  (BuildAddCheck) corrected
	  comments and strip results.  (BuildSubCheck) corrected
          comments and strip results.
	* gm2/gm2-gcc/m2range.h:  (New file).
	* gm2/patches/gcc/trunc:  (Regenerated).

2018-01-01      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  (CodeAddCheck) New procedure.
          (CodeSubCheck) New procedure.  (CodeBinaryCheck) New procedure.
          Use CodeAddCheck and CodeSubCheck.
	* gm2/gm2-compiler/M2Range.def:  (GetMinMax) exported.
	* gm2/gm2-gcc/m2expr.c:  (BuildAddCheck) New function.
	  (BuildSubCheck) New function.  (checkWholeAddOverflow)
          parameters changed.  (checkWholeSubOverflow)  New function.
          (checkWholeOverflow) updated parameters to include subrange min
	  and max.  (build_binary_op_check)  New function.  (build_binary_op)
          call build_binary_op_check.
	* gm2/gm2-gcc/m2expr.def:  (BuildBinCheckProcedure) New
          definition.  (BuildSubCheck) New procedure function.
	  (BuildAddCheck) New procedure function.
	* gm2/gm2-gcc/m2expr.h:  (BuildAddCheck)  New prototype.
          (BuildSubCheck)  New prototype.
	* gm2/gm2-compiler/M2GenGCC.mod:  pass lowest into binop.
	* gm2/gm2-gcc/m2expr.c:  (BuildAddCheck) extra parameter lowest.
          (BuildSubCheck) extra parameter lowest.  Call build_binary_op
          with extra parameter lowest.  (BuildLessThanZero) New function.
          (BuildGreaterThanZero) New function.  (checkWholeAddOverflow)
          extra parameter and use BuildLessThanZero and
	  BuildGreaterThanZero.    (checkWholeSubOverflow)
          extra parameter and use BuildLessThanZero and
          BuildGreaterThanZero.  (checkWholeOverflow) call
          checkWholeAddOverflow and checkWholeSubOverflow with an extra
          parameter.
	* gm2/gm2-gcc/m2expr.def:  (BuildBinCheckProcedure) extra
          parameter.  (BuildSubCheck) extra parameter lowest.
          (BuildAddCheck) extra parameter lowest.
	* gm2/gm2-gcc/m2expr.h:  corrected prototype.

2017-12-31      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Base.def:  (ExceptionWholeValue) exported
	  and declared.  (ExceptionRealValue) exported and declared.
	* gm2/gm2-compiler/M2Base.mod:  ExceptionWholeValue initialised
          and set appropriately.  ExceptionRealValue initialised and
	  set appropriately.
	* gm2/gm2-compiler/M2Options.def:  (SetWholeValueCheck)
          exported and declared.  (GetWholeValueCheck) exported and
	  declared.
	* gm2/gm2-compiler/M2Options.mod:  (WholeValueChecking)
          initialised.  (SetFloatValueCheck) corrected declaration.
          (GetWholeValueCheck) New procedure function.
	  (SetWholeValueCheck) New procedure.
	* gm2/gm2-compiler/M2Range.def:  (BuildIfCallRealHandlerLoc)
          declared and exported.  (BuildIfCallWholeHandlerLoc)
	  declared and exported.
	* gm2/gm2-compiler/M2Range.mod:  (BuildStringParamLoc)
          New procedure.  (CodeErrorCheckLoc) New procedure.
          (IssueWarningLoc) New procedure.
          (BuildIfCallWholeHandlerLoc) New procedure.
          (BuildIfCallRealHandlerLoc) New procedure.
	  (BuildIfCallHandlerLoc) New procedure.
	* gm2/gm2-gcc/m2block.c:  (do_add_stmt) check to see if
	  a binding level exists.
	* gm2/gm2-gcc/m2builtins.def:  (BuiltInIsfinite) exported.
	* gm2/gm2-gcc/m2expr.c:  (checkWholeAddOverflow) New
          function.  (checkWholeOverflow) New function.
          (checkRealOverflow) correct option check.  Corrected
	  qualifier.  (build_binary_op) removed last parameter.
	* gm2/gm2-gcc/m2linemap.c:  (GetLineNoFromLocation)
          New function.  (GetColumnNoFromLocation) New function.
          (GetFilenameFromLocation) New function.  (ErrorAt)
	  New function.
	* gm2/gm2-gcc/m2linemap.def: (GetLineNoFromLocation)
          exported and declared.  (GetColumnNoFromLocation)
	  exported and declared.
          (GetFilenameFromLocation) exported and declared.
          (ErrorAt) exported and declared.
	* gm2/gm2-gcc/m2linemap.h:  (GetLineNoFromLocation)
          prototype.  (GetColumnNoFromLocation) prototype.
          (GetFilenameFromLocation) prototype.
          (ErrorAt) prototype.
	* gm2/gm2-gcc/m2options.h:  (GetWholeValueCheck)
	  prototype.
	* gm2/gm2-lang.c:  handle -fwholevalue.
	* gm2/gm2-libs-iso/M2RTS.def:  (WholeValueException)
	  and (RealValueException) declared.
	* gm2/gm2-libs-iso/M2RTS.mod:  (WholeValueException)
	  and (RealValueException) New procedures.
	* gm2/gm2-libs/M2RTS.def:  (WholeValueException)
	  and (RealValueException) declared.
	* gm2/gm2-libs/M2RTS.mod:  (WholeValueException)
	  and (RealValueException) New procedures.
	* gm2/lang-options.h:  -fwholevalue and -fno-wholevalue
	  new options added.
	* gm2/lang.opt:  -fwholevalue new option added.
	* gm2/ulm-lib-gm2/std/M2RTS.mod:  (WholeValueException)
	  and (RealValueException) New procedures.

2017-12-28      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Options.def:  (SetFloatValueCheck),
          (GetFloatValueCheck) exported.  (FloatValueChecking) New global
          variable.  (GetFloatValueCheck) New procedure function.
          (SetFloatValueCheck) New procedure.
	* gm2/gm2-compiler/M2Options.mod:  (FloatValueChecking)
          initialise and set accordingly.  (GetFloatValueCheck)
          New procedure function.  (SetFloatValueCheck)  New procedure.
	* gm2/gm2-compiler/M2Range.def:  (BuildIfCallHandlerLoc)  New
          procedure function.
	* gm2/gm2-compiler/M2Range.mod:  (BuildIfCallHandlerLoc)  New
          procedure function implemented.
	* gm2/gm2-gcc/m2expr.c:  (checkWholeOverflow)  New function.
          (checkRealOverflow)  New function.
	* gm2/gm2-gcc/m2options.h:  (SetFloatValueCheck)  New prototype.
          (GetFloatValueCheck)  New prototype.
	* gm2/gm2-lang.c:  handle -ffloatvalue option.
	* gm2/gm2-libs-ch/wrapc.c:  (isfinite)  New function.
          (isfinitel)  New function.  (isfinitef)  New function.
	* gm2/gm2-libs/Builtins.def:  (isfinitel)  New function.
	  (isfinitef)  New function.
	* gm2/gm2-libs/Builtins.mod:  (isfinitel)  New function
          implemented.  (isfinitef)  New function implemented.
	* gm2/gm2-libs/wrapc.def:  (isfinitel)  New function.
          (isfinitef)  New function.
	* gm2/lang-options.h:  update comment for -fsoft-check-all.
          Introduce -ffloatvalue.
	* gm2/lang.opt:  introduce -ffloatvalue.  Update comment for
	  -fsoft-check-all.

2017-12-27      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Range.mod:  remove unused variables from
          many procedures.  (RangeCheckReal)  New procedure.
          (RangeCheckOrdinal)  New procedure.  (DoCodeAssignmentExprType)
          call the appropriate check procedure.
	* gm2/gm2-gcc/gcc-consolidation.h:  update dates.
	* gm2/gm2-gcc/m2builtins.c:  (__builtin_isfinite)  New entry.
          (gm2_isfinite_node)  New variable.  (builtin_ftype_int_var)
          New variable.  (BuiltInIsfinite)  New function.
	  (DoBuiltinIsfinite)  New function.  (isgreater),
          (isgreaterequal), (isless), (islessequal), (islessgreater),
          (isunordered) new builtins defined.  Lookup gm2_isfinite_node.
	* gm2/gm2-gcc/m2builtins.def:  (BuiltInIsfinite)  New procedure
          function.  Define (BuiltInIsfinite).
	* gm2/gm2-gcc/m2expr.c:  (m2expr_checkWholeOverflow)  New
          function.  (m2expr_checkRealOverflow)  New function.
          (build_binary_op)  call the appropriate check function.
	* gm2/gm2-libs/Builtins.def:  remove nanf, nan, nanl,
          isinf_sign, isinf_sigf and isinf_signl.
	* gm2/gm2-libs/Builtins.mod:  reimplement isfinite.
          Remove nanf, nan, nanl, isinf_sign, isinf_sigf and
          isinf_signl.
	* gm2/gm2-libs/cbuiltin.def:  remove nan, nanf and nanl.
	* gm2/gm2-libs/wrapc.def:  define isfinite.
	* gm2/m2pp.c:  add includes to allow m2pp.c to be built for use
	  in cc1.

2017-12-20      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/Builtins.def:  new function definitions
          for (nan), (nanf), (nanl), (isfinite), (isfinitef),
          (isfinitel), (isinf_sign), (isinf_signf), (isinf_signl).
	* gm2/gm2-libs/cbuiltin.def: new function definitions
          for (nan), (nanf), (nanl), (isfinite), (isfinitef),
          (isfinitel), (isinf_sign), (isinf_signf), (isinf_signl).
	* gm2/gm2builtins.c:  add definitions in the static structure
          for (nan), (nanf), (nanl), (isfinite), (isfinitef),
          (isfinitel), (isinf_sign), (isinf_signf), (isinf_signl).

2017-12-01      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Quads.mod:  (CheckBecomesMeta)
          check to see if GetDType(Des) and GetDType(Exp) are non
          nul before testing against unbounded.  Defends against
          undefined symbols being compared which might result in
	  a fatal error.  (see testsuite/gm2/iso/fail/bug8.mod).

2017-11-08      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  removed Storage.c from GM2-LIBS-BOOT-C.
          made gm2.paranoid dependant upon mc.
	* gm2/gm2-libs-ch/Storage.c:  removed since it is built (in
	  the build directory) from Storage.mod via mc.
	* gm2/gm2-libs-ch/StdIO.c:  removed since it is built (in the
          build directory) from StdIO.mod via mc.
	* gm2/Make-lang.in:  added Storage.mod into GM2-LIBS-MODS.

2017-11-02      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  removed duplicate and incorrect rule.
          Changed rule for building C files to the correct directory.

2017-11-01      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/gcc-consolidation.h:  #include "stringpool.h"
	* gm2/gm2-compiler/M2Base.mod:  removed unnecessary forward
          declarations.  (PushSizeOf)  does not assume the fixed
          fixed complex data types exist, uses constants instead.
	* gm2/gm2-gcc/m2type.c:  (build_m2_specific_size_type)
          checks to see if the REAL_TYPE with a desired precision
          exists.  NULL is returned if the target does not support
          the data type.
	* gm2/gm2-gcc/m2type.c:
          (m2type_BuildProcTypeParameterDeclaration) no longer
          layout the paramater type at this time (as it might be a
	  recursive usage of the proctype).

2017-10-30      Gaius Mulley <gaius@gnu.org>

	* gm2/m2.flex:  change linelen to int rather than
          unsigned int, a mismatch found when building for
	  cygwin.

2017-10-04      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/GetOpt.def:  New file.
	* gm2/gm2-libs/GetOpt.mod:  New file.
	* gm2/gm2-libs/getopt.def:  New file.
	* gm2/gm2-libs-ch/getopt.c:  New file.
	* gm2/el/g-mode.el:  change the Modula-2 comment tag
          to (*!m2pim+gm2*)\n")
	* gm2/gm2-compiler/SymbolKey.def:  (ContainsSymKey)
          New procedure.
	* gm2/gm2-compiler/SymbolKey.mod:  (ContainsSymKey)
          New procedure.
	* gm2/gm2-compiler/ppg.mod:  removed unnecessary
          forward declaration prototypes.  (AddEntry)  New
          procedure.  Use SetOfStop rather than BITSET for
          small sets.  Fix off by one error with setsize.
	* gm2/gm2-libs-iso/RndFile.mod:  correct error message.
	* gm2/tools-src/buildpg:  changes to reflect changes to
	  ppg.mod

2017-07-24      Gaius Mulley <gaius@gnu.org>

	* patches/gcc/6.4.0:  01-patches (New file).
	* patches/gcc/6.4.0:  02-patches (New file).
	* patches/gcc/6.4.0:  03-patches (New file).
	* patches/gcc/6.4.0:  04-patches (New file).
	* patches/gcc/6.4.0:  05-patches (New file).
	* patches/gcc/6.4.0:  06-patches (New file).
	* patches/gcc/6.4.0:  07-patches (New file).
	* patches/gcc/6.4.0:  08-patches (New file).
	* patches/gcc/6.4.0:  09-patches (New file).
	* patches/gcc/6.4.0:  10-patches (New file).
	* patches/gcc/6.4.0:  11-patches (New file).

2017-07-21      Gaius Mulley <gaius@gnu.org>

	* gm2/el/g-mode.el:  updated to include the new SYSTEM data types.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  rename the new types
          CSIZE_T and CSSIZE_T.
	* gm2/gm2-compiler/M2System.def:  introduce the signed type
          CSSIZE_T.
	* gm2/gm2-compiler/M2System.mod:  assign type symbols CSIZE_T
          and CSSIZE_T to exported variables.
	* gm2/gm2-gcc/m2type.c:  GetCSSizeType (New procedure function).
	* gm2/gm2-gcc/m2type.def:  GetCSSizeType (New procedure function).
	* gm2/gm2-gcc/m2type.h:  GetCSSizeType (New procedure function).
	* gm2/gm2-libs-coroutines/SYSTEM.def:  export CSIZE_T, CSSIZE_T.
	* gm2/gm2-libs-iso/SYSTEM.def:  export CSIZE_T, CSSIZE_T.
	* gm2/gm2-libs-min/SYSTEM.def:  export CSIZE_T, CSSIZE_T.
	* gm2/gm2-libs/SYSTEM.def:  export CSIZE_T, CSSIZE_T.
	* gm2/gm2-libs/libc.def:  corrected dates and use new data types.
	* gm2/gm2.texi:  updated documentation about new data types.

2017-07-18      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  the pge build rules all rewritten to
          clean the build process.  All versions of pge have their
          own build directory.
	* gm2/gm2-compiler/M2System.mod:  (size_t)  new data type
          in SYSTEM.def to aid interface code between C and Modula-2.
	* gm2/gm2-gcc/m2type.c:  (GetCSizeTType) New procedure function.
	* gm2/gm2-gcc/m2type.def:  (GetCSizeTType) New procedure
          function.
	* gm2/gm2-gcc/m2type.h:  (GetCSizeTType) extern declaration.
	* gm2/tools-src/makeSystem:  corrected dates.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  declare CSizeT.
	* gm2/gm2-compiler/M2System.def:  export CSizeT.
	* gm2/gm2-compiler/M2System.mod:  declare CSizeT as a system
	  type.

2017-06-27      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/gm2m.bnf:  removed unnecessary spaces.
	* gm2/mc-boot/GStdIO.c:  rebuilt.
	* gm2/mc-boot/Gdecl.c:  rebuilt.
	* gm2/mc/decl.mod:  (doEscapeC) removed.  (escapeContentsC)
          removed.  (replaceChar) fixed bug should the first character
          be replaced.  (toCstring) reimplemented with replaceChar.
          (toCchar) reimplemented with replaceChar.
	* fixes a bug caused when gm2m is bootstrapped via mc.
          -fmakeall failed as reported by Christoph Schlegel
	  and Georg Lokowandt.

2017-06-21      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/map/StoreCoord.mod:  spacing.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  handle large arrays.
          (BuildIndex) rewritten to check whether we need to use a large
          array.  Check for overflow and emit error if we exceed
	  implementation restriction.
	* gm2/gm2-compiler/M2GenGCC.mod:  (CodeArray) rewritten to
	  implement large arrays if necessary.
	* gm2/gm2-compiler/SymbolTable.def:  (PutArrayLarge) New procedure.
	  (IsArrayLarge) New function procedure.
	* gm2/gm2-compiler/SymbolTable.mod:  (Array) new field Large.
          (PutArrayLarge) New procedure.  (IsArrayLarge) New procedure
	  function.
	* gm2/gm2-gcc/m2convert.c:  corrected dates.
	* gm2/gm2-gcc/m2expr.c:  (BuildArray) convert low_indice and
	  use build4_loc rather than build4 to generate an array reference.
	* gm2/gm2-gcc/m2type.c:  (ValueInTypeRange)  New function.
          (ValueOutOfTypeRange)  New function.  (ExceedsTypeRange)
          New function.  (WithinTypeRange)  New function.
          (BuildArrayIndexType)  use integer type as the base index to an array
	  rather than the Z type.  GCC restriction.
	* gm2/gm2-gcc/m2type.def:  (ValueInTypeRange)  New function.
          (ValueOutOfTypeRange)  New function.  (ExceedsTypeRange)
          New function.  (WithinTypeRange)  New function.
	* gm2/gm2-gcc/m2type.h:  (ValueInTypeRange)  New function.
          (ValueOutOfTypeRange)  New function.  (ExceedsTypeRange)
          New function.  (WithinTypeRange)  New function.
	* gm2/gm2-libs/StdIO.mod:  initialise StackRPtr.
	* gm2/m2pp.c:  (m2pp_call_expr) use m2pp_expression
          rather than m2pp_identifier.
	* gm2/mc-boot/GAssertion.c:  regenerated.
	* gm2/mc-boot/GDebug.c:  regenerated.
	* gm2/mc-boot/GDynamicStrings.c:  regenerated.
	* gm2/mc-boot/GFIO.c:  regenerated.
	* gm2/mc-boot/GFormatStrings.c:  regenerated.
	* gm2/mc-boot/GIndexing.c:  regenerated.
	* gm2/mc-boot/GM2RTS.c:  regenerated.
	* gm2/mc-boot/GNumberIO.c:  regenerated.
	* gm2/mc-boot/GRTExceptions.c:  regenerated.
	* gm2/mc-boot/GStdIO.c:  regenerated.
	* gm2/mc-boot/GStringConvert.c:  regenerated.
	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc-boot/Gkeyc.c:  regenerated.
	* gm2/mc-boot/GmcError.c:  regenerated.
	* gm2/mc-boot/GmcLexBuf.c:  regenerated.
	* gm2/mc-boot/GmcPreprocess.c:  regenerated.
	* gm2/mc-boot/GmcPrintf.c:  regenerated.
	* gm2/mc-boot/GmcStack.c:  regenerated.
	* gm2/mc-boot/GmcStream.c:  regenerated.
	* gm2/mc-boot/GnameKey.c:  regenerated.
	* gm2/Make-lang.in:  pass the NO_PIE_CFLAGS into the
          mklink tool.
	* gm2/tools-src/mklink.c:  (args) new variable.  Append
          all gcc/g++ options (-f) to args.  Emit args in the
          link command.  Allows cc1gm2 to be linked with
          NO_PIE_CFLAGS.
	* patches/gcc/trunc/01-patches:  regenerated.
	* patches/gcc/trunc/02-patches:  regenerated.
	* patches/gcc/trunc/03-patches:  regenerated.
	* patches/gcc/trunc/04-patches:  regenerated.
	* patches/gcc/trunc/05-patches:  regenerated.
	* patches/gcc/trunc/06-patches:  regenerated.
	* patches/gcc/trunc/07-patches:  regenerated.
	* patches/gcc/trunc/08-patches:  regenerated.
	* patches/gcc/trunc/09-patches:  regenerated.
	* patches/gcc/trunc/10-patches:  regenerated.
	* patches/gcc/trunc/11-patches:  regenerated.

2017-06-13      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2expr.c:  more gnu coding standard changes.

2017-06-12      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  renamed target.c to host.c
          and changed appropriate rules.
	* gm2/gm2-libs-ch/host.c:  renamed from target.c
          corrected dates and formatting.  Include gm2-libs-host.h
          rather than p2c.h.
	* gm2/gm2-compiler/M2GenGCC.mod:  checkArrayElements,
          checkRecordTypes  remove first parameter, quad.
          checkIncorrectMeta (New procedure function).
          checkBecomes call checkIncorrectMeta.
          (CodeBecomes) call SubQuad.  Fixes a bug reported by
          John Dubery.
	* gm2/gm2-gcc/m2expr.c:  BuildModM2, BuildDivM2 fold and strip
	  no ops before asserting their type.

2017-06-09      Gaius Mulley <gaius@gnu.org>

 	* gm2/gm2-libs-ch/dtoa.c:  use memmove instead of memcpy.
          Fixes a bug reported by Ernst Bokkelkamp.
	* gm2/gm2-gcc/m2expr.c:  many formatting gnu coding standard
	  changes.

2017-06-08      Gaius Mulley <gaius@gnu.org>

	* Fixed pim4 and iso DIV and MOD bug reported by Ernst Bokkelkamp
          <ernst@bokkelkamp.de>, Benjamin Kowarsch and Xin Wang.
	* gm2/gm2-compiler/M2GenGCC.mod:  CodeDivM2, CodeModM2,
          FoldDivM2, FoldModM2, FoldDivCeil, CodeDivCeil, FoldModCeil
          CodeModCeil (New procedures).
	* gm2/gm2-compiler/M2Options.def:  GetISO, GetPIM, GetPIM2,
          GetPIM3, GetPIM4, GetPositiveModFloor (New procedure function
          definitions).
	* gm2/gm2-gcc/m2options.h:  define/export functions
	  GetISO, GetPIM, GetPIM2, GetPIM3, GetPIM4, GetPositiveModFloor.
	* gm2/gm2-compiler/M2Options.mod: ensure that the default pim4
          setting is turned off if pim2, pim3 is selected.  GetISO, GetPIM,
          GetPIM2, GetPIM3, GetPIM4, GetPositiveModFloor (New procedure
          functions).
	* gm2/gm2-compiler/M2Quads.def:  DivM2Op, ModM2Op, DivCeilOp
          ModCeilOp (New quad operators).
	* gm2/gm2-compiler/M2Quads.mod:  removed unnecessary prototypes.
          MakeOp returns ModM2Op or DivM2Op for a modulus or div operator.
          Added new quad operators to the case statement selections.
	* gm2/gm2-gcc/m2expr.c:  include m2options.h.  BuildDivCeil,
          BuildModCeil, BuildDivM2, BuildModM2 (New functions).
          Much gnu coding standard reformatting has occurred.
	* gm2/gm2-gcc/m2expr.def:  define BuildDivM2, BuildModM2,
          BuildDivCeil, BuildModCeil.
	* gm2/gm2-gcc/m2expr.h:  define BuildDivM2, BuildModM2,
          BuildDivCeil, BuildModCeil.
	* gm2/mc/mcError.mod:  corrected dates.
	* gm2/gm2-gcc/m2statement.c:  removed call to
          dump_function (TDI_generic, fndecl) as it is no longer
          supported.
	* gm2/tools-src/gensum.py:  filter out gm2/non-free results
	  from being displayed.

2017-06-06      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod: (CodeLengthFunction) Call
          InternalError if op1 is a constant.
          (FoldLengthFunction) if op1 is a constant fold the
	  result and remove the quadruple.
	* gm2/gm2-compiler/M2Quads.mod:  (BuildLengthFunction)
          check to see if parameter to length is a constant
          if so then use StandardFunctionOp otherwise
          call M2RTS_Length.  Fixes a bug reported by
	  Ernst Bokkelkamp <ernst@bokkelkamp.de>.
	* gm2/gm2-compiler/SymbolTable.mod:  correct end procedure
          name PutConstIntoTypeTree.
	* gm2/gm2-gcc/m2expr.c:  many gnu coding standard changes.
	* gm2/mc/mcStream.mod:  (createTemporaryFile) create a per
          process temporary file name.
	* (mc) regenerated.

2017-06-05      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  CodeArray add extra
          parameter to BuildArray.
	* gm2/gm2-compiler/M2Quads.mod:  PushOne (New procedure).
          PushZero (New procedure).  BuildPseudoBy call PushOne.
          BuildIncProcedure, BuildDecProcedure call PushOne.
          BuildForToByDo call PushZero.
	* gm2/gm2-compiler/SymbolTable.mod:  add ConstLitTree
          field to Pointer and Subrange types.  Allow
          GetConstFromTypeTree and PutConstIntoTypeTree to get and
          store constants into their respective ConstLitTree(s).
	* gm2/gm2-gcc/m2expr.c:  convert the array index into the
          array index type before accessing the array element.
	* gm2/gm2-gcc/m2expr.def:  introduce extra location parameter
          to BuildArray.
	* gm2/gm2-gcc/m2expr.h:  introduce extra location parameter
          to BuildArray.
	* gm2/gm2-lang.c:  corrected formatting.  Call write_globals.
          Rewrite m2_write_global_declarations.  Replace
          gm2_langhook_write_globals with write_globals.  Remove
          LANG_HOOKS_WRITE_GLOBALS.
	* gm2/gm2-libs/NumberIO.mod:  white spaces removed.
	* gm2/lang.opt:  corrected dates.  Allow Modula-2 to skip over
          the fobjc-std=objc1 option.
	* gm2/patches/gcc/trunc/11-patches:  remove assert.

2017-06-01      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  removed M2Constants.def
          M2Constants.mod M2Entity.def M2Entity.mod.
	* gm2/gm2-compiler/M2ALU.mod:  import ZType and change all
          calls to MakeConstLit with a second type parameter.
	* gm2/gm2-compiler/M2Base.mod:  remove unused MaxCard
          and zero.
	* gm2/gm2-compiler/M2Bitset.mod:  change call
          to MakeConstLit to include a second type parameter.
	* gm2/gm2-compiler/M2GenGCC.mod:  change all calls
          to MakeConstLit to include a second type parameter.
	* gm2/gm2-compiler/M2Quads.mod:  change all calls
          to MakeConstLit to include a second type parameter.
          Also reduce BuildPseudoBy by removing special case
          of NulSym type.
	* gm2/gm2-compiler/M2Range.mod:  MakeAndDeclareConstLit
          (New procedure function).  FoldNonPosDiv, FoldNonPosMod,
          FoldZeroDiv, FoldZeroRem, CodeWholeNonPos, CodeWholeZero,
          use MakeAndDeclareConstLit to test against zero of the
          correct type.
	* gm2/gm2-compiler/P2SymBuild.mod:  change all calls
          to MakeConstLit to include a second type parameter.
	* gm2/gm2-compiler/SymbolTable.def:  add second parameter
	  to MakeConstLit.
	* gm2/gm2-compiler/SymbolTable.mod:  add second parameter
          to MakeConstLit.  Add ConstLitTree to the SymType.
          GetConstFromTypeTree, PutConstIntoTypeTree
          (New procedure functions).  GetConstLitType changed
          parameter from Sym to Name and implemented it accordingly.
	* gm2/gm2-gcc/init.c:  remove M2Entity, M2SubExp, M2Constants
          from the initialization sequence.
	* gm2/init/gm2-gccinit:  remove M2Entity, M2SubExp, M2Constants
          from the initialization sequence.
	* gm2/gm2-gcc/m2expr.c:  added test shortcut.

2017-05-31      Gaius Mulley <gaius@gnu.org>

	* gm2/tools-src/gensum.py:  improved summary using colours.

2017-05-30      Gaius Mulley <gaius@gnu.org>

	* patches/gcc/trunc/01-patches:  (New file).
	* patches/gcc/trunc/02-patches:  (New file).
	* patches/gcc/trunc/03-patches:  (New file).
	* patches/gcc/trunc/04-patches:  (New file).
	* patches/gcc/trunc/05-patches:  (New file).
	* patches/gcc/trunc/06-patches:  (New file).
	* patches/gcc/trunc/07-patches:  (New file).
	* patches/gcc/trunc/08-patches:  (New file).
	* patches/gcc/trunc/09-patches:  (New file).
	* patches/gcc/trunc/10-patches:  (New file).
	* patches/gcc/trunc/11-patches:  (New file).
	* gm2/tools-src/gensum.py:  tidied up spacing and changed Usage
          to take an exit code.
	* gm2/gm2-lang.c:  call build_common_tree_nodes with a single
          parameter.  Use late_global_decl callback instead of global_decl.
	* gm2-gcc/m2type.c:  use SET_TYPE_ALIGN instead of an assignment.
	* gm2/gm2-gcc/gcc-consolidation.h:  include backend.h,
          rtl.h, predict.h and df.h.
	* gm2/tools-src/gensum.py:  changed CVS url to the git url.
          Generate a summary at the top of the passes, failures and
	  unresolved tests.

2017-05-24      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  use separate procedure to
          declare variables depending whether -fm2-whole-program was
          specified.  (DeclareImportedVariablesWholeProgram)  New
          procedure.  (DeclareVariableWholeProgram)  New procedure.
          (DeclareGlobalVariablesWholeProgram)  New procedure.
          (DeclareImportedVariablesWholeProgram)  New procedure.
          (StartDeclareModuleScopeWholeProgram)  use
	  DeclareImportedVariablesWholeProgram.
	* gm2/gm2-gcc/m2decl.c:  corrected dates.

2017-05-23      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Code.mod:  removed unnecessary code.
          No longer need M2SubExp.mod.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  (IsRecordFieldDependants)
          check alignment value.  (WalkRecordFieldDependants)
          walk alignment value.  (WalkVarient) walk alignment value.
	* gm2/gm2-compiler/M2Quads.mod:  change comment as we no longer
          use M2SubExp.mod
	* gm2/gm2-gcc/m2convert.c:  use convert_loc instead of convert.
	* gm2/gm2.texi:  remove groff font change and use texinfo.
	* gm2/init/gm2-gccinit:  remove M2SubExp from the list.
	* updated web pages to reflect release of 1.2.0.

2017-05-11      Gaius Mulley <gaius@gnu.org>

	* gm2/NEWS:  updated to reflect release 1.2.0.
	* gm2/configure:  regenerated.
	* gm2/configure.in:  updated to reflect release 1.2.0.
	* gm2/gm2-libs/config-host.in:  updated to reflect
	  release 1.2.0.
	* gm2/gm2-libs/config-target.in:  updated to reflect
          release 1.2.0.
	* gm2/gm2.texi:  updated to reflect release 1.2.0.
	* gm2/version.c:  updated to reflect release 1.2.0.
	* gm2/gm2-compiler/M2GenGCC.mod:  added tests for type equivalence
          between operands in CodeIfSetEqu and CodeIfSetNotEqu.  Fixes a bug
          reported by Ernst Bokkelkamp.

2017-05-10      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  document the -fm2-g option.
	* gm2/Make-lang.in:  removed old conditional.  Added
	-fm2-g flag.  Removed obsolete variables.  Removed
	  redundant flags in compilation builds.
	* gm2/bnf/m2-3.bnf:  removed BuildLineNote.  Introduced
	  BuildStmtNote.
	* gm2/bnf/m2-h.bnf:  removed BuildLineNote.
	* gm2/examples/map/RoomMap.mod:  removed WriteString, WriteLn.
	* gm2/examples/map/StoreCoords.mod:  changed error message.
	* gm2/gm2-compiler/M2Code.mod:  call DebugLineNumbers.
	* gm2/gm2-compiler/M2Comp.def:  changed spacing.
	* gm2/gm2-compiler/M2GCCDeclare.def:  add tokenno parameter to
	  many procedures.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  removed QuadToTokenNo,
	  use tokenno parameter instead.
	* gm2/gm2-compiler/M2GenGCC.mod:  import addStmtNote,
          removeStmtNote.  Implement CodeStatementNote, FoldStatementNote
          call them from the appropriate case statements.  Remove
	  all QuadToTokenNo calls and use CurrentQuadToken instead.
	* gm2/gm2-compiler/M2LexBuf.def:  export GetTokenName.
	* gm2/gm2-compiler/M2LexBuf.mod:  new procedure function
	  GetTokenName.
	* gm2/gm2-compiler/M2Optimize.mod:  removed spaces.
	* gm2/gm2-compiler/M2Options.def:  export GetCpp,
          SetM2g and GetM2g.
	* gm2/gm2-compiler/M2Options.mod:  implement GetCpp,
          SetM2g and GetM2g.
	* gm2/gm2-compiler/M2Quads.def:  define BuildStmtNote
	  and BuildStmtOp.  Removed spaces.
	* gm2/gm2-compiler/M2Quads.mod:  implement BuildStmtNote.
          Ensure BEGIN END tokens are accurate.  Use StatementNoteOp
	  instead of LineNumberOp.
	* gm2/gm2-compiler/M2Range.mod:  pass tokenno as a parameter to
	  DeclareConstructor.
	* gm2/gm2-compiler/M2Search.def:  improve comment.
	* gm2/gm2-compiler/SymbolTable.def:  DebugLineNumbers new
	  procedure.
	* gm2/gm2-compiler/SymbolTable.mod:  DebugLineNumbers implement
	  new procedure.
	* gm2/gm2-gcc/m2block.c:  do_add_stmt, flush_pending_note,
          addStmtNote, removeStmtNote new functions.
	* gm2/gm2-gcc/m2block.def:  export addStmtNote, removeStmtNote,
	  add_stmt.
	* gm2/gm2-gcc/m2block.h:  export addStmtNote, removeStmtNote,
	  add_stmt.
	* gm2/gm2-gcc/m2options.h:  export GetCpp, GetM2g, SetM2g.
	* gm2/gm2-gcc/m2statement.c:  use convert_loc instead of convert.
	* gm2/gm2-gcc/m2treelib.c:  call m2block_add_stmt.
	* gm2/gm2-gcc/m2treelib.h:  removed spaces.
	* gm2/gm2-lang.c:  introduce -fm2-g flag.
	* gm2/gm2-lang.h:  define convert_loc.
	* gm2/lang-options.h:  introduce -fm2-g flag.
	* gm2/lang.opt:  introduce -fm2-g flag.
	* gm2/m2.flex:  only run the assert if we are not invoking
	  the C preprocessor.

2017-04-27      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  many new rules to allow
          make gm2.verifystage12 to work.

2017-04-27      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  gm2/gm2-compiler/m2flex.o new rule
          for g++.   gm2/gm2-compiler/cflex.o new rule for g++.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  remove use of GetType
	  and GetLowestType.
          Import GetLType, GetSType, GetDType and use these instead.
	* gm2/gm2-compiler/M2Quads.mod:  remove use of GetType
	  and GetLowestType.
          Import GetLType, GetSType, GetDType and use these instead.
	* gm2/gm2-compiler/SymbolTable.def:  define GetSType,
	  GetLType and GetDType.
	* gm2/gm2-compiler/SymbolTable.mod:  implement GetSType,
	  GetLType and GetDType.

2017-04-26      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  import
          GetLowestType and use it during the declaration of
          parameters and variables.
	* gm2/gm2-compiler/M2GenGCC.mod:  (DoCopyString) improved
          comment.  (CodeXIndr)  call SkipType, renamed variables.
	* gm2/gm2-compiler/M2Options.def:  (DebugFunctionLineNumbers)
          new variable.  (SetDebugFunctionLineNumbers) new procedure.
	* gm2/gm2-compiler/M2Options.mod:  (SetDebugFunctionLineNumbers)
          new procedure.  (DebugFunctionLineNumbers) initialise.
	* gm2/gm2-compiler/M2Quads.mod:  (CheckAssignCompatible)
          reorder the list of if statements to detect set type checking.
	* gm2/gm2-compiler/SymbolTable.mod:  (GetLowestType)
          tidied up to remove deadcode and also correct a bug to ensure
          it does not skip over user specified alignment types.
	* gm2/gm2-gcc/m2expr.c:  (BuildAddr) use_generic parameter
          will cast the pointer to ADDRESS.
	* gm2/gm2-gcc/m2options.h:  (SetDebugFunctionLineNumbers) added.
	* gm2/gm2-gcc/m2tree.c:  (m2tree_skip_type_decl) skip_type_decl
          if necessary.
	* gm2/gm2-lang.c:  (OPT_fdebug_function_line_numbers) case added.
	* gm2/lang-options.h:  add entry for -fdebug-function-line-numbers.
	* gm2/lang.opt:  improved description.  Introduced
	  fdebug-function-line-numbers.

2017-04-21      Gaius Mulley <gaius@gnu.org>

	* Applied fixes to the testsuite reported by
          Ernst Bokkelkamp.
	* testsuite/gm2/exceptions/run/pass/gm2.exp:  look
          for xg++ rather than g++.
	* testsuite/gm2/extensions/run/pass/vararg3.mod:
          convert 11 into an INTEGER for a vararg parameter.
	* testsuite/gm2/switches/check-all/run/fail/gm2.exp:
          test for the source path and filename when avoiding
	  a testcase.

2017-03-29      Gaius Mulley <gaius@gnu.org>

	* gm2/mc-boot-ch/Glibc.c:  return the result from
	  close.

2017-03-21      Gaius Mulley <gaius@gnu.org>

	* gm2/m2.flex:  match new cpp file start/end codes.

2017-03-21      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  detect circular
          dependency in AssertAllTypesDeclared and generate
          error message rather than abort.
	* corrected a number of regression test programs.

2017-03-18      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  many changes to the way the parser
          generator is built.  A number of cyclic dependancies
          have been removed and building times are much shorter.

2017-03-14      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2type.c:  get_unsigned (New function).
          BuildSubrangeType use get_unsigned.
	* gm2/gm2-libs-iso/SysClock.mod:  undo previous commit to restore
	source contents.
	* gm2/ulm-lib-gm2/std/Calendar.mod:  CDate changed to use
          temporary variables to avoid dangerous code which is exposed
          by overflow errors during gimplification.
	* gm2/patches/gcc/5.2.0/11-patches:  New file.
	* gm2/patches/gcc/5.2.0/12-patches:  New file.

2017-03-14      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  check range of type conversion
	  of constants.
	* gm2/gm2-compiler/M2GenGCC.mod:  BuildFunctValue now returns tree
          which must be added to the statement list.  GenerateCleanup
          (New procedure function).  CheckCleanup (New procedure function).
          CodeCall changed since CodeDirectCall and CodeIndirectCall now
	  return trees.
	* gm2/gm2-compiler/SymbolTable.def:  removed white space.
	* gm2/gm2-compiler/SymbolTable.mod:  HasVarParameters (New procedure
	  function).
	* gm2/gm2-gcc/m2block.def:  export begin_statement_list,
	  push_statement_list, pop_statement_list.
	* gm2/gm2-gcc/m2decl.c:  BuildParameterDeclaration set
	  the address of a VAR parameter to TREE_READONLY.
	* gm2/gm2-gcc/m2statement.c:  BuildIndirectProcedureCallTree returns
          a tree.  BuildFunctValue returns a tree.
          GetParamTree (New procedure function).  BuildTryFinally (New
	  procedure function).  BuildCleanUp (New procedure function).
	* gm2/gm2-gcc/m2statement.def:  BuildFunctValue returns a tree.
          Declare GetParamTree.  Declare BuildTryFinally.
	  Declare BuildCleanUp.
	* gm2/gm2-gcc/m2statement.h:  BuildFunctValue returns a tree.
          Declare GetParamTree.  Declare BuildTryFinally.
	  Declare BuildCleanUp.
	* gm2/gm2-gcc/m2type.c:  BuildProcTypeParameterDeclaration layout
	  the type at the end of the function.
	* gm2/gm2-libs-iso/SysClock.mod:  temporarily changed to hunt
	  down a bug.
	* gm2/m2pp.c:  improved type description for sized types.
	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc/decl.mod:  fixed bug in recordfield
	  (initialize scope to NIL).

2017-02-17      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  removed
          procedure prototypes.
	* gm2/gm2-compiler/M2GenGCC.mod:
          CheckConvertCoerceParameter detect if
	  the OperandType = ParamType and return early.
	* gm2/gm2-gcc/m2type.c:  (finish_build_pointer_type)
          layout the type.
	* gm2/m2pp.c:  (m2pp_identifier) detect and handle
	  COMPONENT_REF.

2017-02-12      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Base.mod:  allow many more
          base types to be compatible with SYSTEM types
          WORD, BYTE and friends.
	* gm2/gm2-compiler/M2GenGCC.mod:  remove the convert
          in CodeAddr.
	* gm2/gm2-compiler/M2Quads.mod:  remove unnecessary
          white space.  ManipulateParam generate an LValue for
          any parameter passed by reference.
	* gm2/gm2-gcc/m2type.def:  export GetM2ComplexType.
	* gm2/gm2-lang.c:  introduce minor debugging.

2017-02-04      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  add location to
          BuildStartFunctionCode.  Add location to
          finishFunctionDecl.  Add location to
	  BuildEndFunctionCode.
	* gm2/gm2-gcc/m2decl.c:  add DECL_BY_REFERENCE
          to parameter which is passed by reference.
	* gm2/gm2-gcc/m2statement.c:  add location to
          BuildStartFunctionCode and BuildEndFunctionCode.
          Reset cfun and current_function_decl to NULL at
          the end of the BuildEndFunctionCode.
	* gm2/gm2-gcc/m2statement.def:  add location to
          BuildStartFunctionCode and BuildEndFunctionCode.
	* gm2/gm2-gcc/m2statement.h:  add location to
          BuildStartFunctionCode and BuildEndFunctionCode.
	* gm2/gm2-gcc/m2treelib.c:  m2treelib_get_set_field_des
          rewritten to obtain the address and then indirectly
          reference the value so that it can be placed on the lhs
          of an assignment.  (m2treelib_get_set_value) detect
          if lvalue is a POINTER_TYPE and if so then perform
          and indirection lookup before generation the component
          reference.
	* gm2/m2pp.c:  modified to include a bits boolean in
          the pretty state machine.  Which will be used to print
	  useful TREE boolean flags.

2017-02-01      Gaius Mulley <gaius@gnu.org>

	* gm2/m2pp.c:  modified to allow it to be built and
          included in the cc1 and cc1plus frontends.
	  Also fixed bugs to avoid crashing if bitfields
          are used and displayed from cc1plus.

2017-01-23      Gaius Mulley <gaius@gnu.org>

	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc-boot/GmcError.c:  regenerated.
	* gm2/mc-boot/Gtop.c:  regenerated.
	* gm2/mc/decl.mod:  add CAP to the implementation of mc.
	* gm2/mc/mcError.mod:  set ExitOnHalt before calling InternalError.
	* gm2/mc/top.mod:  call ExitOnHalt before calling compile.

2017-01-19      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/wrapsock.c:  corrected a configure bug
          use HAVE_SIGNAL_H instead of HAVE_MALLOC_H.
	* gm2/mc-boot-ch/Gpth.c:  added dummy function calls to
          satisfy the linker.
	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc-boot/Gkeyc.c:  regenerated.
	* gm2/mc-boot/Gkeyc.h:  regenerated.
	* gm2/mc/decl.mod:  LENGTH implemented.  isAProcType
          new procedure function.  requiresUnpackProc (New
          procedure).  doAssignment use requiresUnpackProc.
	* gm2/mc/keyc.def:  useM2RTS, useStrlen, useCtype
          defined.
	* gm2/mc/keyc.mod:  useM2RTS, useStrlen, useCtype
	  implemented.
	* gm2/mc/decl.mod:  doLengthC (New procedure).
	  length is placed in the base symbol scope.

2017-01-16      Gaius Mulley <gaius@gnu.org>

	* gm2/mc/decl.mod:  add shortcomplex, longcomplex
          to the list of base datatypes in mc.

2017-01-15      Gaius Mulley <gaius@gnu.org>

	* gm2/mc-boot-ch/Glibc.c:  process the \\n
          escapes before using vfprintf.  libc_getpid
          (New function).  libc_sleep (New function).
	* gm2/mc/decl.mod:  (doEscapeC) avoid escaping \\.

2017-01-12      Gaius Mulley <gaius@gnu.org>

	* gm2/mc-boot/Gdecl.c:  New file.
	* gm2/mc-boot/GmcComment.c:  New file.
	* gm2/mc-boot/GmcComment.h:  New file.
	* gm2/mc/mcComment.def:  New file.
	* gm2/mc/mcComment.mod:  New file.

2017-01-11      Gaius Mulley <gaius@gnu.org>

	* gm2/mc/decl.mod:  add a def to the done list.
	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc/decl.mod:  handle type COMPLEX and RE, IM.
          Tidy up formatting of h files.  Implement setvalue.
	  Fix proctype using an unbounded array parameter.
	* gm2/mc/keyc.def:  (useComplex) New procedure.
	* gm2/mc/keyc.mod:  detect type complex and complex related
	  intrinsics.
	* gm2/bnf/mc-4.bnf:  fix bug when created a typed const.
	* gm2/mc-boot-ch/Glibc.c:  regenerated.
	* gm2/mc-boot/GASCII.h:  regenerated.
	* gm2/mc-boot/GArgs.h:  regenerated.
	* gm2/mc-boot/GAssertion.h:  regenerated.
	* gm2/mc-boot/GBreak.h:  regenerated.
	* gm2/mc-boot/GCOROUTINES.h:  regenerated.
	* gm2/mc-boot/GCmdArgs.h:  regenerated.
	* gm2/mc-boot/GDebug.h:  regenerated.
	* gm2/mc-boot/GDynamicStrings.h:  regenerated.
	* gm2/mc-boot/GEnvironment.h:  regenerated.
	* gm2/mc-boot/GFIO.h:  regenerated.
	* gm2/mc-boot/GFormatStrings.h:  regenerated.
	* gm2/mc-boot/GFpuIO.h:  regenerated.
	* gm2/mc-boot/GIO.h:  regenerated.
	* gm2/mc-boot/GIndexing.h:  regenerated.
	* gm2/mc-boot/GM2EXCEPTION.h:  regenerated.
	* gm2/mc-boot/GM2RTS.h:  regenerated.
	* gm2/mc-boot/GMemUtils.h:  regenerated.
	* gm2/mc-boot/GNumberIO.h:  regenerated.
	* gm2/mc-boot/GPushBackInput.h:  regenerated.
	* gm2/mc-boot/GRTExceptions.h:  regenerated.
	* gm2/mc-boot/GRTint.h:  regenerated.
	* gm2/mc-boot/GSArgs.h:  regenerated.
	* gm2/mc-boot/GSFIO.h:  regenerated.
	* gm2/mc-boot/GSYSTEM.h:  regenerated.
	* gm2/mc-boot/GSelective.h:  regenerated.
	* gm2/mc-boot/GStdIO.h:  regenerated.
	* gm2/mc-boot/GStorage.h:  regenerated.
	* gm2/mc-boot/GStrCase.h:  regenerated.
	* gm2/mc-boot/GStrIO.h:  regenerated.
	* gm2/mc-boot/GStrLib.h:  regenerated.
	* gm2/mc-boot/GStringConvert.h:  regenerated.
	* gm2/mc-boot/GSysExceptions.h:  regenerated.
	* gm2/mc-boot/GSysStorage.h:  regenerated.
	* gm2/mc-boot/GTimeString.h:  regenerated.
	* gm2/mc-boot/GUnixArgs.h:  regenerated.
	* gm2/mc-boot/Galists.h:  regenerated.
	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc-boot/Gdecl.h:  regenerated.
	* gm2/mc-boot/Gdtoa.h:  regenerated.
	* gm2/mc-boot/Gerrno.h:  regenerated.
	* gm2/mc-boot/Gkeyc.c:  regenerated.
	* gm2/mc-boot/Gkeyc.h:  regenerated.
	* gm2/mc-boot/Gldtoa.h:  regenerated.
	* gm2/mc-boot/Glibc.h:  regenerated.
	* gm2/mc-boot/Glibm.h:  regenerated.
	* gm2/mc-boot/Glists.h:  regenerated.
	* gm2/mc-boot/GmcComp.h:  regenerated.
	* gm2/mc-boot/GmcDebug.h:  regenerated.
	* gm2/mc-boot/GmcError.h:  regenerated.
	* gm2/mc-boot/GmcFileName.h:  regenerated.
	* gm2/mc-boot/GmcLexBuf.h:  regenerated.
	* gm2/mc-boot/GmcMetaError.h:  regenerated.
	* gm2/mc-boot/GmcOptions.h:  regenerated.
	* gm2/mc-boot/GmcPreprocess.h:  regenerated.
	* gm2/mc-boot/GmcPretty.h:  regenerated.
	* gm2/mc-boot/GmcPrintf.h:  regenerated.
	* gm2/mc-boot/GmcQuiet.h:  regenerated.
	* gm2/mc-boot/GmcReserved.h:  regenerated.
	* gm2/mc-boot/GmcSearch.h:  regenerated.
	* gm2/mc-boot/GmcStack.h:  regenerated.
	* gm2/mc-boot/GmcStream.h:  regenerated.
	* gm2/mc-boot/Gmcflex.h:  regenerated.
	* gm2/mc-boot/Gmcp1.h:  regenerated.
	* gm2/mc-boot/Gmcp2.h:  regenerated.
	* gm2/mc-boot/Gmcp3.h:  regenerated.
	* gm2/mc-boot/Gmcp4.c:  regenerated.
	* gm2/mc-boot/Gmcp4.h:  regenerated.
	* gm2/mc-boot/Gmcp5.h:  regenerated.
	* gm2/mc-boot/GnameKey.h:  regenerated.
	* gm2/mc-boot/Gpth.h:  regenerated.
	* gm2/mc-boot/GsymbolKey.h:  regenerated.
	* gm2/mc-boot/Gtermios.h:  regenerated.
	* gm2/mc-boot/Gvarargs.h:  regenerated.
	* gm2/mc-boot/Gwlists.h:  regenerated.
	* gm2/mc-boot/Gwrapc.h:  regenerated.

2017-01-09      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  new rule to build mcComment.mod
	* gm2/bnf/mc-1.bnf:  import and call setProcedureComment.
	* gm2/init/mcinit:  mcComment added.
	* gm2/mc-boot/GArgs.c:  regenerated.
	* gm2/mc-boot/GArgs.h:  regenerated.
	* gm2/mc-boot/GAssertion.c:  regenerated.
	* gm2/mc-boot/GAssertion.h:  regenerated.
	* gm2/mc-boot/GCmdArgs.c:  regenerated.
	* gm2/mc-boot/GCmdArgs.h:  regenerated.
	* gm2/mc-boot/GDebug.c:  regenerated.
	* gm2/mc-boot/GDebug.h:  regenerated.
	* gm2/mc-boot/GDynamicStrings.c:  regenerated.
	* gm2/mc-boot/GDynamicStrings.h:  regenerated.
	* gm2/mc-boot/GEnvironment.c:  regenerated.
	* gm2/mc-boot/GEnvironment.h:  regenerated.
	* gm2/mc-boot/GFIO.c:  regenerated.
	* gm2/mc-boot/GFIO.h:  regenerated.
	* gm2/mc-boot/GFormatStrings.c:  regenerated.
	* gm2/mc-boot/GFormatStrings.h:  regenerated.
	* gm2/mc-boot/GFpuIO.c:  regenerated.
	* gm2/mc-boot/GIO.c:  regenerated.
	* gm2/mc-boot/GIO.h:  regenerated.
	* gm2/mc-boot/GIndexing.c:  regenerated.
	* gm2/mc-boot/GIndexing.h:  regenerated.
	* gm2/mc-boot/GM2EXCEPTION.c:  regenerated.
	* gm2/mc-boot/GM2RTS.c:  regenerated.
	* gm2/mc-boot/GM2RTS.h:  regenerated.
	* gm2/mc-boot/GMemUtils.c:  regenerated.
	* gm2/mc-boot/GMemUtils.h:  regenerated.
	* gm2/mc-boot/GPushBackInput.c:  regenerated.
	* gm2/mc-boot/GPushBackInput.h:  regenerated.
	* gm2/mc-boot/GRTExceptions.c:  regenerated.
	* gm2/mc-boot/GRTExceptions.h:  regenerated.
	* gm2/mc-boot/GRTint.c:  regenerated.
	* gm2/mc-boot/GRTint.h:  regenerated.
	* gm2/mc-boot/GSArgs.c:  regenerated.
	* gm2/mc-boot/GSArgs.h:  regenerated.
	* gm2/mc-boot/GSFIO.c:  regenerated.
	* gm2/mc-boot/GSFIO.h:  regenerated.
	* gm2/mc-boot/GSYSTEM.h:  regenerated.
	* gm2/mc-boot/GSelective.h:  regenerated.
	* gm2/mc-boot/GStdIO.c:  regenerated.
	* gm2/mc-boot/GStdIO.h:  regenerated.
	* gm2/mc-boot/GStorage.h:  regenerated.
	* gm2/mc-boot/GStrCase.c:  regenerated.
	* gm2/mc-boot/GStrCase.h:  regenerated.
	* gm2/mc-boot/GStrIO.c:  regenerated.
	* gm2/mc-boot/GStrIO.h:  regenerated.
	* gm2/mc-boot/GStrLib.c:  regenerated.
	* gm2/mc-boot/GStrLib.h:  regenerated.
	* gm2/mc-boot/GStringConvert.c:  regenerated.
	* gm2/mc-boot/GStringConvert.h:  regenerated.
	* gm2/mc-boot/GSysStorage.c:  regenerated.
	* gm2/mc-boot/GSysStorage.h:  regenerated.
	* gm2/mc-boot/GTimeString.c:  regenerated.
	* gm2/mc-boot/GTimeString.h:  regenerated.
	* gm2/mc-boot/Galists.c:  regenerated.
	* gm2/mc-boot/Galists.h:  regenerated.
	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc-boot/Gdecl.h:  regenerated.
	* gm2/mc-boot/Gdtoa.h:  regenerated.
	* gm2/mc-boot/Gkeyc.c:  regenerated.
	* gm2/mc-boot/Gkeyc.h:  regenerated.
	* gm2/mc-boot/Gldtoa.h:  regenerated.
	* gm2/mc-boot/Glibc.h:  regenerated.
	* gm2/mc-boot/Glists.c:  regenerated.
	* gm2/mc-boot/Glists.h:  regenerated.
	* gm2/mc-boot/GmcComp.c:  regenerated.
	* gm2/mc-boot/GmcComp.h:  regenerated.
	* gm2/mc-boot/GmcDebug.c:  regenerated.
	* gm2/mc-boot/GmcDebug.h:  regenerated.
	* gm2/mc-boot/GmcError.c:  regenerated.
	* gm2/mc-boot/GmcError.h:  regenerated.
	* gm2/mc-boot/GmcFileName.c:  regenerated.
	* gm2/mc-boot/GmcFileName.h:  regenerated.
	* gm2/mc-boot/GmcLexBuf.c:  regenerated.
	* gm2/mc-boot/GmcLexBuf.h:  regenerated.
	* gm2/mc-boot/GmcMetaError.c:  regenerated.
	* gm2/mc-boot/GmcOptions.c:  regenerated.
	* gm2/mc-boot/GmcOptions.h:  regenerated.
	* gm2/mc-boot/GmcPreprocess.c:  regenerated.
	* gm2/mc-boot/GmcPreprocess.h:  regenerated.
	* gm2/mc-boot/GmcPretty.c:  regenerated.
	* gm2/mc-boot/GmcPretty.h:  regenerated.
	* gm2/mc-boot/GmcPrintf.c:  regenerated.
	* gm2/mc-boot/GmcPrintf.h:  regenerated.
	* gm2/mc-boot/GmcReserved.c:  regenerated.
	* gm2/mc-boot/GmcReserved.h:  regenerated.
	* gm2/mc-boot/GmcSearch.c:  regenerated.
	* gm2/mc-boot/GmcSearch.h:  regenerated.
	* gm2/mc-boot/GmcStack.c:  regenerated.
	* gm2/mc-boot/GmcStack.h:  regenerated.
	* gm2/mc-boot/GmcStream.c:  regenerated.
	* gm2/mc-boot/GmcStream.h:  regenerated.
	* gm2/mc-boot/Gmcflex.h:  regenerated.
	* gm2/mc-boot/Gmcp1.c:  regenerated.
	* gm2/mc-boot/Gmcp1.h:  regenerated.
	* gm2/mc-boot/Gmcp2.c:  regenerated.
	* gm2/mc-boot/Gmcp2.h:  regenerated.
	* gm2/mc-boot/Gmcp3.c:  regenerated.
	* gm2/mc-boot/Gmcp3.h:  regenerated.
	* gm2/mc-boot/Gmcp4.c:  regenerated.
	* gm2/mc-boot/Gmcp4.h:  regenerated.
	* gm2/mc-boot/Gmcp5.c:  regenerated.
	* gm2/mc-boot/Gmcp5.h:  regenerated.
	* gm2/mc-boot/GnameKey.c:  regenerated.
	* gm2/mc-boot/GnameKey.h:  regenerated.
	* gm2/mc-boot/GsymbolKey.c:  regenerated.
	* gm2/mc-boot/GsymbolKey.h:  regenerated.
	* gm2/mc-boot/Gtermios.h:  regenerated.
	* gm2/mc-boot/Gtop.c:  regenerated.
	* gm2/mc-boot/Gvarargs.c:  regenerated.
	* gm2/mc-boot/Gvarargs.h:  regenerated.
	* gm2/mc-boot/Gwlists.c:  regenerated.
	* gm2/mc-boot/Gwlists.h:  regenerated.
	* gm2/mc-boot/Gwrapc.h:  regenerated.
	* gm2/mc/decl.def:  (putCommentDefProcedure) new procedure.
          (putCommentModProcedure) new procedure.
	* gm2/mc/decl.mod:  (doFuncParamC) correct bug by calling doCast.
          Add code to emit procedure heading comments for definition
          module and implementation/program modules.  (doProcedureComment)
          new procedure.  (doProcedureCommentText) new procedure.
          doParamC emit unbounded parameter for a proctype.
          (putCommentModProcedure) new procedure.  (putCommentDefProcedure)
          new procedure.  (makeProcedure)  initialises new fields
          defComment and modComment.  (procedureT) contains new
	  fields defComment and modComment.
	* gm2/mc/keyc.mod:  sin, cos, tan, main are all reserved function
	  names.
	* gm2/mc/mc.flex:  endOfComment call mcComment_endComment.
	  Updated to save the contents of a comment in mcComment.
	* gm2/mc/mcComp.mod:  call mcComment.newPass at the start of
	  a new pass.
	* gm2/mc/mcLexBuf.mod:  getToken modfied to call doGetToken until
          a commenttok is not seen.  doGetToken (New procedure) implemented
	  by using the old getToken.
	* gm2/mc/mcReserved.def:  added new token commenttok.
	* gm2/mc/mcReserved.h:  added new token commenttok.

2017-01-03      Gaius Mulley <gaius@gnu.org>

	* gm2/mc/keyc.mod:  added main to the list of names to avoid.
	* gm2/Make-lang.in:  change sed commands for malloc/realloc to
	include preceeding space.
	* gm2/Make-lang.in:  call gm2_genericize for each function as it
	is ended.
	* gm2/gm2-lang.c:  gm2_genercize (New function).
	* gm2/gm2-lang.h:  gm2_genercize (New prototype).
	* gm2/mc/decl.mod:  bugfix for high field passed as a parameter
	  into another dynamic array.

2017-01-01      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2statement.c:  fixed nested procedure bug, use
          cgraph_node::get_create rather than cgraph_node::create.

2016-12-31      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2builtins.c:  removed trailing spaces.  define_builtin
          (New procedure).  m2builtins_init use define_builtin to define
          internal (gimple) builtin BUILT_IN_TRAP.
	* gm2/gm2-gcc/m2except.c:  reformatted slightly.  Bugfix to do_throw
          to ensure that gm2_eh_int_type which is declared globally is
          unshared for each and every use.
	* gm2/gm2-gcc/m2expr.c:  corrected dates and removed trailing space.
	* gm2/gm2-gcc/m2statement.c:  Bugfix to allow nested functions to
          compile.  If a nested function is complete create a cgraph_node
	  (and it will be finalized later), else finalize_function now.
	* gm2/gm2builtins.c:  file changed (it is unused and will be purged).
	* gm2/gm2except.c:  file changed (it is unused and will be purged).

2016-12-29      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Code.mod:  remove spaces and use StartGlobalContext
          and EndGlobalContext instead of InitGlobalContext.
	* gm2/gm2-gcc/m2top.c:  implement dummy procedures StartGlobalContext
          and EndGlobalContext.
	* gm2/gm2-gcc/m2top.def:  declare StartGlobalContext and
	  EndGlobalContext.
	* gm2/gm2-gcc/m2top.h:  declare StartGlobalContext and EndGlobalContext
          in the header.
	* gm2/gm2-lang.c:  (gm2_langhook_write_globals)  write all global
	  declarations and call finalize_compilation_unit.

2016-12-24      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.def:  GetHighFromUnbounded add location
          as the first parameter.
	* gm2/gm2-compiler/M2GenGCC.mod:  removed all forward declarations.
          Changed AddStatement to include a location first parameter.
          Change GetHighFromUnbounded to include a location first parameter.
          Change GetParamAddress to include a location first parameter.
          Change GetAddressOfUnbounded to include a location first parameter.
          Change BuildComponentRef to include a location first parameter.
          Removed commented code.
	* gm2/gm2-compiler/M2Range.mod:  changed all calls to the above
          to include the location parameter.
	* gm2-gcc/m2type.def:  changed AddStatement to include a location
	  first parameter.

2016-12-23      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2statement.c:  remove make_decl_rtl and use
          allocate_struct_function instead, assign DECL_SAVED_TREE (fndecl)
          to NULL_TREE.  Fixes to allow functions to be declared.
	* gm2/mc-boot/GStrIO.c:  rebuilt.
	* gm2/mc-boot/Gdecl.c:  rebuilt.
	* gm2/mc/decl.mod:  noIfElseChained (New procedure).  hasIfAndNoElse
	  use noIfElseChained to detect another dangling else bug.

2016-12-19      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  build and link gm2l, gm2lcc using g++.
	* gm2/gm2-lang.c:  updated to reflect gcc-5.2.0 garbage collection
          of trees.
	* gm2/gm2-lang.h:  removed garbage collection info (moved into
          gm2-lang.c).
	* gm2/Make-lang.in:  add MC_LIBS to the library list when linking
          gm2l, gm2lcc, gm2lgen, gm2lorder and gm2m.
	* gm2/gm2-gcc/gcc-consolidation.h:  add conditional compilation
          to stop inclusion of gcc compiler internals if we are building
          a gm2tool program.
	* gm2/Make-lang.in:  remove h2def from being built.

2016-12-18      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  create MC_LIBS and use them during link of
          cc1gm2.
 	* gm2/gm2-gcc/m2linemap.c:  use C style link symbols and correct
          prototype for StartFile.  Cast to char *.
	* gm2/gm2-gcc/m2linemap.h:  use __cplusplus rather than __GNUG__.
          move #include before defining EXTERN.
	* gm2/gm2-lang.c:  whitespace removal.
	* gm2/gm2-libs-ch/ldtoa.c:  removed #if surrounding _M2_ldtoa_init
          and _M2_ldtoa_finish.
	* gm2/m2.flex:  fixed to ensure external symbols are using C style.
          Use %option nounput to remove compiler warning.
	* gm2/mc-boot/Gdecl.c:  rebuilt.
	* gm2/mc/decl.mod:  bugfix, ensure that variables are declared as extern
	  when we are using getExtendedOpaque and if the variable is external.

2016-12-17      Gaius Mulley <gaius@gnu.org>

	* gm2/mc-boot/Gdecl.c:  rebuilt.
	* gm2/mc/decl.mod:  fixed bug regarding the expression type of an
          indirect funccall.  mc now builds all gm2 modules.

2016-12-16      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  M2GCCDeclare.o dedicated rule.  mc-clean,
	  mc-maintainer mc-continue rules improved.
	* gm2/bnf/h2def.bnf:  removed usused import.
	* gm2/gm2-compiler/M2Base.mod:  remove unused global variables
	  and fixed typo (FloatS not SFloat).
	* gm2/gm2-compiler/M2GCCDeclare.mod:  changed none to norule.
	* gm2/gm2-compiler/P3SymBuild.mod:  remove unused local variables.
	* gm2/gm2-compiler/bnflex.mod:  EatChar new procedure.  Remove many
	  unused variables by using EatChar rather than ch := GetChar ().
	* gm2/mc-boot/Gdecl.c:
	* gm2/mc-boot/Gkeyc.c:
	* gm2/mc/decl.def:
	* gm2/mc/decl.mod:  write out subrange type, detect type address
          when emitting casts.  Work out arrayref type when more than
	  one dimension is used.
	* gm2/mc/keyc.mod:  avoid C++ keywords operator and complex.
	* gm2/mc-boot/Gdecl.c:  rebuilt.
	* gm2/mc/decl.mod:  detect an variable of an enumeration
          type in the INC/DEC.  Ensure that arrays can only be
	  complete if the type of the array has been emitted.

2016-12-14      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  build cflex.c using the same rules as the
          m2flex.c.
	* gm2/c.flex:  include gm2-gcc/gcc-consolidation.h and use
          %option nounput to get a clean compilation with no warnings.
	  Declare linelen as unsigned int to avoid warnings.

2016-12-14      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  changed flags when compiling cflex.c and
          M2Version.c
	* gm2/bnf/gm2l.bnf:  removed unused variable.  (SyntaxCheck)
          Removed unused variable.
	* gm2/gm2-compiler/M2DebugStack.mod:  (doNameLength) remove
          unused variable.  (doMaxInt) remove unused procedure function.
	* gm2/mc-boot/Gdecl.c:  rebuilt.
	* gm2/mc/decl.mod:  detect bitset in MAX/MIN and return ztype.
	  Add bitnumN to the list of completed types.

2016-12-12      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  changed scaffold building rules
	  to use g++.
	* gm2/gm2-libs-ch/SysExceptions.c:  regenerated.
	* gm2/init/ppginit:  regenerated.
	* gm2/mc-boot-ch/Gmcrts.c:  regenerated.
	* gm2/mc-boot-ch/Gmcrts.h:  regenerated.
	* gm2/mc-boot/GASCII.h:  regenerated.
	* gm2/mc-boot/GArgs.h:  regenerated.
	* gm2/mc-boot/GAssertion.h:  regenerated.
	* gm2/mc-boot/GBreak.h:  regenerated.
	* gm2/mc-boot/GCOROUTINES.h:  regenerated.
	* gm2/mc-boot/GCmdArgs.h:  regenerated.
	* gm2/mc-boot/GDebug.h:  regenerated.
	* gm2/mc-boot/GDynamicStrings.c:  regenerated.
	* gm2/mc-boot/GDynamicStrings.h:  regenerated.
	* gm2/mc-boot/GEnvironment.h:  regenerated.
	* gm2/mc-boot/GFIO.c:  regenerated.
	* gm2/mc-boot/GFIO.h:  regenerated.
	* gm2/mc-boot/GFormatStrings.c:  regenerated.
	* gm2/mc-boot/GFormatStrings.h:  regenerated.
	* gm2/mc-boot/GFpuIO.h:  regenerated.
	* gm2/mc-boot/GIO.h:  regenerated.
	* gm2/mc-boot/GIndexing.h:  regenerated.
	* gm2/mc-boot/GM2EXCEPTION.c:  regenerated.
	* gm2/mc-boot/GM2EXCEPTION.h:  regenerated.
	* gm2/mc-boot/GM2RTS.c:  regenerated.
	* gm2/mc-boot/GM2RTS.h:  regenerated.
	* gm2/mc-boot/GMemUtils.h:  regenerated.
	* gm2/mc-boot/GNumberIO.h:  regenerated.
	* gm2/mc-boot/GPushBackInput.h:  regenerated.
	* gm2/mc-boot/GRTExceptions.c:  regenerated.
	* gm2/mc-boot/GRTExceptions.h:  regenerated.
	* gm2/mc-boot/GRTint.c:  regenerated.
	* gm2/mc-boot/GRTint.h:  regenerated.
	* gm2/mc-boot/GSArgs.h:  regenerated.
	* gm2/mc-boot/GSFIO.h:  regenerated.
	* gm2/mc-boot/GSYSTEM.h:  regenerated.
	* gm2/mc-boot/GSelective.h:  regenerated.
	* gm2/mc-boot/GStdIO.h:  regenerated.
	* gm2/mc-boot/GStorage.h:  regenerated.
	* gm2/mc-boot/GStrCase.h:  regenerated.
	* gm2/mc-boot/GStrIO.h:  regenerated.
	* gm2/mc-boot/GStrLib.h:  regenerated.
	* gm2/mc-boot/GStringConvert.c:  regenerated.
	* gm2/mc-boot/GStringConvert.h:  regenerated.
	* gm2/mc-boot/GSysExceptions.h:  regenerated.
	* gm2/mc-boot/GSysStorage.h:  regenerated.
	* gm2/mc-boot/GTimeString.h:  regenerated.
	* gm2/mc-boot/GUnixArgs.h:  regenerated.
	* gm2/mc-boot/Galists.h:  regenerated.
	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc-boot/Gdecl.h:  regenerated.
	* gm2/mc-boot/Gdtoa.h:  regenerated.
	* gm2/mc-boot/Gerrno.h:  regenerated.
	* gm2/mc-boot/Gkeyc.c:  regenerated.
	* gm2/mc-boot/Gkeyc.h:  regenerated.
	* gm2/mc-boot/Gldtoa.h:  regenerated.
	* gm2/mc-boot/Glibc.h:  regenerated.
	* gm2/mc-boot/Glibm.h:  regenerated.
	* gm2/mc-boot/Glists.h:  regenerated.
	* gm2/mc-boot/GmcComp.c:  regenerated.
	* gm2/mc-boot/GmcComp.h:  regenerated.
	* gm2/mc-boot/GmcDebug.h:  regenerated.
	* gm2/mc-boot/GmcError.h:  regenerated.
	* gm2/mc-boot/GmcFileName.c:  regenerated.
	* gm2/mc-boot/GmcFileName.h:  regenerated.
	* gm2/mc-boot/GmcLexBuf.h:  regenerated.
	* gm2/mc-boot/GmcMetaError.c:  regenerated.
	* gm2/mc-boot/GmcMetaError.h:  regenerated.
	* gm2/mc-boot/GmcOptions.c:  regenerated.
	* gm2/mc-boot/GmcOptions.h:  regenerated.
	* gm2/mc-boot/GmcPreprocess.h:  regenerated.
	* gm2/mc-boot/GmcPretty.c:  regenerated.
	* gm2/mc-boot/GmcPretty.h:  regenerated.
	* gm2/mc-boot/GmcPrintf.h:  regenerated.
	* gm2/mc-boot/GmcQuiet.h:  regenerated.
	* gm2/mc-boot/GmcReserved.h:  regenerated.
	* gm2/mc-boot/GmcSearch.h:  regenerated.
	* gm2/mc-boot/GmcStack.h:  regenerated.
	* gm2/mc-boot/GmcStream.h:  regenerated.
	* gm2/mc-boot/Gmcflex.h:  regenerated.
	* gm2/mc-boot/Gmcp1.h:  regenerated.
	* gm2/mc-boot/Gmcp2.h:  regenerated.
	* gm2/mc-boot/Gmcp3.h:  regenerated.
	* gm2/mc-boot/Gmcp4.h:  regenerated.
	* gm2/mc-boot/Gmcp5.h:  regenerated.
	* gm2/mc-boot/GnameKey.c:  regenerated.
	* gm2/mc-boot/GnameKey.h:  regenerated.
	* gm2/mc-boot/Gpth.h:  regenerated.
	* gm2/mc-boot/GsymbolKey.h:  regenerated.
	* gm2/mc-boot/Gtermios.h:  regenerated.
	* gm2/mc-boot/Gvarargs.c:  regenerated.
	* gm2/mc-boot/Gvarargs.h:  regenerated.
	* gm2/mc-boot/Gwlists.h:  regenerated.
	* gm2/mc-boot/Gwrapc.h:  regenerated.
	* gm2/mc/decl.mod:  change all external declarations as being
	  C declarations to provide linkage compatibility with C/M2.
	* gm2/tools-src/mklink.c:  allow the scaffold to be compiled
          with g++.
	* gm2/Make-lang.in:  MC_ARGS no longer include gm2/mc.  Use
          COMPILER rather than CC to compile gm2 related sources.
	  m2link uses --g++ on compiler related scaffolds.
	* gm2/c.flex:  remove reference to p2c.
	* gm2/gm2-compiler/ppg.mod:  increase MaxCodeHunkLength.
	* gm2/mc-boot-ch/GSYSTEM.c:  implement _finish function.
	* gm2/mc-boot-ch/Gerrno.c:  implement _finish function.
	* gm2/mc-boot/Gdecl.c:  rebuilt.
	* gm2/mc-boot/Gkeyc.c:  rebuilt.
	* gm2/mc/decl.mod:  detect and handle dangling else in an ELSIF.
	* gm2/mc/keyc.mod:  add try, catch and operator to the list of
	  unusable keywords.
	* gm2/tools-src/mklink.c:  New procedure (GenerateInitCalls),
          new procedure (GenerateFinishCalls) and new procedure
	  (GeneratePrototypes).

2016-12-06      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  regenerated.
	* gm2/mc-boot/GCmdArgs.c:  regenerated.
	* gm2/mc-boot/GDebug.c:  regenerated.
	* gm2/mc-boot/GDynamicStrings.c:  regenerated.
	* gm2/mc-boot/GFIO.c:  regenerated.
	* gm2/mc-boot/GFormatStrings.c:  regenerated.
	* gm2/mc-boot/GIO.c:  regenerated.
	* gm2/mc-boot/GIndexing.c:  regenerated.
	* gm2/mc-boot/GStringConvert.c:  regenerated.
	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc-boot/Gkeyc.c:  regenerated.
	* gm2/mc-boot/GmcComp.c:  regenerated.
	* gm2/mc-boot/GmcOptions.c:  regenerated.
	* gm2/mc-boot/Gmcp1.c:  regenerated.
	* gm2/mc-boot/Gmcp2.c:  regenerated.
	* gm2/mc-boot/Gmcp3.c:  regenerated.
	* gm2/mc-boot/Gmcp4.c:  regenerated.
	* gm2/mc-boot/Gmcp5.c:  regenerated.
	* gm2/mc-boot/GnameKey.c:  regenerated.
	* gm2/mc/decl.mod:  fix bug in dangling else.
	* gm2/tools-src/mklink.c:  allow the link to occur with g++ and gcc.

2016-12-06      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  improved verify rule.
	* gm2/bnf/mc-2.bnf:  fixed bug declaring variables of an enumerated type.
	* gm2/mc-boot/GArgs.c:  regenerated.
	* gm2/mc-boot/GCmdArgs.c:  regenerated.
	* gm2/mc-boot/GDynamicStrings.c:  regenerated.
	* gm2/mc-boot/GEnvironment.c:  regenerated.
	* gm2/mc-boot/GFIO.c:  regenerated.
	* gm2/mc-boot/GFormatStrings.c:  regenerated.
	* gm2/mc-boot/GIO.c:  regenerated.
	* gm2/mc-boot/GIndexing.c:  regenerated.
	* gm2/mc-boot/GM2EXCEPTION.c:  regenerated.
	* gm2/mc-boot/GM2RTS.c:  regenerated.
	* gm2/mc-boot/GPushBackInput.c:  regenerated.
	* gm2/mc-boot/GRTExceptions.c:  regenerated.
	* gm2/mc-boot/GRTint.c:  regenerated.
	* gm2/mc-boot/GSArgs.c:  regenerated.
	* gm2/mc-boot/GSFIO.c:  regenerated.
	* gm2/mc-boot/GStdIO.c:  regenerated.
	* gm2/mc-boot/GStorage.c:  regenerated.
	* gm2/mc-boot/GStrCase.c:  regenerated.
	* gm2/mc-boot/GStrIO.c:  regenerated.
	* gm2/mc-boot/GStrLib.c:  regenerated.
	* gm2/mc-boot/GStringConvert.c:  regenerated.
	* gm2/mc-boot/GSysStorage.c:  regenerated.
	* gm2/mc-boot/Galists.c:  regenerated.
	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc-boot/Gkeyc.c:  regenerated.
	* gm2/mc-boot/Glists.c:  regenerated.
	* gm2/mc-boot/GmcComp.c:  regenerated.
	* gm2/mc-boot/GmcError.c:  regenerated.
	* gm2/mc-boot/GmcFileName.c:  regenerated.
	* gm2/mc-boot/GmcLexBuf.c:  regenerated.
	* gm2/mc-boot/GmcMetaError.c:  regenerated.
	* gm2/mc-boot/GmcOptions.c:  regenerated.
	* gm2/mc-boot/GmcPreprocess.c:  regenerated.
	* gm2/mc-boot/GmcPretty.c:  regenerated.
	* gm2/mc-boot/GmcPrintf.c:  regenerated.
	* gm2/mc-boot/GmcSearch.c:  regenerated.
	* gm2/mc-boot/GmcStack.c:  regenerated.
	* gm2/mc-boot/GmcStream.c:  regenerated.
	* gm2/mc-boot/Gmcp1.c:  regenerated.
	* gm2/mc-boot/Gmcp2.c:  regenerated.
	* gm2/mc-boot/Gmcp3.c:  regenerated.
	* gm2/mc-boot/Gmcp4.c:  regenerated.
	* gm2/mc-boot/Gmcp5.c:  regenerated.
	* gm2/mc-boot/GnameKey.c:  regenerated.
	* gm2/mc-boot/GsymbolKey.c:  regenerated.
	* gm2/mc-boot/Gvarargs.c:  regenerated.
	* gm2/mc-boot/Gwlists.c:  regenerated.
	* gm2/mc/decl.mod:  fixed bugs in variables of enumerated type,
          multi-dimensional arrays and introduced runtime case
	  and return checking.

2016-12-02      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  changed rules to include mc-boot-ch.
	* gm2/mc-boot-ch/Gmcrts.c:  regenerated.
	* gm2/mc-boot/GArgs.c:  regenerated.
	* gm2/mc-boot/GCmdArgs.c:  regenerated.
	* gm2/mc-boot/GDynamicStrings.c:  regenerated.
	* gm2/mc-boot/GEnvironment.c:  regenerated.
	* gm2/mc-boot/GFIO.c:  regenerated.
	* gm2/mc-boot/GFormatStrings.c:  regenerated.
	* gm2/mc-boot/GIO.c:  regenerated.
	* gm2/mc-boot/GIndexing.c:  regenerated.
	* gm2/mc-boot/GM2EXCEPTION.c:  regenerated.
	* gm2/mc-boot/GM2RTS.c:  regenerated.
	* gm2/mc-boot/GPushBackInput.c:  regenerated.
	* gm2/mc-boot/GRTExceptions.c:  regenerated.
	* gm2/mc-boot/GRTint.c:  regenerated.
	* gm2/mc-boot/GSArgs.c:  regenerated.
	* gm2/mc-boot/GSFIO.c:  regenerated.
	* gm2/mc-boot/GStdIO.c:  regenerated.
	* gm2/mc-boot/GStorage.c:  regenerated.
	* gm2/mc-boot/GStrCase.c:  regenerated.
	* gm2/mc-boot/GStrIO.c:  regenerated.
	* gm2/mc-boot/GStrLib.c:  regenerated.
	* gm2/mc-boot/GStringConvert.c:  regenerated.
	* gm2/mc-boot/GSysStorage.c:  regenerated.
	* gm2/mc-boot/Galists.c:  regenerated.
	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc-boot/Gkeyc.c:  regenerated.
	* gm2/mc-boot/Gkeyc.h:  regenerated.
	* gm2/mc-boot/Glists.c:  regenerated.
	* gm2/mc-boot/GmcComp.c:  regenerated.
	* gm2/mc-boot/GmcError.c:  regenerated.
	* gm2/mc-boot/GmcFileName.c:  regenerated.
	* gm2/mc-boot/GmcLexBuf.c:  regenerated.
	* gm2/mc-boot/GmcMetaError.c:  regenerated.
	* gm2/mc-boot/GmcOptions.c:  regenerated.
	* gm2/mc-boot/GmcPreprocess.c:  regenerated.
	* gm2/mc-boot/GmcPretty.c:  regenerated.
	* gm2/mc-boot/GmcPrintf.c:  regenerated.
	* gm2/mc-boot/GmcSearch.c:  regenerated.
	* gm2/mc-boot/GmcStack.c:  regenerated.
	* gm2/mc-boot/GmcStream.c:  regenerated.
	* gm2/mc-boot/Gmcp1.c:  regenerated.
	* gm2/mc-boot/Gmcp2.c:  regenerated.
	* gm2/mc-boot/Gmcp3.c:  regenerated.
	* gm2/mc-boot/Gmcp4.c:  regenerated.
	* gm2/mc-boot/Gmcp5.c:  regenerated.
	* gm2/mc-boot/GnameKey.c:  regenerated.
	* gm2/mc-boot/GsymbolKey.c:  regenerated.
	* gm2/mc-boot/Gvarargs.c:  regenerated.
	* gm2/mc-boot/Gwlists.c:  regenerated.
	* gm2/mc/decl.mod:  introduced runtime checking
	  for missing RETURN statements.
	* gm2/mc/keyc.def:  allow "Gmcrts.h" to be included.
	* gm2/mc/keyc.mod:  include "Gmcrts.h" if required.

2016-11-30      Gaius Mulley <gaius@gnu.org>

	* gm2/mc-boot/GDynamicStrings.c:  regenerated.
	* gm2/mc-boot/GFIO.c:  regenerated.
	* gm2/mc-boot/GIO.c:  regenerated.
	* gm2/mc-boot/GSFIO.c:  regenerated.
	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc-boot/GmcError.c:  regenerated.
	* gm2/mc-boot/GmcLexBuf.c:  regenerated.
	* gm2/mc-boot/GmcPreprocess.c:  regenerated.
	* gm2/mc-boot/GmcPrintf.c:  regenerated.
	* gm2/mc-boot/GmcStream.c:  regenerated.
	* gm2/mc-boot/Gmcp1.c:  regenerated.
	* gm2/mc-boot/Gmcp2.c:  regenerated.
	* gm2/mc-boot/Gmcp3.c:  regenerated.
	* gm2/mc-boot/Gmcp4.c:  regenerated.
	* gm2/mc-boot/Gmcp5.c:  regenerated.
	* gm2/mc-boot/GnameKey.c:  regenerated.
	* gm2/mc/decl.mod:  change empty statements from
	; to {} to avoid gcc compiler warning.  Fix parameter
	type cast for C++ parameter passing to type ADDRESS
	and other system types.

2016-11-29      Gaius Mulley <gaius@gnu.org>

	* gm2/mc-boot/GCmdArgs.c:  regenerated.
	* gm2/mc-boot/GDebug.c:  regenerated.
	* gm2/mc-boot/GDynamicStrings.c:  regenerated.
	* gm2/mc-boot/GDynamicStrings.c:  regenerated.
	* gm2/mc-boot/GFIO.c:  regenerated.
	* gm2/mc-boot/GFormatStrings.c:  regenerated.
	* gm2/mc-boot/GIndexing.c:  regenerated.
	* gm2/mc-boot/GStringConvert.c:  regenerated.
	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc-boot/GmcComp.c:  regenerated.
	* gm2/mc-boot/GmcOptions.c:  regenerated.
	* gm2/mc-boot/Gmcp1.c:  regenerated.
	* gm2/mc-boot/Gmcp2.c:  regenerated.
	* gm2/mc-boot/Gmcp3.c:  regenerated.
	* gm2/mc-boot/Gmcp4.c:  regenerated.
	* gm2/mc-boot/Gmcp5.c:  regenerated.
	* gm2/mc-boot/GnameKey.c:  regenerated.
	* gm2/mc/decl.mod:  (noIfElse)  New procedure function.  (hasIfElse)
          New procedure function.  (doIfC)  changed to issue braces to avoid
          a gcc warning.
	* gm2/mc-boot-ch:  New directory and files containing handbuilt
	  C and header files.

2016-11-24      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  updated rules to build handbuilt modules to use
	  new path.  Attempt to build compiler using mc.
	* gm2/bnf/mc-3.bnf:  use putOptReturn rather than
	  putProcTypeOptReturn.
	* gm2/bnf/mc-4.bnf:  use putOptReturn rather than
	  putProcTypeOptReturn.
	* gm2/bnf/mc-5.bnf:  use putOptReturn rather than
	  putProcTypeOptReturn.
	* gm2/gm2-libs-ch/SysExceptions.c:  use header file gm2-libs-host.h.
	* gm2/gm2-libs-ch/dtoa.c:  use header file gm2-libs-host.h.
	* gm2/gm2-libs-ch/errno.c:  use header file gm2-libs-host.h.
	* gm2/gm2-libs-ch/ldtoa.c:  use header file gm2-libs-host.h.
	* gm2/gm2-libs-ch/termios.c:  use header file gm2-libs-host.h.
	* gm2/gm2-libs-ch/wrapc.c:  use header file gm2-libs-host.h.
	* gm2/gm2-libs/libc.def:  removed white space.
	* gm2/mc-boot/Gdecl.c:  rebuilt.
	* gm2/mc-boot/Gdecl.h:  rebuilt.
	* gm2/mc-boot/Gkeyc.c:  rebuilt.
	* gm2/mc-boot/Gkeyc.h:  rebuilt.
	* gm2/mc-boot/Gmcp3.c:  rebuilt.
	* gm2/mc-boot/GsymbolKey.c:  rebuilt.
	* gm2/mc-boot/Gwlists.c:  rebuilt.
	* gm2/mc-boot/Gwlists.h:  rebuilt.
	* gm2/mc/decl.def:  replace putProcTypeOptReturn with putReturnType.
	  New procedure putOptReturn.
	* gm2/mc/decl.mod:  implement putReturnType and putOptReturn.
          Fix bug in parameter declaration to use safe C names.
	  Also ensure that all variables are also safe from C names.
	* gm2/mc/keyc.def:  cnamen (New procedure function).  cp
	  (New procedure).
	* gm2/mc/keyc.mod:  implement cnamen (New procedure function).  cp
	  (New procedure).
	* gm2/mc/symbolKey.mod:  getSymKey returns NulKey if the tree is NIL.
	* gm2/mc/wlists.def:  replaceItemInList (New procedure).
	* gm2/mc/wlists.mod:  implement replaceItemInList.

2016-11-16      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  New rules (mc-clean-libs) (mc-test)
          and (mc-help).
	* gm2/mc/decl.mod:  doInc, doDec, doIncDecCP (New procedures)
          which fix the pointer arithmetic in INC/DEC for C++.
	* gm2/mc-boot:  regenerated.

2016-11-15      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  changes to mc rules so we use less
	  aggresive warning options for g++.
	* gm2/mc/decl.mod:  changes to the cpp backend to
	  implement casts.
	* gm2/mc-boot/GArgs.c:  regenerated.
	* gm2/mc-boot/GFIO.c:  regenerated.
	* gm2/mc-boot/Gdecl.c:  regenerated.

2016-11-11      Gaius Mulley <gaius@gnu.org>

	* updates for the shared library example pge.
	* gm2/examples/pge/Fractions.mod:  removed unnecessary spaces.
	* gm2/examples/pge/history.def:  major changes to history of collision.
	* gm2/examples/pge/history.mod:  major changes to history of collision.
	* gm2/examples/pge/roots.def:  new procedure function nearCoord.
	* gm2/examples/pge/roots.mod:  new procedure function nearCoord.
	* gm2/examples/pge/twoDsim.mod:  huge changes to include interpenetration
          testing.

2016-11-02      Gaius Mulley <gaius@gnu.org>

	* gm2/mc-boot/Gdecl.c:  regenerated.
	* gm2/mc/decl.mod:  generate a static_cast.  This fixes a
	  bug in the translation of Args.mod.

2016-11-01      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2linemap.h:  changed prototype of StartFile to
          use void * rather than char *.
	* gm2/m2.flex:  do not include p2c/p2c.h and m2linemap.h.

2016-10-20      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/MemStream.mod:  many changes and bug fixes to
	  shared library example.
	* gm2/examples/pge/MemStream.mod:  ditto.
	* gm2/examples/pge/NetworkOrder.mod:  ditto.
	* gm2/examples/pge/deviceIf.mod:  ditto.
	* gm2/examples/pge/examples/triangle.py:  ditto.
	* gm2/examples/pge/history.def:  ditto.
	* gm2/examples/pge/history.mod:  ditto.
	* gm2/examples/pge/pgeif.def:  ditto.
	* gm2/examples/pge/pgeif.mod:  ditto.
	* gm2/examples/pge/roots.def:  ditto.
	* gm2/examples/pge/roots.mod:  ditto.
	* gm2/examples/pge/twoDsim.def:  ditto.
	* gm2/examples/pge/twoDsim.mod:  ditto.
	* gm2/examples/pge/buffers.c:  ditto.
	* gm2/examples/pge/max2code.py:  fixed options.
	* gm2/examples/pge/mxmmaxima.py:  removed debugging trace.
	* gm2/examples/pge/mxmparser.py:  removed debugging trace.
	* gm2/examples/pge/mxmtree.py:  removed debugging trace.
	* gm2/examples/pge/pge.py:  huge number of changes.
	* gm2/examples/pge/pgeif.i:  changes to the python interface.
	* gm2/examples/pge/pgeplayback.py:  many bug fixes to allow
          single stepping.
	* gm2/examples/pge/pgepygame.py:  minor changes and removal
	  of spacing.

2016-10-03      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  instruct mc to generate g++ compilient C code.
	* gm2/gm2-gcc/m2treelib.def:  remove multiple definition of
          get_set_field_rhs and import ADDRESS.
	* gm2/gm2.texi:  trimmed spaces.
	* gm2/m2.flex:  use __attribute__((unused)) in init/finish
	functions.
	* gm2/mc-boot:  rebuilt.
	* gm2/mc/decl.mod:  handle C char.  Strings of 1 character
          are encoded as C strings and also C chars.  (checkPtr)
          New procedure function.  (doExprCastC)  New procedure
          function.  init/finish functions all use __attribute__((unused)).
          (outCP) removed.
	* gm2/mc/mcOptions.mod:  fixed bug by rearranging order of option
	  processing.

2016-09-20      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  removed all references to p2c.
          Use mc to build gm2 rather than p2c and replaced
          rules.  Also modified the list of the library modules
          required during bootstrapping gm2.  Many changes
	to all bootstrap rules.
	* gm2/gm2-libs-boot/SYSTEM.def:  removed file.
	* gm2/mc-boot/GAssertion.c:  rebuilt.
	* gm2/mc-boot/GDebug.c:  rebuilt.
	* gm2/mc-boot/GDynamicStrings.c:  rebuilt.
	* gm2/mc-boot/GDynamicStrings.c:  rebuilt.
	* gm2/mc-boot/GFIO.c:  rebuilt.
	* gm2/mc-boot/GFormatStrings.c:  rebuilt.
	* gm2/mc-boot/GIndexing.c:  rebuilt.
	* gm2/mc-boot/GNumberIO.c:  rebuilt.
	* gm2/mc-boot/GStdIO.c:  rebuilt.
	* gm2/mc-boot/Gdecl.c:  rebuilt.
	* gm2/mc-boot/Gkeyc.c:  rebuilt.
	* gm2/mc-boot/GmcComp.c:  rebuilt.
	* gm2/mc-boot/GmcError.c:  rebuilt.
	* gm2/mc-boot/GmcLexBuf.c:  rebuilt.
	* gm2/mc-boot/GmcMetaError.c:  rebuilt.
	* gm2/mc-boot/GmcPreprocess.c:  rebuilt.
	* gm2/mc-boot/GmcPrintf.c:  rebuilt.
	* gm2/mc-boot/GmcStack.c:  rebuilt.
	* gm2/mc-boot/GmcStream.c:  rebuilt.
	* gm2/mc-boot/Gmcp1.c:  rebuilt.
	* gm2/mc-boot/Gmcp2.c:  rebuilt.
	* gm2/mc-boot/Gmcp3.c:  rebuilt.
	* gm2/mc-boot/Gmcp4.c:  rebuilt.
	* gm2/mc-boot/Gmcp5.c:  rebuilt.
	* gm2/mc-boot/GnameKey.c:  rebuilt.
	* gm2/mc-boot/Gvarargs.c:  rebuilt.
	* gm2/mc/Indexing.mod:  added assert.
	* gm2/mc/decl.mod:  fixed bug to allow comparison
	  of proctypes.
	* gm2/mc/mcMetaError.mod:  fixed bug to allow nameless
	  symbols to unalter the error string.

2016-09-19      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  many new rules to deal with the
          bootstrapping of mc.
	* gm2/bnf/mc-3.bnf:  removed unnecessary imports.
	* gm2/bnf/mc-4.bnf:  implement NOT.
	* gm2/bnf/mc-5.bnf:  implement NOT and final body.

2016-09-05      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  removal of Indexing.mod from
          the list of library files as it is included in the
          project files.  Many new rules to build the bootstrap
          version of mc.
	* gm2/gm2-libs-ch/Selective.c:  tidied up spacing.
	* gm2/gm2-libs-ch/UnixArgs.c:  tidied up spacing.
	* gm2/gm2-libs-ch/wrapc.c:  tidied up spacing.
	* gm2/mc-boot/libc.c:  deleted file.
	* gm2/mc-boot/Glibc.c:  new file.
	* gm2/mc-boot/GSelective.c:  new file.
	* gm2/mc-boot/Gmcrts.c:  new file.

2016-09-03      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  tidied up spacing.
	* gm2/bnf/mc-1.bnf:  handle DEFINITION FOR "C".
	* gm2/mc/decl.def:  (putDefForC)  New procedure.
	* gm2/mc/decl.mod:  (putDefForC)  New procedure
          implemented.  (isDefForC)  New procedure function.
          (doIncludeC)  include mc-<module>.h for DEFINITION
          FOR "C".  Do not qualify names if they were defined
          in DEFINITION FOR "C" modules.  Also disable high
          parameter.  Disabled handling of DEFINITION FOR "C".
	* gm2/mc/keyc.mod:  added write, read, exit, abs,
	  optarg, div to the list of names to avoid.

2016-09-02      Gaius Mulley <gaius@gnu.org>

	* gm2/mc/decl.mod:  (out1) use safe type conversion
          from pointer into cardinal.  (gen) use safe type
          conversion from pointer into cardinal.
          (topologicallyOut) use populateTodo to ensure that
          all enumeration and constants are declared prior to
          the datatypes which depend upon them.  (dbgSubrange)
	  New procedure.

2016-08-31      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  extra space introduced.
	* gm2/mc/decl.mod:  detect cyclic dependancy problem and
          issue appropriate error message and abort translation.
	* gm2/Make-lang.in:  specific rule to build
          gm2/mc-boot/$(SRC_PREFIX)decl.c
	* gm2/mc/decl.mod:  (doEnumerationField) use doFQDNameC
          instead of doFQNameC.  (doRecordNameC) New procedure.
          (doTypeNameC) use doRecordNameC.  (doPrototypeC) only
	  generate the prototype if the	procedure is not exported.
          (runIncludeDefConstType)  New procedure.
          (foreachModuleDo)  New procedure.  (walkArray) also walk
          the subr field.  (runSimplifyTypes)  New procedure.
          (runPrototypeExported)  New procedure.  (runPrototypeDefC)
          New procedure.  (outImpC) rewritten to fix bugs if
	  getExtendedOpaque was used.

2016-08-27      Gaius Mulley <gaius@gnu.org>

	* gm2/mc/decl.mod:  add cname field to enumerationfield.
          (makeEnumerationField)  Initialise cname field.
          (getFQDstring)  New procedure function.
          (doEnumC) use doFQDNameC.  (doFQDNameC)  New procedure
          function.  (topologicallyOut)  add debugging information.
	  57 out of 58 mc modules translate.

2016-08-25      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/mc-3.bnf:  process enumeration types and fields
          (as per pass 2).
	* gm2/mc/decl.mod:  (getNextEnum) assert enumerationField
          or enumeration type is returned.  (doLiteralC) detect
          and handle octal integer literals.
          (isStatementSequenceEmpty)  New procedure function.
          (isSingleStatement) rewritten and bug fixed.
          (containsStatement)  New procedure function.
          (noElse)  handle dangling else.  Also ignore empty
          else statements.  (doNewC)  use ALLOCATE rather than
          malloc.  (doFreeC)  use DEALLOCATE rather than free.
          (needsCast)  returns FALSE if C base types are the same.
	* gm2/mc/keyc.def:  (useStorage)  New procedure function.
	* gm2/mc/keyc.mod:  (useStorage)  Implement new procedure
          function.  (checkStorage) New procedure.  (genDefs)
	  call checkStorage.

2016-08-23      Gaius Mulley <gaius@gnu.org>

	* gm2/el/g-mode.el:  updated dates and also introduced
          dialect comment after the module name.  Currently
          hard wired to (*!m2pim*).
	* gm2/mc/decl.def:  added dialect comment.
	* gm2/mc/decl.mod:  added dialect comment.  Fixed bug in
          case statements which use ranges.
          Self translation of 54 of the 58 modules occur.
	* gm2/mc/decl.mod:  introduce cnameT for declarations
          which might conflict with C keywords.  Currently only
	  record fields use cnames.  55 of the 58 module translate.

2016-08-19      Gaius Mulley <gaius@gnu.org>

	* gcc/gm2/Make-lang.in:  included mcStream.def and
          mcStream.mod to be compiled and linked to produce mc.
	* gm2/init/mcinit:  updated link and init list to include
          mcStream.
	* gm2/mc/decl.mod:  many, many bug fixes which now allow
	  self translation of 53 of the 58 modules.

2016-08-16      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added mcStream.def and mcStream.mod
	  to the build list for mc.

2016-08-16      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added wrapc.def pth.def COROUTINES.def
          Selective.def termios.def to be translated by mc as part
          of mc-autogen.  Added rules to translate iso libraries
	  from M2 to C using mc.
	* gm2/mc/decl.mod:  added halt node.  (doEscape) New procedure
          function.  (doStringC) add escape to the escape character if
          inside a string literal.  (addExported) corrected test prior
          to addToDo.  (includeDefVarProcedure)  include variables and
          types symbols if they are defined in definition modules.
          (doFuncUnbounded) include cast for parameter and use
          doFQNameC for the parameter name rather than call doExprC
          since doExprC will dereference a VAR paramater and we must
          pass it as declared.  (doAdrExprC)  New procedure function
          which is used to catch & (*p) and simply it to (p).  (doHalt)
	  New procedure.

2016-08-05      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  translate autogenerated modules without
	  the --extended-opaque option.
	* gm2/mc/decl.mod:  many changes which include the ability to
          visit all nodes and their dependents calling a call back
	  procedure.

2016-08-01      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  introduce rules to build new module keyc.
          New rules to attempt to build the C generated version of mc.
	* gm2/init/mcinit:  added keyc to the list of modules to be
          linked.
	* gm2/mc/decl.mod:  changed skipType to detect an opaque type
          and not skip to NIL if this is the case.  outNull, outTrue,
          outFalse, (New procedures).  doArrayC fixed bug in declaring
          static arrays.  doFuncUnbounded changed parameter names and
          fixed a static array being passed to an unbounded parameter.
          getNthParam (New procedure function).
	* gm2/mc/keyc.def:  New file.
	* gm2/mc/keyc.mod:  New file.

2016-07-25      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  removed SYSTEM.mod from the list of
	  modules to be converted by mc.
	* gm2/bnf/mc-3.bnf:  ConstExpression pushes a makeConstExp.
	* gm2/bnf/mc-4.bnf:  ConstExpression gets a constexp.
	  Reset constexp index for every new file.
          ConstSetOrQualidentOrFunction
          many asserts added and production statement order bug fixed.
          ConstActualParameters added assert.
	* gm2/bnf/mc-5.bnf:  implement LOOP END.  Fix bugs in the
	  construction of set values.
	* gm2/mc/decl.def:  makeExit, isExit, makeLoop, isLoop
	  (New procedure functions).
	* gm2/mc/decl.mod:  generate accurate error messages based
          on node declaration position.  Implement FLOAT and TRUNC.
          Fix MAX (enum) and MIN (enum).  Allow + to join two strings.
          Bugfix for pointer ref, deref combinations.  Fix type
          in makeArrayRef.  THROW implemented.  Fix string escape
          sequences.  Fix MAX/MIN (LONGINT/LONGCARD).  Fix ADR
          to spot & * cancel each other.  doExceptionC generate
	  line/file/column location from the node declaration.

2016-07-18      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/mc-5.bnf:  duplicate the with expression before
          calling makeCompenentRef.  SubPointer (New production).
          CaseStatement (New production).  Case (New production).
          CaseLabelList (New production).  CaseLabels
	  (New production).
	* gm2/mc/decl.def:  makePointerRef (New procedure
          function).  isPointerRef (New procedure function).
          getLastOp (New procedure function).
          makeCase (New procedure function).
          isCase (New procedure function).
          putCaseExpression (New procedure function).
          makeCaseLabelList (New procedure function).
          isCaseLabelList (New procedure function).
          makeCaseList (New procedure function).
          isCaseList (New procedure function).
          putCaseRange (New procedure function).
          makeRange (New procedure function).
          isRange (New procedure function).
          dupExpr (New procedure function).
	* gm2/mc/decl.mod:  implement above.
          Case statements implemented.  With statements bug fixed
          by duplicating the with expression.  pointerref
          introduced and componentref is replaced by pointerref
          if it is preceeded by a deref.  Polymorphic + - / * binary
	  operators are implemented.
	* gm2/mc/mcOptions.mod:  added case, array, return
	  option variables.

2016-07-13      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/mc-3.bnf:  ConstExpressionNop (New production).
          ConstFactor (use ConstSetOrQualidentOrFunction).
          ComponentElement (use ConstExpressionNop).
          ConstActualParameters (use ConstExpList).
          ConstExpList (use ConstExpressionNop).
          AlignmentExpression (use ConstExpressionNop).
          PragmaConstExpression (use ConstExpressionNop).
          AttributeExpression (use ConstExpressionNop).
          CaseLabels (use ConstExpressionNop).
          ForStatement (use ConstExpressionNop).
          Priority (use ConstExpressionNop).
	* gm2/bnf/mc-4.bnf:  ConstComponentValue (New production).
          ConstComponentElement (New production).
          ConstComponentValue (New production).
          ConstArraySetRecordValue (New production).
          ConstConstructor (New production).
          ConstActualParameters (New production).
          ConstExpList (New production).
          Constructor, ArraySetRecordValue, ComponentValue,
          ComponentElement (Productions now do nothing).
	* gm2/bnf/mc-5.bnf:  ConstExpressionNop (New production).
          ConstantDeclaration (use ConstExpressionNop).
          ConstExpression (use ConstExpressionNop).
          ConstComponentElement (new production).
          ConstArraySetRecordValue (new production).
          ConstConstructor (new production).
          ConstActualParameters (new production).
          ConstExpList (new production).
          AlignmentExpression (use ConstExpressionNop).
          SubrangeType (use ConstExpressionNop).
          AttributeExpression (use ConstExpressionNop).
          VarientCaseLabels (use ConstExpressionNop).
          VarIdent (use ConstExpressionNop).
          ComponentElement (new production).
          ComponentValue (new production).
          ArraySetRecordValue (new production).
          Constructor (new production).
          OptArg (new production).
          DefOptArg (new production).
          Priority (new production).
	* gm2/mc/decl.def:  makeSetValue (New procedure function).
          isSetValue (new procedure function).
          putSetValue (new procedure function).
          includeSetValue (new procedure function).
	* gm2/mc/decl.mod:  in (New node kind).
          setvalue (New node kind).
          makeSetValue (Implement procedure function).
          isSetValue (Implement procedure function).
          putSetValue (Implement procedure function).
          includeSetValue (Implement procedure function).
          isAnyType (New procedure function).
          makeCast (New procedure function).
          isUnary (New procedure function).
          isDeref (New procedure function).
          doSetExprType (New procedure function).
          getMaxMinType (New procedure function).
          doGetFuncType (New procedure function).
          getExprType (New procedure function).
          doGetLastOp (New procedure function).
          getLastOp (New procedure function).
          doComponentRefC (New procedure).
          doSetValueC (New procedure).
          doInC (New procedure).
          doNewC (completed).
          doDisposeC (completed).
          doAbsC (New procedure).
          doValC (New procedure).
          doMinC (New procedure).
          doMaxC (New procedure).

2016-07-06      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/mc-5.bnf:  ConstExpList introduce more asserts.
          ArrayExpList introduce more asserts.  ExpList introduce more asserts.
          Term, Factor generate an expression.  ExitStatement introduce
          an assert.  Statement allow empty statements to be produced.
	  StatementSequence introduce assert.
	* gm2/mc/decl.mod:  introduce ABS intrinsic.  isVarDecl,
          identListLen, isArrayRef, isZero, doArrayRef, doProcedure,
          doStringC, outCard, doSubtractC, checkDeclareUnboundedParamCopyC,
          checkUnboundedParamCopyC, doUnboundedParamCopyC,
          addVariablesTodo, addTypesTodo, simplifyVar, doWhileC, doFuncHighC,
          doMultiplyBySize, doTotype, doFuncUnbounded, doFuncParamC,
          getNthParamType, doAdrC, doIncDecC, doInclC, doExclC, doNewC,
          doDisposeC, isIntrinsic, doIntrinsicC, getFuncFromExpr,
          doFuncExprC, doLocalVarC, addParamDone, includeParameters
	  (New procedure).
	* gm2/mc/mcPretty.def:  getseekpos, getcurline (New procedure functions).
	* gm2/mc/mcPretty.mod:  getseekpos, getcurline (implemented).

2016-06-22      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/mc-3.bnf:  merged definition and module variable declaration
	  rules.  Always pop the return result from ConstExpression.
	* gm2/bnf/mc-4.bnf:  no longer declare variables in pass 4.
	* gm2/bnf/mc-5.bnf:  major changes which include generation of if/then/else/elsif
          for loops, while loops, repeat loops.  With statements handled.  Expressions are
          built and constant expressions retieved from a previous pass.  Debugging
	  aids also built.  Function/procedure call handled.  Return statement handled.
	* gm2/mc/decl.def:  New procedures: addOptParameter, isOptarg, makeComponentRef, makeDeRef,
          makeArrayRef, resetConstExpPos, makeStatementSequence, isStatementSequence,
          addStatement, makeReturn, isReturn, putReturn, makeWhile, putWhile,
          isWhile, makeAssignment, putBegin, makeExit, makeComment, makeIf,
          isIf, makeElsif, isElsif, putElse, makeFor, isFor, putFor, makeRepeat,
          isRepeat, putRepeat declared and exported.
	* gm2/mc/decl.mod:  new node types, exit, return, stmtseq, comment, new
          dispose, inc, dec, incl, excl, optarg, throw, deref added.
          New procedures:  isLocal, addProcedureToScope, addParameter, isOptarg,
          makeOptParameter, addOptParameter, makeFuncCall, isFuncCall, makeComponentRef,
          makeArrayRef, makeDeRef, makeBinaryTok, getFQstring, needsParen, doUnary,
          doUnary, doBinary, doBinary, doPreBinary, doPreBinary, doExprM2, doVar,
          doOptargC, doPrototypeC, doProcedureHeadingC, doPrototypeC,
          outDeclsDefC, outDeclsDefC, includeVar, joinProcedures, doStatementSequenceC,
          isSingleStatement, doCommentC, doExitC, doReturnC, doAssignmentC,
          doCompoundStmt, doElsifC, noElse, doIfC, doForC, doRepeatC,
          doFuncArgsC, doFuncCallC, doStatementsC, doLocalDeclsC, doProcedureC,
          outProceduresC, walkOptarg, outImpInitC, outModuleC, outModuleInitC,
          outModuleC, outC, dbgVar, dbgArray, makeStatementSequence,
          addStatement, isStatementSequence, makeReturn,
          isReturn, putReturn, makeWhile, putWhile,
          isWhile, makeAssignment, isAssignment, putBegin, makeExit,
          isExit, makeComment, isComment, makeIf, isIf, makeElsif,
          isElsif, putElse, makeFor, isFor, putFor, makeRepeat, isRepeat,
          putRepeat and makeM2rts added.
	* gm2/mc/mcComp.mod:  reintroduce pass 5.
	* gm2/mc/mcStack.def:  new procedure access declared.
	* gm2/mc/mcStack.mod:  new procedure access implemented.

2016-05-24      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/mc-3.bnf:  integer, real no longer push a value to the stack.
          call setConstExpComplete at the end of the pass.  Remove result of the
	  constexpression.   Add many asserts to aid debugging.
	* gm2/bnf/mc-4.bnf:  remove calls to setEnumsComplete.  Call fixupConstExp
	  in ConstExpression.  Call makeFuncCall in ConstSetOrQualident.
          Remove all type generation building.  Remove import handling.
	* gm2/bnf/mc-5.bnf:  remove all references to resetFuncFixup.
	  Remove call to applyFuncFixup.
	* gm2/gm2-libs/DynamicStrings.mod:  trip whitespace.
	* gm2/mc/alists.mod:  correct indentation.
	* gm2/mc/decl.def:  remove resetFuncFixup, replace it with makeExpList.
          remove makeFuncFixup and replace with isExpList.  Remove isFuncFixup
          and replace with putExpList.  Remove makeExpList and replace with
          makeConstExp.  Remove isExpList and replace it with getNextConstExp.
	  Remove putExpList and replace with setConstExpComplete.
          fixupConstExp (new procedure function).  Remove applyFuncFixup
	  and replace with makeFuncCall.
	* gm2/mc/decl.mod:  added funccall, constexp and chr to nodeK.
          Also modified all associated procedure functions.  Replaced
          funcFixup with constFixup.  Added constsComplete to definition,
          implementation and program modules.  Only generate #include
          if the getExtendedOpaque switch is not set.  Initialise ord, chr
	  and val as base procedure functions.
	* gm2/mc/mcComp.mod:  always invoke pass4, temporarily short circuit
	  pass 5.

2016-05-23      Gaius Mulley <gaius@gnu.org>

	* interim checkin:

2016-05-21      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/mc-2.bnf:  create enums for .mod files as well as .def files.
	* gm2/bnf/mc-3.bnf:  fixed bug, make empty varient leave the stack alone.
	* gm2/bnf/mc-4.bnf:  likewise applied to pass 4.  Create enums
          for .mod files.  DefQualident, DefTypeEquiv, DefEnumIdentList,
          DefEnumeration, DefSimpleType, new rules introduced and used.
	* gm2/examples/pge/twoDsim.mod:  right hand white space removed.
	* gm2/mc/decl.mod:  loc introduced.  Parameter building and
	variable shadowing introduced.
	* gm2/mc/mcComp.mod:  commented out p5.
	* gm2/mc/wlists.mod:  renamed maxNoOfElements and noOfElements.

2016-05-17      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/mc-5.bnf:  introduce func fixups.  Removed all
          constant expression procedures.  Removed all type
          generation procedures.  Removed all import processing
          as this should be done in previous passes.
	* gm2/mc/decl.def:  (resetFuncFixup) new procedure.
          (makeExpList) new procedure function.  (putExpList) new
          procedure.  (applyFuncFixup) new procedure.
	* gm2/mc/decl.mod:  (explist) new kind.  (resetFuncFixup)
	  implemented new procedure.
          (makeExpList) implemented new procedure function.
          (putExpList) implemented new procedure.
          (applyFuncFixup) implemented new procedure.

2016-05-16      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added mcp5.mod to be built and linked into mc.
          Removed SysExceptions from being built as part of the bootstrap
          for mc.  mc does not need it as SysExceptions is a gm2 runtime
          library.  Removed reference to m2flex.def in MC-DEFS.  Removed
          mcflex.mod from MC-MODS.
	* gm2/init/mcinit:  added mcp5 to be linked and initialised.
	* gm2/mc/README:  corrected the pass description, now that pass 3
          is used by .def and .mod files.  Thus there is no need for pass 6.
          Pass 5 functionality now contains the old pass 6 description.
	* gm2/mc/decl.mod:  new kind funcfixup to allow fixups to be applied
          between constant functions and their parameters (possibly types).
          (eg. MAX(typename)).  Created a fixupInfo record which is used by
          enum fixups and constant function fixups.
	* gm2/mc/mcComp.mod:  enable pass 5.
	* At this point mc should handle constants, all data types and
          generate a tree of nodes representing them.  All procedure prototypes
          are known.  All that is left to do is build a tree of nodes
          representing the code and then walk the tree generating
	  C11 or C++ code.

2016-05-11      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added rules to bootstrap mc mod files.
	* gm2/bnf/mc-3.bnf:  use Expression rather than ConstExpression in
          ComponentElement.
	* gm2/mc/decl.mod:  added mult, throw nodes.  Fixed ord to be a unary
          operator.  doSetC (New procedure).  includeSyms renamed includeConstType.
          includeVarProcedure (New procedure).  includeDefConstType (New procedure).
          Export size from SYSTEM.  Attempt to declare const/types before
          var/procedures.

2016-05-10      Gaius Mulley <gaius@gnu.org>

	* gm2/mc/decl.mod:  write and writeln call FlushBuffer
	  as a debugging aid.  tempName returns a String.
          makeIntermediateType new procedure function.
          simplifyType call tempName and makeIntermediateType.
          doSimplifyNode also simplifies pointer types.
          outDeclsDefC outputs constants, types and then variables.
          walkPointer returns completed if the type is partial or done.
          walkVarientField returns partial if field type is on the partialQ.
          tryPartial moves pointer types.
          outputPartial moves over pointer types and issues '*' accordingly.

2016-05-09      Gaius Mulley <gaius@gnu.org>

	* gm2/mc/decl.mod:  many changes and bug fixes.  Modula-2 output
	  of data structures implemented and pretty printing of M2, C
          data structures implemented.
	* gm2/mc/mcOptions.mod:  corrected --olang= processing.
	* gm2/mc/mcPretty.def:  pushPretty and popPretty
          (New procedure functions) defined.
	* gm2/mc/mcPretty.mod:  pushPretty and popPretty
          (New procedure functions) implemented.

2016-04-27      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  force the mc-boot rule.
	* gm2/bnf/mc-3.bnf:  many bug fixes and finished implementing
          record/varient record handling.
	* gm2/mc/decl.def:  add second parameter to
          buildVarientFieldRecord.
	* gm2/mc/decl.mod:  min, max new nodes.  makeArray skip type.
          buildVarientFieldRecord add second parameter and use it.
          Many features added and code added.
	* gm2/mc/mcOptions.mod:  new option --ignore-fq.
	* gm2/mc/mcStack.def:  depth (New procedure function).
	* gm2/mc/mcStack.mod:  implemented depth.

2016-04-23      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  rewrite of mc-autogen which currently tests
	  the translation of the library modules required by mc.
	* gm2/bnf/mc-1.bnf:  bug fix to allow procedures to be declared
	  in both definition and implementation modules.
	* gm2/bnf/mc-3.bnf:  interim change prior to fixing a bug in
          the varient record handling.

2016-04-21      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/mc-1.bnf:  distinguish between from module import and
          import module.  Call putTypeHidden for a hidden type.
	* gm2/bnf/mc-2.bnf:  distinguish between from module import and
          import module.  Follow scopes during procedures.  No longer
	  call registerImport.
	* gm2/bnf/mc-3.bnf:  remove registerImport.  Ensure that the
          definition module scope is visible below the implementation
          module.  Use Qualident rather than PushQualident for non
	  data structure based rules.
	* gm2/mc/decl.def:  hasHidden, foreachModModuleDo, paramEnter,
          paramLeave (new procedures).  addImportedModule changed to include
          and extra parameter.
	* gm2/mc/decl.mod:  added tsize node.  Many changes implementing
	  the above and bug fixing topological sort algorithm.
        * gm2/mc/mcComp.mod:  changes to allow --extended-opaque to take
          effect.  The implementation module for each definition module which
	  defines an opaque type will be parsed.
        * gm2/mc/mcOptions.def:  introduce --extended-opaque option.
	* gm2/mc/mcOptions.mod:  record --extended-opaque option.
	* gm2/Make-lang.in:  alter MCOPTIONS to include runtime checking.
	* gm2/gm2-libs/FormatStrings.mod:  implement %x as a format
          specifier.
	* gm2/gm2-libs/SFIO.mod:  WriteS check that s is not NIL.
	* gm2/mc/decl.mod:  topological sort bugfix.  Implemented
          data structure debugging which can be turned on via
          --debug-top.  Many bug fixes and tidying up.
	* gm2/mc/mcOptions.mod:  record --debug-top option.
	* gm2/mc/mcOptions.def:  getDebugTopological (new
          procedure function).
	* gm2/mc/decl.mod:  bug fix to allow proctypes and
	  parameters to be generated from partial declarations.a

2016-04-18      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  new rule mc-autogen.
	* gm2/bnf/mc-1.bnf:  fixed scope tracking for implementation module.
	  Use makeTypeImp during type declaration in implementation module.
	* gm2/bnf/mc-2.bnf:  fixed scope tracking for implementation module.
	* gm2/bnf/mc-3.bnf:  corrected grammar during type declaration.
	* gm2/mc/decl.def:   isVisited (new procedure function).  unsetVisited,
	  setVisited (new procedure).  makeTypeImp (new procedure function).
	* gm2/mc/decl.mod:  implement isVisited, unsetVisited, setVisited,
	  makeTypeImp.  Many bug fixes to topological output of declarations.
          All type declarations including recursive declarations are now
          implemented.
	* gm2/mc/mcComp.mod:  parse implementation module during pass 1
	  and pass 2.

2016-04-14      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  changed gm2-bootstrap test.
	* gm2/bnf/mc-1.bnf:  changed variable creation so that both
	def and mod declare variables.  Added epsilon instead of [].
	Added scope handling to procedures.  Allowed implementation and
	program modules to be passed.
	* gm2/bnf/mc-2.bnf:  Added epsilon instead of [].  Tidied up.
	* gm2/mc/decl.mod:  continued development and debugging.

2016-04-12      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added mc-4.bnf to be built.
	* gm2/bnf/mc-3.bnf:  bug fixes so that return results are recorded from procedure functions.
	* gm2/init/mcinit:  added mcp4.
	* gm2/mc/decl.mod:  more development.
	* gm2/mc/mcComp.mod:  include pass 4.

2016-04-11      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  new very simple rules for mc-devel and
          initial attempt at gm2-bootstrap using mc.
	* gm2/mc/decl.def:  implement variable declarations.
	* gm2/mc/decl.mod:  many changes to implement pass 3 and
	  the output of recursive data structures.
	* gm2/mc/mcError.def:  fixed parameter declarations so that they
	  match their implementation counterparts.
	* gm2/mc/mcError.mod:  consistant parameter declarations.
	* gm2/mc/mcLexBuf.def:  fixed parameter declarations so that they
	  match their implementation counterparts.
	* gm2/mc/mcMetaError.def:  fixed parameter declarations so that
          they match their implementation counterparts.
	* gm2/mc/mcPreprocess.mod:  use alists rather than lists.
	* gm2/mc/mcSearch.def:  consistant parameter declarations.
	* gm2/mc/mcSearch.mod:  consistant parameter declarations.
	* gm2/mc/nameKey.def:  consistant parameter declarations.
	* gm2/bnf/mc-3.bnf:  fix variable declarations in definition modules.
	* gm2/mc/mc.flex:  correct prototype.

2016-03-14      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/mc-1.bnf:  new file.
	* gm2/bnf/mc-2.bnf:  new file.
	* gm2/bnf/mc-3.bnf:  new file.
	* gm2/gm2-gcc/gcc-consolidation.h:  new file.
	* gm2/mc/Indexing.def:  new file.
	* gm2/mc/Indexing.mod:  new file.
	* gm2/mc/README:  new file.
	* gm2/mc/alists.def:  new file.
	* gm2/mc/alists.mod:  new file.
	* gm2/mc/decl.def:  new file.
	* gm2/mc/decl.mod:  new file.
	* gm2/mc/decl.mod-extra:  new file.
	* gm2/mc/lists.def:  new file.
	* gm2/mc/lists.mod:  new file.
	* gm2/mc/m2flex.def:  new file.
	* gm2/mc/mc.flex:  new file.
	* gm2/mc/mcComp.def:  new file.
	* gm2/mc/mcComp.mod:  new file.
	* gm2/mc/mcDebug.def:  new file.
	* gm2/mc/mcDebug.mod:  new file.
	* gm2/mc/mcError.def:  new file.
	* gm2/mc/mcError.mod:  new file.
	* gm2/mc/mcFileName.def:  new file.
	* gm2/mc/mcFileName.mod:  new file.
	* gm2/mc/mcLexBuf.def:  new file.
	* gm2/mc/mcLexBuf.h:  new file.
	* gm2/mc/mcLexBuf.mod:  new file.
	* gm2/mc/mcMetaError.def:  new file.
	* gm2/mc/mcMetaError.mod:  new file.
	* gm2/mc/mcOptions.def:  new file.
	* gm2/mc/mcOptions.mod:  new file.
	* gm2/mc/mcPreprocess.def:  new file.
	* gm2/mc/mcPreprocess.mod:  new file.
	* gm2/mc/mcPrintf.def:  new file.
	* gm2/mc/mcPrintf.mod:  new file.
	* gm2/mc/mcQuiet.def:  new file.
	* gm2/mc/mcQuiet.mod:  new file.
	* gm2/mc/mcReserved.def:  new file.
	* gm2/mc/mcReserved.h:  new file.
	* gm2/mc/mcReserved.mod:  new file.
	* gm2/mc/mcSearch.def:  new file.
	* gm2/mc/mcSearch.mod:  new file.
	* gm2/mc/mcStack.def:  new file.
	* gm2/mc/mcStack.mod:  new file.
	* gm2/mc/mcflex.def:  new file.
	* gm2/mc/mcp1.def:  new file.
	* gm2/mc/mcp2.def:  new file.
	* gm2/mc/mcp3.def:  new file.
	* gm2/mc/nameKey.def:  new file.
	* gm2/mc/nameKey.mod:  new file.
	* gm2/mc/symbolKey.def:  new file.
	* gm2/mc/symbolKey.mod:  new file.
	* gm2/mc/top.mod:  new file.
	* gm2/mc/varargs.def:  new file.
	* gm2/mc/varargs.mod:  new file.
	* gm2/mc/wlists.def:  new file.
	* gm2/mc/wlists.mod:  new file.
	* gm2/Make-lang.in:  generate cpp version stub.  Use $(COMPILER)
          rather than $(CC).  Removed all trailing whitespace.  Added
          rules for building mc.
	* gm2/configure.in:  corrected test (=) rather than (==).
	* gm2/configure:  rebuilt.
	* gm2/gm2-compiler/M2Comp.mod:  updated dates and removed trailing
          white space.
	* gm2/gm2-compiler/M2Error.mod:  updated dates and removed trailing
          white space.
	* gm2/gm2-compiler/M2LexBuf.mod:  corrected spacing at the end of
          a comment.
	* gm2/gm2-compiler/NameKey.mod:  corrected spacing at the end of
          a comment.
	* gm2/gm2-gcc/m2assert.c:  use #include "gcc-consolidation.h" to
          hold all gcc related header files.
	* gm2/gm2-gcc/m2block.c:  use #include "gcc-consolidation.h" to
          hold all gcc related header files.  Change binding level code
          from C to C++.
	* gm2/gm2-gcc/m2builtins.c:  use #include "gcc-consolidation.h" to
          hold all gcc related header files.
	* gm2/gm2-gcc/m2convert.c:  use #include "gcc-consolidation.h" to
          hold all gcc related header files.  Many changes to bring it
          up to gcc-5.2.0.
	* gm2/gm2-gcc/m2decl.c:  use #include "gcc-consolidation.h" to
          hold all gcc related header files.
	* gm2/gm2-gcc/m2except.c:  use #include "gcc-consolidation.h" to
          hold all gcc related header files.  Minor changes to bring it into
	  line with gcc-5.2.0.
        * gm2/gm2-gcc/m2expr.c:  use #include "gcc-consolidation.h" to
          hold all gcc related header files.  Minor changes to bring it into
          line with gcc-5.2.0.
	* gm2/gm2-gcc/m2linemap.c:  use #include "gcc-consolidation.h" to
          hold all gcc related header files.
	* gm2/gm2-gcc/m2misc.c:  use #include "gcc-consolidation.h" to
          hold all gcc related header files.
	* gm2/gm2-gcc/m2statement.c:  use #include "gcc-consolidation.h" to
          hold all gcc related header files.  C++ changes in gimplifiation
          of nested procedure functions.
	* gm2/gm2-gcc/m2top.c:  use #include "gcc-consolidation.h" to
          hold all gcc related header files.
	* gm2/gm2-gcc/m2tree.c:  use #include "gcc-consolidation.h" to
          hold all gcc related header files.
	* gm2/gm2-gcc/m2treelib.c:  use #include "gcc-consolidation.h" to
          hold all gcc related header files.  Many changes to convert C to C++
          and statement related data structure and methods have changed.
	* gm2/gm2-gcc/m2type.c:  use #include "gcc-consolidation.h" to
          hold all gcc related header files.  Many changes to convert C to C++
          and statement related data structure and methods have changed.
	* gm2/gm2-lang.c:  Many changes to convert C to C++
          and statement related data structure and methods have changed.
          Many changes to bring code into gcc-5.2.0.
	* gm2/gm2-lang.h:  changes to bring code into gcc-5.2.0.
	* gm2/gm2-libs/DynamicStrings.def:  additional dates.
	* gm2/gm2-libs/DynamicStrings.mod:  define desState and use it in
          descriptor.
	* gm2/gm2-libs/Indexing.def:  new procedure (DeleteIndice).
	* gm2/gm2-libs/Indexing.mod:  new field Used.  New procedure
          (DeleteIndice).
	* gm2/gm2-libs/SYSTEM.def:  additional dates.
	* gm2/gm2-libs/TimeString.def:  removed trailing white space.
	* gm2/gm2spec.c:  extra parameter to fe_save_switch  (used).
	* gm2/gm2version.h:  simplified conditional compilation.
	* gm2/lang.opt:  made options complient with gcc-5.2.0.
	* gm2/m2.flex:  use gm2-gcc/gcc-consolidation.h.  Fix int/unsigned int
          and cast of strings so that g++ will compile flex
	  generated output file.
	* gm2/m2pp.c:  use gm2-gcc/gcc-consolidation.h rather than
	  a list of include files.  Changed to make it gcc-5.2.0 complient.
	* gm2/tools-src/makeversion:  generate C++ gm2_version function if
	  the new option, -p, is used.  -p new option implemented.
	* gm2/tools-src/mklink.c:  fix typo.
	* testsuite/gm2/pim/pass/enum.mod:  new test code.

2016-03-03      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  checkRecordTypes new procedure
	function.  checkBecomes new procedure function.  CodeBecomes
	use checkBecomes.  This fixes a bug reported by
        <Georg.Lokowandt@t-online.de> (bug6.mod).

2016-02-25      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/gravity/Makefile.in:  fixed linewrap in
	  libtwoDsim.la.

2016-02-22      Gaius Mulley <gaius@gnu.org>

	* gm2/configure:  rebuilt.
	* gm2/configure.in:  version number change to 1.1.6.
	* gm2/gm2-libs/config-host.in:  version number change to 1.1.6.
	* gm2/gm2-libs/config-target.in:  version number change to 1.1.6.
	* gm2/version.c:  version number change to 1.1.6.

2016-02-19      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  CheckConvertCoerceParameter
          checks to see if an actual parameter is a constant string
          and if so calls BuildConvert.  This fixes a bug reported by
	  <Georg.Lokowandt@t-online.de> (bug5.mod).

2016-01-26      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/gravity/Makefile.in:  introduced LIBDIR which is
	  set dynamically to reflect the host architecture.

2016-01-19      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/gravity/Makefile.in:  rewritten to use libtool
	  when generating the shared library.

2016-01-14      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/gravity/Makefile.in:  converting Makefile.in
	to use libtool.
	* gm2/examples/gravity/twoDsim.mod:  removed tabs.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  removed tabs.
	* gm2/gm2-gcc/m2decl.c:  set DECL_ARTIFICIAL and
          DECL_IGNORED_P for temporary variables.  (do_min_tree)
          (do_max_tree) new functions which are called by GetMinFrom
          and GetMaxFrom respectively.  This fixes a bug reported by
	  Michael Riedl.

2015-11-30      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/gravity/twoDsim.mod:  fixed syntax error.
	* gm2/examples/pge/bounce3.mod:  use groff device.
	* gm2/examples/pge/bounce4.mod:  use groff device.
	* gm2/examples/pge/slope.mod:  use groff device.
	* gm2/examples/pge/stairs.mod:  use groff device and increase
          simulated time.
	* gm2/gm2-compiler/ppg.mod:  removed white space and fixed
          bug with emitting source line preprocessor symbols.
	* gm2/m2.flex:  fixed floating point constant bug reported
          by Michael Riedl (to allow 1.E10 etc).
	* testsuite/gm2/iso/constreal.mod:  new file.
	* gm2/el/g-mode.el:  fixed comment spacing at end of sentance
          in the automatically generated header and updated the dates.

2015-10-07      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/twoDsim.mod:  tided up debugging.
	* gm2/examples/pge/elc2.mod:  New file.
	* gm2/examples/pge/rboxes.mod:  New file.

2015-10-06      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/Makefile.in:  build rotating-circles.m.
	* gm2/examples/pge/mxmparser.py:  formatting change.
	* gm2/examples/pge/mxmtree.py:  add terms and call pent, hex,
	  sept, oct for powers 5..8.
	* gm2/examples/pge/roots.def:  findOctic new procedure function.
	* gm2/examples/pge/roots.mod:  findOctic new procedure function
	  wrapper implemented.
	* gm2/examples/pge/rotating-circles.mxm:  corrected terms and
	  renamed some of the variables.
	* gm2/examples/pge/rotating-line.mxm:  tidied up comments.
	* gm2/examples/pge/twoDsim.mod:  new procedure functions,
	  pent, hex, sept, oct.  New procedure getObjectOrbitingValues.
	  New procedure maximaCircleCollisionOrbiting.  New procedure
	  function earlierCircleCollisionOrbiting.  New procedure
	  findCollisionCircleLineOrbiting.  Removed
	  findCollisionCircleRLine.  findCollisionCirclePolygon call
	  appropriate routine depending upon whether the polygon is
	  orbiting.  New procedure function, isOrbiting.
	  findCollisionLineLine call appropriate routine depending
	  upon whether polygon is orbiting.  New procedure
	  findCollisionLineLineOrbiting.

2015-10-05      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/Makefile.in:  added new rule for elc2.mod
	* gm2/examples/pge/coord.mod:  tidied up formatting.
	* gm2/examples/pge/twoDsim.mod:  added Elasticity constant,
	  angularMomentum for objects.  New procedure function (reflect).
          collidePolygonAgainstMovingPolygon (rewritten).
	  Interim checkin.

2015-09-28      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/Makefile.in:  new example circle added.
	* gm2/examples/pge/coord.def:  new procedure function
	  perpendicular.
	* gm2/examples/pge/coord.mod:  implemented new procedure
	  function perpendicular.
	* gm2/examples/pge/polar.mod:  cosmetic spaces added.
	* gm2/examples/pge/popWorld.mod:  cosmetic spaces added.
	* gm2/examples/pge/twoDsim.mod:  many cosmetic changes
	  and also more explicit parameters which determine if
	  edge or corner was in collision.  First cut of the polygon
	  collision reaction implemented.
	* gm2/gm2.texi:  removed duplication switch.
	* gm2/gm2-gcc/m2linemap.c:  use xstrdup to preserve filename
	  from being garbage collected.  This fixes a critical bug
	  in the debugging output of large source files when -fcpp
	  was used.

2015-09-14      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/Makefile.in:  add boxes.raw and removed
	  dependancy output.raw from playback.
	* gm2/examples/pge/bounce.mod:  remove rotate.
	* gm2/examples/pge/boxes.mod:  changed output device.
	* gm2/examples/pge/examples/exampleBoxes.py:  changed sound
	  file examples.  Changed crate example.
	* gm2/examples/pge/pge.py:  added poly3 method.
	* gm2/examples/pge/pgeif.mod:  check_range attempts to prevent
	  round off errors and changed to provide a better descriptive
	  error message.
	* gm2/examples/pge/pgeplayback.py:  changes to allow generation
	  of a movie with appropriate sounds effects.
	* gm2/examples/pge/polar.def:  new procedure function rotatePolar.
	* gm2/examples/pge/polar.mod:  implement new procedure function
	  rotatePolar.
	* gm2/examples/pge/twoDsim.def:  define new procedure function
	  rvel.
	* gm2/examples/pge/twoDsim.mod:  major changes to the definition
	  of the polygon data structures, now use a c of g and polar
	  coordinates to describe polygon.  Removed rpolygon.

2015-09-09      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/examples/exampleBoxes.py:  interim checkin.
	* gm2/examples/pge/pge.py:  get_xvel, get_yvel, get_xaccel,
	  get_yaccel, process_event new methods.
	* gm2/examples/pge/pgeif.def:  get_xvel, get_yvel, get_xaccel,
	  get_yaccel (New procedure functions).
	* gm2/examples/pge/pgeif.i:  get_xvel, get_yvel, get_xaccel,
	  get_yaccel (New functions).
	* gm2/examples/pge/pgeif.mod:  get_xvel, get_yvel, get_xaccel,
	  get_yaccel (Implement new procedure functions).
	* gm2/examples/pge/pgeplayback.py:  added -V option, added -o
	  option.  Added ability to create a movie with sound effects
	  using sox and mencoder.
	* gm2/examples/pge/twoDsim.def:  get_xvel, get_yvel, get_xaccel,
	  get_yaccel (New procedure functions).
	* gm2/examples/pge/twoDsim.mod:  get_xvel, get_yvel, get_xaccel,
	  get_yaccel (Implement new procedure functions).

2015-09-04      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/Makefile.in:  added -I to link rule.
	* gm2/examples/pge/mxmmaxima.py:  corrected unary -, + handling.
	* gm2/examples/pge/mxmtree.py:  corrected output and fixed bug
	  with class field.
	* gm2/examples/pge/rotating-circles.mxm:  removed quit command.
	* gm2/examples/pge/rotating-line.mxm:  removed equality and quit
	  command.
	* gm2/examples/pge/twoDsim.mod:  introduced comment for
	  getPolygonPoint.
	* gm2/www/tools/texi2tr/html/download.html:  updated download version.
	* gm2/www/tools/texi2tr/html/release.html:  updated stable release
          version.

2015-09-03      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  fixed dates and gcc version number (4.7.4).
	* gm2/Makefile.in:  fixed dates.
	* gm2/c.flex:  fixed dates.
	* gm2/configure.in;  fixed dates and version number.
	* gm2/examples/pge/Makefile.in:  fixed compile rule to include machine
	  generated source.
	* gm2/examples/pge/circles.mxm:  simplified equation.
	* gm2/examples/pge/mxmmaxima.py:  many interim bug fixes.
	* gm2/examples/pge/mxmparser.py:  many interim bug fixes.
	* gm2/examples/pge/mxmtree.py:  many interim bug fixes.
	* gm2/examples/pge/twoDsim.mod:  improved debugging asserts
	  and include machine generated source, compare results of both.
	* gm2/gm2-lang.c:  handle -I option inside cpp args.
	* gm2/m2.flex:  corrected dates.
	* gm2/gm2-compiler/M2Preprocess.mod:  removed unnecessary printf
	  and corrected dates.
	* released GM2 1.1.5
	* gm2/gm2.texi:  updated release map.
	* gm2/version.c:  1.1.5.
	* gm2/configure.in;  1.1.5.
	* gm2/gm2-libs/config-host.in:  1.1.5.
	* gm2/gm2-libs/config-target.in:  1.1.5.
	* gm2/gm2-libs/config-host:  rebuilt.
	* gm2/gm2-libs/config-target:  rebuilt.

2015-08-24      Gaius Mulley <gaius@gnu.org>

	* 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.

2015-08-18      Gaius Mulley <gaius@gnu.org>

	* 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.

2015-08-14      Gaius Mulley <gaius@gnu.org>

	* 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.

2015-08-11      Gaius Mulley <gaius@gnu.org>

	* 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).

2015-08-05      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/Makefile.in:  new rule for playback and output.raw.
	* the following changes fix bugs in packed enumeration types.  Test code
	  is given in the regression testsuite.
	* gm2/extensions/run/pass/packedrecord.mod:  new file.
	* gm2/extensions/run/pass/packedrecord2.mod:  new file.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  change call to BuildEndEnumeration
	  to pass three parameters.
	* gm2/gm2-gcc/m2type.c:  noBitsRequired bug fixed for the case where
	  values is a power of two.  gm2_finish_enum introduce extra parameter
	  location so that we can generate a call to m2type_BuildSmallestTypeRange
	  if the enumeration is packed.  m2type_BuildEndEnumeration change call
	  to gm2_finish_enum to include extra parameter.
	* gm2/gm2-gcc/m2type.def:  change definition of BuildEndEnumeration.
	* gm2/gm2-gcc/m2type.h:  change prototype of BuildEndEnumeration.

2015-07-01      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2convert.c:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	  converting_ISO_generic (New procedure function).
	  const_to_ISO_type (New procedure function).
	  ConvertConstantAndCheck call const_to_ISO_type.
	  GenericToType (New procedure function).
	  These changes allow for much improved location references inside
	  type conversions and expressions.  They also implement ISO WORD
	  assignment from a constant integer or constant cardinal.
	* gm2/gm2-compiler/M2ALU.mod:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-compiler/M2GenGCC.mod:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-compiler/M2Range.mod:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-gcc/m2convert.def:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-gcc/m2convert.h:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-gcc/m2decl.def:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-gcc/m2decl.h:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-gcc/m2except.c:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-gcc/m2expr.c:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-gcc/m2expr.def:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-gcc/m2expr.h:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-gcc/m2statement.c:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-gcc/m2treelib.c:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-gcc/m2type.c:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-gcc/m2type.def:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-gcc/m2type.h:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.
	* gm2/gm2-lang.c:  change all calls to BuildConvert,
	  GetIntegerOne, GetIntegerZero, GetWordOne, GetWordZero, GetCardinalOne,
	  GetCardinalZero to have an extra location parameter.

2015-06-26      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  ConvertTo (New procedure function).
	  ConvertRHS (New procedure function).  IsWord (New procedure function).
	  CodeConvert changed names of pararmeters and introduced call to
	  ConvertRHS.  CodeXIndr changed names of pararmeters and introduced
	  call to ConvertRHS.  This allows ISO WORD (an array of bytes) to
	  be converted into CARDINAL.
	* gm2/gm2-gcc/m2block.c:  allow multiple calls to pushGlobalScope
	  and multiple calls to popGlobalScope.
	* gm2-gcc/m2convert.c:  check for FUNCTION_DECL in value and if so
	  use its address.
	* gm2/gm2.texi:  updated web pages in light of the unordered list
	  now implemented correctly in the python translation tool.
	  Removed many old news entries.
	* gm2/www/tools/texi2tr/src/outputdev.py:  implement unordered list.
	* gm2/www/tools/texi2tr/src/texi2tr.py:  check for 'itemize' and
	  'enumerate'
	* testsuite/lib/gm2.exp:  corrected LD_LIBRARY_PATH calculation
	  by testing each library in turn.
	* gm2/gm2-compiler/M2GenGCC.mod:  corrected type for rhs.

2015-05-30      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added rule to detect HAVE_STPCPY in configure output.
	* gm2/configure.in:  check for function stpcpy.
	* gm2/gm2-libs/config-target:  rebuilt.
	* gm2/gm2-libs/config-host:  rebuilt.
	* gm2/gm2-libs/config-host.in:  added check for stpcpy.
	* gm2/gm2config.h.in:  added check for stpcpy.
	* testsuite/gm2/isolib/run/pass/testio2.mod:  added debugging printf.
	* gm2/gm2-libs-iso/TextIO.mod:  fixed bug in ReadToken so that the token
	  terminates with a white space or null.
	* gm2/Make-lang.in:  added dynamic test to check for HAVE_STPCPY.
	* gm2/gm2-libs/gm2-libs-host.h.in:  added check for stpcpy.

2015-05-29      Gaius Mulley <gaius@gnu.org>

	* Solaris build fixes.
	* gm2/Make-lang.in:  added place holder for the stpcpy rule.
	  Added --lib $(STPCPY) to $(M2LINK) so that the Solaris 10 build
	  succeeds.
  	* gm2/gm2-libs-ch/wrapc.c:  added #if defined()
	  to check for the presence of SIGNBIT, SIGNBITL and SIGNBITF.
  	* gm2/gm2-libs/config-host:  rebuilt.
  	* gm2/gm2-libs/config-host.in:  added checks for SIGNBIT, SIGNBITL
	  and SIGNBITF against libm.
  	* gm2/gm2-libs/config-target:  rebuilt.
  	* gm2/gm2-libs/config-target.in:  added checks for SIGNBIT, SIGNBITL
	  and SIGNBITF against libm.
  	* gm2/gm2spec.c:  fixed many const char issues so that it can be built
	  with g++.
	* gm2/config.h.in:  added #undefs for SIGNBIT, SIGNBITL and SIGNBITF.
	* gm2/configure:  rebuilt.
	* gm2/configure.ac:  added checks for SIGNBIT, SIGNBITL
	  and SIGNBITF against libm.
	* gm2/libpim/dtoa.c:  added conditional compilation tests for
	  HAVE_ERRNO_H.
	* gm2/libpim/ldtoa.c:  added conditional compilation tests for
	  HAVE_ERRNO_H.
	* gm2/libpim/wrapc.c:  added conditional compilation tests for
	  SIGNBIT, SIGNBITL and SIGNBITF.

2015-05-29      Gaius Mulley <gaius@gnu.org>

	* Linking fixes (-v).
	* This fixes a bug reported by Christoph Schlegel and many others.
	* Linking would fail when -v was present on the command line.
	* gm2/gm2-compiler/M2Options.def:  new parameter to DisplayVersion
	  (mustExit).  Necessary to ensure the -v works in the linking phase.
  	* gm2/gm2-compiler/M2Options.mod:  implement the new parameter
	  to DisplayVersion (mustExit).
  	* gm2/gm2-gcc/m2options.h:  update the prototype for DisplayVersion.
	  This occurred because -v was rewritten to --version by gm2spec.c
	  and --version called exit.
  	* gm2/gm2-lang.c:  call DisplayVersion but request it does not
	  exit.
	* gm2/gm2spec.c:  pass TRUE when handling -fgm2-version (to force
	  an exit).  Pass FALSE when handling --version to suppress the
	  exit.
  	* gm2/gm2version.h:  updated the prototype for gm2_version.

2015-05-29      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/TextIO.mod:  new procedure SkipSpaces.
	  ReadToken calls SkipSpaces, this fixes a bug reported by:
  	  (D.E.Evans <sinuhe@gnu.org>).

  	* gm2/lang-specs.h:  fixed dates and tidied up the spec code so
	  that many rules are broken down into obvious stages with
	  inputs and outputs.
  	* gm2/tools-src/makeversion:  changed to reflect the new gm2_version
	  which has a parameter, mustExit.

2015-05-04      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge:  more interim checkins.
	* gm2/gm2-compiler/M2Batch.def:  IsModuleSeen (New procedure
	  function).
	* gm2/gm2-compiler/M2Batch.mod:  IsModuleSeen (New procedure
	  function) implemented.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  TryFindSymbol
	  (New procedure function).  Used to aid internal debugging.
	* gm2/gm2-libs-iso/IOLink.mod:  fixed bug between dids and cid
	  checking.  Check did against dids and cid against did^.cids.
	* gm2/gm2-libs-iso/ProgramArgs.mod:  fixed bug reported by
	  (D.E.Evans <sinuhe@gnu.org>).

2015-04-27      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/MemStream.mod:  removed debugging printf.
	* gm2/examples/pge:  more changes.

2015-04-23      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  add $(TIMEVAR_H) to all m2.flex
	  dependant rules.
	* gm2/examples/pge:  more changes.

2015-04-21      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/examples:  another interim checkin.
          (More debugging statements added and internal checking).
	* gm2/gm2-libs-iso/RawIO.mod:  (Read) call FlushOutErr.
	* gm2/gm2-libs-iso/TextIO.mod:  (Read) call FlushOutErr.
	* gm2/gm2-libs/FIO.def:  export FlushOutErr.
	* This fixes a bug reported by Steve Giess, which allows
	  iso and pim libraries to be mixed.  It also fixes
	  the interactive behaviour of the iso libraries so that
	  output is flushed before data is read.

2015-04-15      Gaius Mulley <gaius@gnu.org>

	* released GM2 1.1.3
	* gm2/gm2-libs/config-host:  rebuilt.
	* gm2/gm2-libs/config-host.in:  1.1.3.
	* gm2/gm2-libs/config-target:  rebuilt.
	* gm2/gm2-libs/config-target.in:  1.1.3.
	* gm2/gm2.texi:  updated release map.
	* gm2/version.c:  1.1.3.
	* gm2/examples/pge/examples:  improved debugging log messages.

2015-04-09      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  changed path to gnu.eps to contain
	  $(objdir).
	* gm2/examples/pge/examples/exampleBoxes.py:  more intermin
	  changes.
	* gm2/examples/pge/pge.py:  more intermin changes.
	* gm2/examples/pge/pgeplayback.py:  more intermin changes.
	* gm2/examples/pge/twoDsim.mod:  more intermin changes.

2015-04-02      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/ConvStringLong.mod:  check to see if the
	  conversion generates a NAN and return accordingly.
	* gm2/gm2-libs-iso/ConvStringReal.mod:  check to see if the
	  conversion generates a NAN and return accordingly.
	  This fixes a bug reported by:  Michael Riedl.

2015-04-01      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge:  many bugfixes to the shared library example.
	* gm2/gm2-compiler/M2GenGCC.mod:  FoldConvert use PopKindTree.
          PopKindTree new procedure function.  This fixes a bug reported
	  by:  Michael Riedl.  (see
	  http://lists.nongnu.org/archive/html/gm2/2015-02/msg00006.html).

2015-03-28      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge:  many bugfixes to the shared library example.

2015-03-16      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge:  many more improvements to pgeplayback.py
	  and twoDsim.mod.

2015-03-15      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge:  more changes to the shared library example.
	* gm2/gm2-libs/gdbif.mod:  New file.
	* gm2/gm2-libs/gdbif.def:  New file.

2015-02-25      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge:  huge amount of changes to expose the frame
	  buffer to python/pygame.

2015-02-19      Gaius Mulley <gaius@gnu.org>

	* libgm2/libiso/Makefile.in:  added MemStream.def and MemStream.mod
	  in list of modules to be built and installed.
	* gm2/gm2-libs-iso/MemStream.def:  New file.
	* gm2/gm2-libs-iso/MemStream.mod:  New file.

2015-02-17      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/Storage.mod:  fixed bug reported by
          reported by Michael Riedl <udo-michael.riedl@t-online.de>.
	  DEALLOCATE should assign the pointer to NIL.

2015-02-11      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/pge.py:  tidied up formatting.
	* gm2/gm2-compiler/M2GenGCC.mod:  CanConvert (New procedure function).
	  CodeCast checks to see if non same sized types can be converted
	  and generates an error message if they cannot.
	* gm2/gm2.texi:  corrected documentation to use libtool when building
	  shared libraries.  Updated references to jessie, rather than wheezy.
	  Updated gcc graft to 4.7.4.
	* gm2/www/tools/texi2tr/html/download.html:  update to stable release
	  gm2-1.1.1.
	* gm2/www/tools/texi2tr/html/release.html:  update to stable release
	  gm2-1.1.1.
	* testsuite/gm2/iso/pass/realbitscast.mod:  simplified test code.

2015-01-26      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Quads.mod:  MakeLengthConst new procedure
	  function.   BuildLengthFunction use MakeLengthConst.
	  AssignHighField check for conststring and call MakeLengthConst.
	  This fixes a bug reported below.
	* testsuite/gm2/pim/run/pass/bytearray.mod:  new test code to
	  detect bug reported by Michael Riedl <udo-michael.riedl@t-online.de>.
	* gm2/gm2-compiler/M2DriverOptions.mod:  add char to the import
	  list.
	* gm2/gm2-compiler/M2Options.mod:  add string to the import list.

2015-01-13      Gaius Mulley <gaius@gnu.org>

	* Fixed bug reported by Peter Fletcher.
	* gm2/bnf/gm2l.bnf:  handle '-v' options and remember cpp options.
	* gm2/gm2-compiler/M2DriverOptions.mod:  remember cpp options.
	* gm2/gm2-compiler/M2Options.def:  SetVerbose new procedure function.
	  CppRemember new procedure.
	* gm2/gm2-compiler/M2Options.mod:  implement SetVerbose
	  procedure function and CppRemember.
	* gm2/www/tools/texi2tr/html/download.html:  updated to include
	  download reference to 4.7.x series of gcc.
	* gm2 now builds when grafted onto 4.7.4.

2015-01-04      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/Fractions.mod:  removed unnecessary local
	 variable.
	* gm2/examples/pge/Makefile.in:  added extra sources and added
	  libraries.  Added local directory to the PYTHONPATH.
	* gm2/examples/pge/pge.py:  many bugfixes and self checking code
	  added.
	* gm2/examples/pge/pgeif.mod:  initialise deviceIf.
	* gm2/gm2-libs-iso/LowLong.mod:  correct prototype for huge_val.
	* gm2/gm2-libs-iso/LowReal.mod:  correct prototype for huge_val.
	* gm2/gm2-libs-iso/LowShort.mod:  correct prototype for huge_valf.
	* gm2/gm2-libs/Builtins.def:  correct prototype for huge_val,
	  huge_valf, huge_vall.

2015-01-03      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/gm2m.bnf:  added debugging and verbose flag.
	  Also fixed bug so that it understands the -fmake-I option.
	* gm2/examples/hello/Makefile.in:  use $(EXE) rather than .out
	* gm2/examples/ncurses/Makefile.in:  corrected arguments to
	  gm2 -fmakeall.
	* gm2/examples/pge/Makefile.in:  improved clean target.
	* gm2/gm2.texi:  corrected typo.
	* gm2/lang-specs.h:   ensure that gm2m is invoked with the -B
	  and -fmake-I options present outside the -fgm2begin
	  -fgm2end delimiters.

2015-01-02      Gaius Mulley <gaius@gnu.org>

	* released GM2 1.1.0
	* gm2/gm2-libs/config-host:  rebuilt.
	* gm2/gm2-libs/config-host.in:  1.1.0.
	* gm2/gm2-libs/config-target:  rebuilt.
	* gm2/gm2-libs/config-target.in:  1.1.0.
	* gm2/gm2.texi:  updated release map.
	* gm2/gm2spec.c:  removed C++ comment.
	* gm2/version.c:  1.1.0.
	* gm2/examples/pge/Makefile.in:  interim checkin libpgeif uses
	  libtool during construction.  Temporary files removed from git.

2014-12-24      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/pge.py:  interim checkin.
	* gm2/gm2-compiler/SymbolTable.mod:  corrected declaration of
	  PutDeclaredModule as reported by Christoph Schlegel.
	* gm2/gm2-libs-ch/sckt.c:  added conditional import of
	  stdio.h as reported by Christoph Schlegel.

2014-12-22      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/run:  changed name of python script.
	* gm2/examples/swig/strlen/MyStrLib.i:  deleted.
	* gm2/tools-src/createUlmSys:  added SYSTEM_UNIXFORK and
	  SYSTEM_UNIXSIGNAL.

2014-12-09      Gaius Mulley <gaius@gnu.org>

	* gm2/config-lang.in:  added new gm2/examples/shared,
	  gm2/examples/full-strlib and gm2/examples/strio examples to the
	  list of Makefiles to be generated via configure.
	* gm2/examples/swig/exceptions/Makefile.in:  rewritten to use
	  libtool.
	* gm2/examples/swig/exceptions/stresstiny.py:  removed unnecessary
	  qualification.
	* gm2/examples/swig/exceptions/testtiny.py:  removed unnecessary
	  qualification.
	* gm2/examples/swig/exceptions/tiny.def:  renamed to libtiny.def.
	* gm2/examples/swig/exceptions/tiny.mod:  renamed to libtiny.mod.
	* gm2/examples/swig/strio/Makefile:  deleted.
	* gm2/examples/swig/strlib/Makefile.in:  rewritten to use libtool.
	* gm2/examples/swig/strlib/MyStrLib.def:  renamed as libStrLib.def.
	* gm2/examples/swig/strlib/MyStrLib.mod:  renamed as libStrLib.mod.
	* gm2/gm2.texi:  rewritten sections on building shared libraries
	  and interface to python using swig given that gm2 now uses libtool.

2014-12-06      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/swig/dual/Makefile.in:  removed unnecessary $(RM).
	* gm2/examples/swig/tiny/Makefile.in:  removed unnecessary $(RM).
	* gm2/lang-specs.h:  changed invocation of -fswig, -fmakelist, -fmakeinit which
	  can only be issued with -c and none of them will generate a .s (or .o) file.
	  The compiler is disabled from producing an output file using %V.

2014-12-05      Gaius Mulley <gaius@gnu.org>

	* gm2/config-lang.in:  added entry for new test example dual.
	* gm2/examples/hello/Makefile.in:  fixed example to build, added
	  reference to stdc++.
	* gm2/examples/pge/Makefile.in:  changed name of pge.py to pgepygame.py.
	* gm2/examples/pge/pge.py:  first cut of a python interface to pge.
	* gm2/examples/pge/twoDsim.def:  moved whereHit back to the definition
	  module.
	* gm2/examples/pge/twoDsim.mod:  moved whereHit back to the definition
	  module.
	* gm2/examples/swig/tiny/Makefile.in:  rewrote build rules as shared libraries
	  are now built using libtool.
	* gm2/examples/swig/tiny/libtiny.def:  rename tiny.def as libtiny.def to comply
	  with libtool.
	* gm2/examples/swig/tiny/libtiny.mod:  rename tiny.def as libtiny.def to comply
	  with libtool.
	* gm2/examples/swig/tiny/testtiny.py:  import libtiny instead of tiny.
	* gm2/gm2-compiler/gm2lcc.mod:  shared libraries are built using libtool changes
	  to allow this tool to deal with .lo, la files.  Separate -L from -l as ar
	  does not understand -L.  Long options now require --.  (--main, --exec,
	  --ignoremain, --startup).
	* gm2/gm2-compiler/gm2lgen.mod:  Long options now require -- (--terminate,
	  --initial, --exit, --main).
	* gm2/gm2-libs/FIO.mod:  corrected dates.
	* gm2/gm2-libs/libc.def:  corrected dates.
	* gm2/gm2spec.c:  corrected formatting.  gen_link_path (New function).
	  Use gen_link_path rather than add_include.
	* gm2/lang-specs.h:  changed all gm2lcc and gm2lgen long options to comply
	  with the new -- delimiter.

2014-11-04      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2expr.c: (m2expr_BuildForeachWordInSetDoIfExpr) add additional
	  parameter to m2expr_BuildForeachWordInSetDoIfExpr (is_lvalue).
	* gm2/gm2-gcc/m2treelib.c:  (m2treelib_get_set_value) extra parameter,
	  is_lvalue, which builds a component ref using an indirect value.
	* gm2/gm2-gcc/m2treelib.h:  added new parameter to prototype.
	* gm2/m2pp.c:  (m2pp_bit_ior_expr)  New function.

2014-10-30      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/popWorld.def:  tidied up comment.
	* gm2/examples/pge/popWorld.mod:  tidied up comment.
	* gm2/examples/pge/twoDsim.def:  tidied up comment and moved a type definition
	  into the implementation module.
	* gm2/examples/pge/twoDsim.mod:  added type definition.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  (AlignProcedureWithSource) removed procedure.
	  (DeclareProcedureToGccWholeProgram), (DeclareProcedureToGccSeparateProgram)
	  call GetProcedureBeginEnd to obtain the position of the BEGIN END tokens for
	  accurate debugging info.
	* gm2/gm2-compiler/M2GenGCC.mod:  (CodeNewLocalVar) and (CodeKillLocalVar)
	  also obtain the position of the BEGIN END tokens for accurate debugging info.
	* gm2/gm2-compiler/M2Quads.mod:  (BuildProcedureBegin) call PutProcedureBegin to
	  save the BEGIN location.  (BuildProcedureEnd) call PutProcedureEnd to
	  save the END location.
	* gm2/gm2-compiler/SymbolTable.def:  (PutProcedureBegin) define new procedure.
	  (PutProcedureEnd) define new procedure.
	* gm2/gm2-compiler/SymbolTable.mod:  (PutProcedureBegin) implement new procedure.
	  (PutProcedureEnd) implement new procedure.
	* gm2/gm2-libs-iso/IOChan.mod:  (Look) fix bug to ensure the result is set to the
	  result of the look.
	* gm2/gm2-libs-iso/RTfio.def:  changed specification of iseoln to avoid having to
	  read ahead an extra character.
	* gm2/gm2-libs-iso/RTfio.mod:  use FIO.WasEOLN rather than FIO.EOLN.
	  (checkPostRead) corrected comment.  (setReadResult) changed order of
	  if statements (check worst condition first).
	* gm2/gm2-libs-iso/RTgen.mod:  (doLook) restore old result, but return newer
	  result in r.
	* gm2/gm2-libs/FIO.def:  (WasEOLN) new procedure function.
	* gm2/gm2-libs/FIO.mod:  (WasEOLN) new procedure function implemented.  Introduced
	  new state endofline which is set appropriately.

2014-10-23      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  (BuildEndFunctionDeclaration) introduce
	  begin, end locations.  (finishFunctionDecl) add location parameter.
	* gm2/gm2-compiler/M2GenGCC.mod:  (finishFunctionDecl) extra parameter.
	* gm2/gm2-compiler/M2Quads.mod:  (BuildProcedureBegin) and (BuildProcedureEnd)
	  record the tokenno of the BEGIN or END respectively.
	* gm2/gm2-gcc/m2block.c:  (finishFunctionDecl) sets location in the bind_expr.
	* gm2/gm2-gcc/m2block.def:  (finishFunctionDecl) additional parameter.
	* gm2/gm2-gcc/m2block.h:  (finishFunctionDecl) additional parameter.
	* gm2/gm2-gcc/m2decl.c:  (BuildEndFunctionDeclaration) begin and end
	  location parameters.
	* gm2/gm2-gcc/m2decl.def:  (BuildEndFunctionDeclaration) begin and end
	  location parameters.
	* gm2/gm2-gcc/m2decl.h:  (BuildEndFunctionDeclaration) begin and end
	  location parameters.
	* gm2/gm2-gcc/m2except.c:  pass additional parameter for builtin functions.
	* gm2/gm2-gcc/m2statement.c:  (SetBeginLocation), (SetEndLocation) New procedures.
	* gm2/gm2-gcc/m2statement.def:  (SetBeginLocation), (SetEndLocation) New procedures.
	* gm2/gm2-gcc/m2statement.h:  (SetBeginLocation), (SetEndLocation) New procedures.
	* gm2/gm2-gcc/m2top.c:  tidied up spacing.
	* gm2/gm2spec.c:  remember_link_arg extra parameter.
	* gm2/m2pp.c:  added debugging stub.

2014-10-14      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/RTgen.mod:  (setReadResult)  New procedure.
	  Modified doLook to use setReadResult.
	* gm2/gm2spec.c:  started refactoring.  Introduced and used AS and GM2CC
	  macros.  Use cc1 or cc1plus rather than gm2cc.  gm2cc is no longer needed.
	* gm2/Make-file.in:  removed all references to gm2cc.

2014-10-10      Gaius Mulley <gaius@gnu.org>

	* testsuite/gm2/pim/pass/gm2.exp:  added more paths.
	* testsuite/lib/gm2.exp:  refactored gm2_init_pim and friends.

2014-10-09      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2ALU.mod:  use GetDeclaredMod as a replacement for GetDeclared.
	* gm2/gm2-compiler/M2Base.mod:  use GetDeclaredMod as a replacement for GetDeclared.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  use GetDeclaredMod as a replacement for GetDeclared.
	* gm2/gm2-compiler/M2GenGCC.mod:  use GetDeclaredMod as a replacement for GetDeclared.
	* gm2/gm2-compiler/M2MetaError.def:  provide %1M as a formatting specification.
	* gm2/gm2-compiler/M2MetaError.mod:  implement %1M as a formatting specification.
	* gm2/gm2-compiler/M2Optimize.mod:  use GetDeclaredMod as a replacement for GetDeclared.
	* gm2/gm2-compiler/M2Quads.mod:  use GetDeclaredMod as a replacement for GetDeclared.
	  Also use tokenno rather than line number in NewLocalVar and KillLocalVar.
	* gm2/gm2-compiler/M2Students.mod:  use GetDeclaredMod as a replacement for GetDeclared.
	* gm2/gm2-compiler/P1SymBuild.mod:  record location of implementation and definition module
	  when declaring procedures.
	* gm2/gm2-compiler/P2SymBuild.mod:  record location of implementation and definition module
	  when declaring procedures.
	* gm2/gm2-compiler/PCSymBuild.mod:  use GetDeclaredMod as a replacement for GetDeclared.
	* gm2/gm2-compiler/SymbolTable.def:  export GetDeclaredMod and GetDeclaredDef.
	* gm2/gm2-compiler/SymbolTable.mod:  implement GetDeclaredMod and GetDeclaredDef.
	  (New procedure) GetDeclaredDefinition.  (New procedure) GetDeclaredModule.
	* gm2/gm2-gcc/m2block.c:  removed debugging traps.
	* gm2/gm2-gcc/m2expr.c:  tidied formatting.
	* gm2/gm2-gcc/m2statement.c:  removed unnecessary code.
	  (add_stmt) changed to record location.
	* gm2/gm2-gcc/m2treelib.c:  allow component refs to be deferenced by pointers.
	* gm2/gm2-libs-iso/RTgen.mod:  skip a character without pushing it back twice in
	  succession.
	* gm2/m2pp.c:  introduce line file numbers into the source code dump.
	* testsuite/gm2/calling-c/datatypes/unbounded/run/pass/gm2.exp:  many changes to
	  simplify the setting up of the chosen dialect and libraries.  All
	  obvious invocations to gm2_init are replaced by gm2_init_pim, gm2_init_iso,
	  gm2_init_ulm, gm2_init_log, gm2_init_cor.
	* testsuite/gm2/case/pass/gm2.exp:  as above.
	* testsuite/gm2/complex/pass/gm2.exp:  as above.
	* testsuite/gm2/complex/run/pass/gm2.exp:  as above.
	* testsuite/gm2/coroutines/pim/run/pass/gm2.exp:  as above.
	* testsuite/gm2/cpp/pass/gm2.exp:  as above.
	* testsuite/gm2/cse/fail/gm2.exp:  as above.
	* testsuite/gm2/cse/pass/gm2.exp:  as above.
	* testsuite/gm2/dynamic/pass/gm2.exp:  as above.
	* testsuite/gm2/embedded/pass/gm2.exp:  as above.
	* testsuite/gm2/errors/fail/gm2.exp:  as above.
	* testsuite/gm2/examples/callingC/pass/gm2.exp:  as above.
	* testsuite/gm2/examples/callingC/run/pass/gm2.exp:  as above.
	* testsuite/gm2/examples/cpp/pass/gm2.exp:  as above.
	* testsuite/gm2/examples/cppDef/pass/gm2.exp:  as above.
	* testsuite/gm2/examples/hello/pass/gm2.exp:  as above.
	* testsuite/gm2/examples/map/pass/gm2.exp:  as above.
	* testsuite/gm2/exceptions/run/pass/gm2.exp:  as above.
	* testsuite/gm2/extensions/pass/gm2.exp:  as above.
	* testsuite/gm2/extensions/run/fail/gm2.exp:  as above.
	* testsuite/gm2/extensions/run/pass/gm2.exp:  as above.
	* testsuite/gm2/imports/run/pass/gm2.exp:as above.
	* testsuite/gm2/iso/fail/gm2.exp:  as above.
	* testsuite/gm2/iso/pass/gm2.exp:  as above.
	* testsuite/gm2/iso/run/pass/gm2.exp:  as above.
	* testsuite/gm2/isocoroutines/run/pass/gm2.exp: as above.
	* testsuite/gm2/isolib/run/pass/gm2.exp:  as above.
	* testsuite/gm2/link/pim/fail/gm2.exp:  as above.
	* testsuite/gm2/link/pim/fail/import.mod:  as above.
	* testsuite/gm2/link/pim/pass/gm2.exp:  as above.
	* testsuite/gm2/linking/libarchive/pass/gm2.exp: as above.
	* testsuite/gm2/pim/fail/gm2.exp:  as above.
	* testsuite/gm2/pim/options/bounds/fail/gm2.as above.exp:
	* testsuite/gm2/pim/options/optimize/run/pass/gm2.expas above.:
	* testsuite/gm2/pim/pass/gm2.exp:  as above.
	* testsuite/gm2/pim/run/fail/gm2.exp:  as above.
	* testsuite/gm2/pim/run/pass/gm2.exp:  as above.
	* testsuite/gm2/pimcoroutines/pass/gm2.exp:  as above.
	* testsuite/gm2/pimlib/coroutines/pass/gm2.exp:  as above.
	* testsuite/gm2/pimlib/logitech/pass/gm2.exp:  as above.
	* testsuite/gm2/pimlib/logitech/run/pass/gm2.exp:  as above.
	* testsuite/gm2/pimlib/pass/gm2.exp:  as above.
	* testsuite/gm2/pimlib/run/pass/gm2.exp:  as above.
	* testsuite/gm2/pimlib/ulm/run/pass/gm2.exp:  as above.
	* testsuite/gm2/quads/run/pass/gm2.exp:  as above.
	* testsuite/gm2/switches/check-all/run/fail/gm2.exas above.p:
	* testsuite/gm2/switches/check-all/run/pass/gm2.exp:as above.
	* testsuite/gm2/switches/extended-opaque/fail/gm2.exp:  as above.
	* testsuite/gm2/switches/extended-opaque/pass/gm2.exp:  as above.
	* testsuite/gm2/switches/iso/run/pass/gm2.exp:  as above.
	* testsuite/gm2/switches/makeall/fail/gm2.exp:  as above.
	* testsuite/gm2/switches/optimization/run/pass/gm2.exp:  as above.
	* testsuite/gm2/switches/pedantic-params/fail/gm2.exp:  as above.
	* testsuite/gm2/switches/pedantic-params/pass/gm2.exp:  as above.
	* testsuite/gm2/switches/pic/run/pass/gm2.exp:  as above.
	* testsuite/gm2/switches/pim2/run/pass/gm2.exp:  as above.
	* testsuite/gm2/switches/pim3/run/pass/gm2.exp:  as above.
	* testsuite/gm2/switches/pim4/run/pass/gm2.exp:  as above.
	* testsuite/gm2/types/run/pass/gm2.exp:  as above.
	* testsuite/gm2/ulmlib/pass/gm2.exp:  as above.
	* testsuite/gm2/ulmlib/std/pass/gm2.exp:  as above.
	* testsuite/gm2/ulmlib/sys/pass/gm2.exp:  as above.

2014-10-03      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/FpuIO.mod:  ensure that the debugging preprocessing
	  directives are only turned on by a specific flag.
	* gm2/gm2spec.c:  remove GM2_ROOT environment variable and use
	  GM2_PREFIX and GM2_LIBEXEC instead.  These override the --prefix
	  and --libexec strings used at compile time and allow users to move
	  the complete tree of binaries to a different directory hierarchy.

2014-10-01      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Code.mod:  tidied up text in qprintf0
	* gm2/gm2-compiler/M2Comp.mod:  tidied up text in qprintf0
	* gm2/gm2-gcc/m2top.def:  removed non needed procedure.
	* gm2/gm2-gcc/m2top.h:  removed non needed function.

2014-09-30      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  removed sckt.c from being built.
	* gm2/bnf/gm2l.bnf:  corrected import of procedures from Lists.
	* gm2/bnf/gm2m.bnf:  added import of DEALLOCATE.
	* gm2/gm2-compiler/M2Batch.def:  added export of LookupModule, LookupOuterModule.
	* gm2/gm2-compiler/M2Batch.mod:  added import of GetSym.
	* gm2/gm2-compiler/M2Comp.mod:  added descriptions for each pass.
	* gm2/gm2-compiler/M2Error.def:  (New procedure declarations) WarnFormat0, WarnFormat1.
	* gm2/gm2-compiler/M2Error.mod:  (New procedures) WarnFormat0, WarnFormat1.
	* gm2/gm2-compiler/M2Pass.def:  added IsPassC to export list.
	* gm2/gm2-compiler/M2Range.mod:  import BuildGreaterThanOrEqual.
	* gm2/gm2-compiler/P1SymBuild.mod:  added import of procedures from List.
	* gm2/gm2-libs-ch/dtoa.c:  corrected dates and tidied up spacing.
	* gm2/gm2-libs-ch/wrapc.c:  corrected dates and tidied up spacing.
	* m2/configure:  regenerated.
	* m2/configure.ac:  removed verbose messages.
	* make gm2.paranoid now works on Wheezy.

2014-09-28      Gaius Mulley <gaius@gnu.org>

	* libgm2/config.h.in:  removed HAVE_GETTIMEOFDAY, added HAVE_STRUCT_TIMEVAL,
	  removed TIME_WITH_SYS_TIME.
	* libgm2/configure:  rebuilt.
	* libgm2/configure.ac:  removed AC_HEADER_TIME.  Check for struct timeval.
	  Added GM2_UNDEF macro.  GM2_CHECK_LIB rewritten.
	* libgm2/libpim/Selective.c:  use HAVE_STRUCT_TIMEVAL rather than HAVE_SELECT.

2014-09-27      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/macroObjects.def:  fixed parameter names so that
	  implementation and definition modules match.
	* gm2/examples/pge/twoDsim.mod:  commented out include.
	* gm2/gm2-compiler/M2Comp.mod:  only attempt to parse an implementation
	  if the filename is found.  This avoids a bug when -fcpp -fm2-whole-program
	  was used.
	* gm2/gm2-compiler/M2Preprocess.mod:  corrected dates.
	* gm2/gm2-compiler/M2Preprocess.mod:  tidied up formatting.
	* gm2/gm2-libs/DynamicStrings.mod:  guard against the #defines from being
	  invoked necessary as users may now use -fcpp and -fm2-whole-program and thus
	  turn on internal debugging of gm2 libraries.
	* gm2/gm2-libs/FormatStrings.mod:  as above.
	* gm2/gm2-libs/FpuIO.mod:  as above.
	* gm2/gm2-libs/SArgs.mod:  as above.
	* gm2/gm2-libs/SEnvironment.mod:  as above.
	* gm2/gm2-libs/SFIO.mod:  as above.
	* gm2/gm2-libs/StringConvert.mod:  as above.
	* gm2/lang-specs.h:  changed formatting.

2014-09-23      Gaius Mulley <gaius@gnu.org>

	* gm2/config-lang.in:  added entry for gm2/examples/pge/Makefile.
	* gm2/gm2-compiler/M2Range.mod:  rewritten CodeForLoopEnd.
	  (SameTypesCodeForLoopEnd) New procedure.
	  (DiffTypesSameForLoopEnd) New procedure.
	  All regression tests pass under Debian Wheezy amd64.
	* gm2/examples/pge/Makefile.in:  fixed post rules for world.
	* gm2/gm2-libs/config-host:  rebuilt.
	* gm2/gm2-libs/config-host.in:  1.0.9.
	* gm2/gm2-libs/config-target:  rebuilt.
	* gm2/gm2-libs/config-target.in:  1.0.9.
	* gm2/gm2.texi:  updated release map.
	* gm2/gm2spec.c:  removed C++ comment.
	* gm2/version.c:  1.0.9.
	* Released 1.0.9 Beta Release.

2014-09-17      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Range.mod:  minor fixes which solve
	  testsuite/gm2/pim/run/pass/For5.mod.
	* gm2/gm2-libs-iso/RTgen.mod:  include guards to ensure that
	  the do procedure functions are only called if >0 bytes are
	  to be read/written.

2014-09-16      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Quads.mod:  removed RangeCheck quadruples from
	  changing the read/write lists.  Also removed PutWriteQuad
	  from being called inside MarkAsRead.  More regression tests pass.
	  (testsuite/gm2/errors/fail/testfio.mod)
	  (testsuite/gm2/errors/fail/testinit.mod)
	* gm2/gm2.texi:  changed the -fstatistics entry to -fm2-statistics.
	  Added entry for -fm2-whole-program.
	* gm2/examples/pge/Makefile:  corrected rules to whole and foo
	  and introduced $(CHECK).
	* examples/pge/history.mod:  hide debugging.
	* gm2/examples/pge/twoDsim.mod:  hide debugging.
	* gm2/gm2-compiler/M2Range.mod:  fixed bug in CodeEndForLoop.

2014-09-15      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/foo.mod:  added comment.
	* gm2/gm2-compiler/M2Code.mod:  removed references to StrIO and
	  NumberIO and replaced them with printf0 and printf1.
	  Re-introduced OptimizationAnalysis which also reports on
	  total source lines compiled.
	* gcc/gm2/gm2-compiler/M2Options.def:  SetStatistic (New procedure).
	* gcc/gm2/gm2-compiler/M2Options.def:  SetStatistic (New procedure)
	  implemented.
	* gm2/gm2-gcc/m2options.h:  SetStatistic (New prototype).
	* gm2/gm2-lang.c:  handle -fm2-statistics.
	* gm2/lang-options.h:  enumerate -fm2-statistics.
	* gm2/lang.opt:  enumerate -fm2-statistics.
	* gm2/m2.flex:  include timevar.h.  Call timevar_push, timevar_pop
	  inside m2flex_GetToken.

2014-09-14      Gaius Mulley <gaius@gnu.org>

	* gm2/README:  corrected language (gm2) and removed enable-__cxa_atexit.
	* gm2/README:  fixed source to sources.
	* libgm2/libpim/Selective.c:  use HAVE_SELECT rather than HAVE_TIMEVAL.

2014-09-13      Gaius Mulley <gaius@gnu.org>

	* the majority of these changes fix a bug reported by John O Goyo
	  (see testsuite/gm2/imports/run/pass/innermods.mod in cc1gm2.
	* gm2/Make-lang.in:  added P0SymBuild.mod into list of modules.  Added
	  build rule for m2-1.bnf and changed m2.bnf because of new file name.
	  Changed calls to $(M2LINK) to include --name option.
	* gm2/gm2-compiler/M2Batch.def:  (LookupModule) New procedure definition.
          (LookupOuterModule) New procedure definition.
	* gm2/gm2-compiler/M2Batch.mod:  (LookupOuterModule) New procedure function.
          (LookupModule) New procedure function.
	* gm2/gm2-compiler/M2Comp.mod:  introduced new Pass0.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  modified debugging.
	* gm2/gm2-compiler/M2Inline.def:  Removed file.
	* gm2/gm2-compiler/M2Inline.mod:  Removed file.
	* gm2/gm2-compiler/M2Pass.def:  (IsPass0)  New procedure function.
	* gm2/gm2-compiler/P0SymBuild.mod:  New file, generate a scope tree.
	* gm2/gm2-compiler/P1SymBuild.mod:  changed to follow the scope tree
	  generated during pass0.
	* gm2/gm2-compiler/P1SyntaxCheck.def:  removed file.
	* gm2/gm2-compiler/P2SymBuild.mod:  use LookupModule instead
	  of MakeDefinitionSource.
	* gm2/gm2-compiler/P3SymBuild.mod:  use LookupModule instead
	  of MakeDefinitionSource.
	* gm2/gm2-compiler/PCSymBuild.mod:  use LookupModule instead
	  of MakeDefinitionSource.
	* gm2/gm2-compiler/P0SymBuild.mod:
	* gm2/gm2-compiler/SymbolTable.def:
	  (PutModuleContainsBuiltin)  New procedure definition.
	  (IsBuiltinInModule)  New procedure function definition.
	  (PutHiddenTypeDeclared)  New procedure definition.
	  (IsHiddenTypeDeclared)  New procedure function definition.
	* gm2/gm2-compiler/SymbolTable.mod:
	  (ContainsBuiltin) new field in DefImp.
	  (PutModuleContainsBuiltin)  New procedure.
	  (IsBuiltinInModule)  New procedure function.
	  (PutExported) allow modules to be imported from.
	* gm2/gm2-compiler/m2flex.def:  (GetTotalLines)
	  New function definition.
	* gm2/init/gm2-gccinit:  added P0SymBuild.
	* gm2/m2.flex:  (m2flex_GetTotalLines) New function.
	* gm2/tools-src/mklink.c:  honour CFLAGS and LDFLAGS
	  (fixes a build problem on 64 bit Solaris, reported by
	   John O Goyo).
	* testsuite/gm2/errors/fail/gm2.exp:
	* testsuite/gm2/errors/fail/testfio.mod:
	* testsuite/gm2/imports/run/pass/c.def:
	* testsuite/gm2/imports/run/pass/c.mod:
	* testsuite/gm2/imports/run/pass/gm2.exp:
	* testsuite/gm2/imports/run/pass/innermods3.mod:
	* m2/libmin/Makefile.am:  build SYSTEM.def with -fno-exceptions
	* m2/libmin/Makefile.in:  regenerated.
	* gm2/bnf/m2-1.bnf:  new file (copied from m2.bnf with
	  some name changes).
	* gm2/bng/m2.bnf:  new contents (pass 0).
	* gm2/gm2-compiler/P0SymBuild.def:  New file.
	* gm2/gm2-compiler/P0SymBuild.mod:  New file.

2014-09-04      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2builtins.c:  corrected spelling for huge_val, huge_valf,
	  huge_vall.

2014-09-03      Gaius Mulley <gaius@gnu.org>

	* libgm2/config.h.in:  rebuilt.
	* libgm2/configure:  rebuilt.
	* libgm2/configure.ac:  fixes to the GM2_CHECK_LIB macro to correctly
	  test for the existence of library functions.
	* gm2/configure.in:  added test for whether the pth library exists
	  and issue a warning if it does not.
	* gm2/gm2-lang.c:  new option -fno-pth.  Do not link against -lpth.
	* gm2/gm2.texi:  document new option.
	* gm2/gm2spec.c:  implement the new option, by default -lpth is included
	  into the link process.  Add the library before -lstdc++.
	* gm2/lang-options.h:  entry for new option.
	* gm2/lang.opt:  entry for new option.

2014-09-02      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  removed unnecessary SO, SO_O2, O2 library build
	  rules.
	* gm2/gm2-compiler/SymbolTable.mod:  removed unnecessary Type, Size, Offset
	  fields from Module, DefImp symbols.  Also removed their initialisation.

2014-08-30      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/gm2m.bnf:  fixed bug so that nested local modules
	  propagate their imported modules outwards.
	  (see testsuite/gm2/imports/run/pass/innermods3.mod).
	* gm2/bnf/m2.bnf:  corrected dates.
	* gm2/bnf/gm2l.bnf:  commented out printfs.
	* rebuild the all configure files changed by the gm2 front
	  end.
	* rebuilt all patch files.
	  (gm2/patches/gcc/4.7.3/01-patches, gm2/patches/gcc/4.7.3/02-patches,
           gm2/patches/gcc/4.7.3/03-patches, gm2/patches/gcc/4.7.3/04-patches,
           gm2/patches/gcc/4.7.3/05-patches, gm2/patches/gcc/4.7.3/12-patches)

2014-08-29      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/gm2m.bnf:  fixed bug reported by John O Goyo
	  (see testsuite/gm2/imports/run/pass/innermods.mod and
	   testsuite/gm2/imports/run/pass/innermods2.mod).
	  Maintain a block of nested modules and allow inner modules
	  to import objects via FROM x statements.  (BeginBlock)
	  New procedure.  (EndBlock) New procedure.  (RegisterLocalModule)
	  New procedure.  (RegisterImport) New procedure.  The ebnf
	  rules were extended to nearly the complete language (with the exception
	  of full parsing of definition modules).  Similar to gm2l except
	  the block retains the module level.

2014-08-28      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/gm2l.bnf:  fixed bug reported by John O Goyo
	  (see testsuite/gm2/imports/run/pass/innermods.mod).
	  Maintain a block of nested modules and allow inner modules
	  to import objects via FROM x statements.  (BeginBlock)
	  New procedure.  (EndBlock) New procedure.  (RegisterLocalModule)
	  New procedure.  (RegisterImport) New procedure.  The ebnf
	  rules were extended to nearly the complete language (with the exception
	  of full parsing of definition modules).
	* gm2/examples/hello/Makefile.in:  (pre-install-whole) New rule.
	* gm2/examples/map/Makefile.in:  (pre-install-whole) New rule.
	* gm2/examples/pge/Makefile:  (whole) New interim rule.
	* gm2/gm2-compiler/M2AsmUtil.mod:  import IsDefinitionForC.

2014-08-17      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/map/Makefile.in:  (pre-install-whole) corrected rule.
	* gm2/examples/pge/Indexing.def:  removed file.
	* gm2/examples/pge/Indexing.mod:  removed file.
	* gm2/gm2-libs/FIO.mod:  modified so that it can be compiled under -fiso.
	* gm2/gm2-libs/Indexing.mod:  modified so that it can be compiled under -fiso.

2014-08-16      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  use new libgm2.a when building stage2.
	* gm2/examples/map/Makefile.in:  (pre-install-whole) New rule.
	* gm2/gm2-compiler/M2AsmUtil.mod:  (SymNeedsModulePrefix)
	  New procedure function.  (GetModulePrefix) use SymNeedsModulePrefix.
	* gm2/gm2-compiler/M2Batch.def:  (ForeachSourceModuleDo) new procedure.
	  (IsSourceSeen) new procedure function.
	* gm2/gm2-compiler/M2Batch.mod:  implement ForeachSourceModuleDo
	  and IsSourceSeen.
	* gm2/gm2-compiler/M2Code.mod:  import WholeProgram and modify (Code)
	  and dependent procedures to behave differently if WholeProgram is
	  set.
	* gm2/gm2-compiler/M2Comp.mod:  (NeedToParseImplementation) New procedure
	  function.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  import WholeProgram and modify
	  declaration of procedure/module/types/variables to behave differently
	  if WholeProgram is set.
	* gm2/gm2-compiler/M2GenGCC.mod:  (IsExportedGcc) New procedure function.
	  CodeStartModFile pushes the module scope and the global scope.
	  CodeStartDefFile removed unnecessary code.  CodeEndFile call
	  popGlobalScope.  CodeProcedureScope use IsExportedGcc instead of IsExported.
	  Change CompilingMainModule to CompilingMainModule OR WholeProgram.
	* gm2/gm2-compiler/M2Options.def:  (DebugTraceQuad, DebugTraceAPI) New
	  internal options.  (SetDebugTraceQuad) New procedure definition.
	  (SetDebugTraceAPI) New procedure definition.
	* gm2/gm2-compiler/M2Options.mod:  (SetWholeProgram) remove return type.
	  (SetDebugTraceQuad) implemented.  (SetDebugTraceAPI) implemented.
	* gm2/gm2-compiler/M2Scope.def:  (DisplayScope) New procedure.
	* gm2/gm2-gcc/m2options.h:  (SetDebugTraceQuad) exported.
	  (SetDebugTraceAPI) exported.
	* gm2/gm2-lang.c:  added case for OPT_fdebug_trace_quad and
	  OPT_fdebug_trace_api.
	* gm2/lang-options.h:  added entry for -fm2-whole-program.
	* gm2/lang.opt:  added entry for -fdebug-trace-quad, -fdebug-trace-api
	  and -fm2-whole-program.
	* many testsuite scripts corrected to reflect the new library locations.

2014-07-30      Gaius Mulley <gaius@gnu.org>'

	* gm2/gm2-compiler/M2Comp.mod:  corrected logical expression in
	  NeedToParseImplementation.

2014-07-29      Gaius Mulley <gaius@gnu.org>

	* gm2/README:  updated preferred snapshot test release.  Use git rather
	  than CVS.  Changed configuring advice as using 4.7.3 rather than 4.1.2.
	* gm2/gm2-compiler/M2Comp.mod:  start of changes which allow -fwhole-program
	  to be effective.
	* gm2/gm2-compiler/M2Options.def:  (WholeProgram) new variable, define
	  and export.  (SetWholeProgram) New procedure.
	* gm2/gm2-compiler/M2Options.mod:  (SetWholeProgram) New procedure implemented.
	  WholeProgram default to FALSE.
	* gm2/gm2-compiler/M2System.mod:  allow user to import SIZE from ISO SYSTEM.
	  Not strictly ISO but it is more flexible with -fwhole-program which will
	  want to compile everything in a single dialect.
	* gm2/gm2-gcc/m2options.h:  (M2Options_SetWholeProgram) New declaration.
	* gm2/gm2-lang.c:  process -fwhole-option by calling M2Options_SetWholeProgram.
	* gm2/gm2-libs-iso/SYSTEM.def:  add SIZE to export qualified list.
	* gm2/lang.opt:  add -fwhole-option to list of legal Modula-2 options.
	* testsuite/gm2/calling-c/datatypes/unbounded/run/pass/gm2.exp:  correct
	  path to retieve path and libraries from the build area and avoid
	  the install area.
	* libgm2/config.h.in:  rebuilt.
	* libgm2/configure:  rebuilt.
	* libgm2/configure.ac:  define GM2_CHECK_LIB macro and use it to
	  safely detect the presence of all used libc and libm functions
	  used by the Modula-2 libraries.

2014-07-23      Gaius Mulley <gaius@gnu.org>

	* fixes to the regression testsuite gm2.exp files to pick up the
	  libraries from the new build locations.
	* libgm2/libiso/Makefile.am:  build correct iso version of SYSTEM.
	* gm2/gm2.texi:  updated the status of the gcc-4.7 branch of gm2.
	  Also removed an unnecessary --enable-libgm2 option from the
	  documentation.

2014-07-16      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/Makefile:  remove hack rule.
	* libgm2/config.h.in:  rebuilt.
	* libgm2/configure:  rebuilt.
	* libgm2/configure.ac:  test for libc functions.
	* libgm2/libpim/Selective.c:  provide dummy KillSet procedure
	  function.

2014-07-15      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Range.mod:  CodeWholeNonPos, CodeWholeZero
	  assign location before it is used.

2014-07-14      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  overhauled to ensure that target and host are
	  distinct.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  IsExternal (New procedure function).
	  FindContext replaces FindTreeScope.  IsGlobal (New procedure function).
	  DeclareVariable uses IsGlobal, IsExternal and FindContext.
	* gm2/gm2-gcc/init.c:  can now be compiled by a C or C++ compiler.
	* gm2/gm2-gcc/m2block.c:  new fields to binding_level.  is_global and
	  context.  The compiler now correctly uses a translation_unit tree
	  node to contain the global variables.  Bug fixes to correct the
	  context of local variables.  We also ensure that all locals
	  are declared.  Added more self checking debugging code.
	* gm2/gm2-gcc/m2block.def:  includeDecl (New procedure function).
	  GetGlobalContext (New procedure function).
	* gm2/gm2-gcc/m2block.h:  allow m2block.[ch] to be compiled by
	  a C or C++ compiler, export GetGlobalContext, finishGlobals,
	  and includeDecl.
	* gm2/gm2-gcc/m2builtins.h:  allow m2block.[ch] to be compiled by
	  a C or C++ compiler.
	* gm2/gm2-gcc/m2convert.h:  allow m2block.[ch] to be compiled by
	  a C or C++ compiler.
	* gm2/gm2-gcc/m2decl.c:  simplified and corrected declaration of a
	  variable.  BuildParameterDeclaration simplified as it only handles
	  procedure/function parameters and not function/procedure types.
	* gm2/gm2-gcc/m2decl.h:  allow m2decl.[ch] to be compiled by
	  a C or C++ compiler.
	* gm2/gm2-gcc/m2except.h:  allow m2except.[ch] to be compiled by
	  a C or C++ compiler.
	* gm2/gm2-gcc/m2expr.h:  allow m2expr.[ch] to be compiled by
	  a C or C++ compiler.
	* gm2/gm2-gcc/m2linemap.h:  allow m2linemap.[ch] to be compiled by
	  a C or C++ compiler.
	* gm2/gm2-gcc/m2misc.h:  allow m2misc.[ch] to be compiled by
	  a C or C++ compiler.
	* gm2/gm2-gcc/m2options.h:  allow m2options.[ch] to be compiled by
	  a C or C++ compiler.
	* gm2/gm2-gcc/m2statement.h:  allow m2statement.[ch] to be compiled by
	  a C or C++ compiler.
	* gm2/gm2-gcc/m2statement.c:  call cgraph_finalize_function whenever
	  we finish a function.  Unit at a time change.
	* gm2/gm2-gcc/m2top.h:  allow m2top.[ch] to be compiled by
	  a C or C++ compiler.
	* gm2/gm2-gcc/m2type.c:  specifically declares procedure types
	  and parameter types.  Corrected a bug with procedure/function
	  type declaration.
	* gm2/gm2-gcc/m2type.def:  BuildProcTypeParameterDeclaration (New procedure
	  function).  BuildEndFunctionType additional parameter.
	* gm2/gm2-gcc/m2type.h:  allow m2type.[ch] to be compiled by
	  a C or C++ compiler.
	* gm2/gm2-lang.c:  m2_write_global_declarations (New function).
	  gm2_langhook_write_globals for each translation unit write out globals.
	* gm2/gm2-libs-pim/Break.c:  corrected #include syntax.  Reformatted to
	  conform to GNU coding standards.
	* gm2/gm2-libs/config-host:  rebuilt.
	* gm2/gm2-libs/config-target:  rebuilt.
	* gm2/gm2-libs/config-target.in:  use GCC_NO_EXECUTABLES.
	* gm2/gm2spec.c:  removed style of libraries, added new location of
	  libraries and new library names.
	* gm2/m2pp.c:  pl (New function). m2pp_decl_list (New function).
	  m2pp_decl_bool (New function).  remember (New function).
	  m2pp_translation (New function).  m2pp_module_block (New function).
	  m2pp_procedure_type modified to understand varargs.
	* gm2/tools-src/createUlmSys:  fixed to test for presence of include
	  files so that it can be run in a cross compiler for a minimal target.
	* gm2/examples/pge/Makefile:  remove rule hack from objects.
	* gm2/gm2-compiler/M2GenGCC.mod:  CodeDivTrunc, FoldDivTrunc,
	  CodeDivFloor, FoldDivFloor check operand types and if REAL/COMPLEX
	  family are used then call BuildRDiv instead.  Fixes a compiler error
	  exposed by gm2/examples/pge/roots.mod.  BinaryOperandRealFamily
	  (New procedure function).
	* gm2/gm2-gcc/m2expr.c:  m2expr_BuildRDiv (New function).
	* gm2/gm2-gcc/m2expr.def:  m2expr_BuildRDiv (New definition).
	* gm2/gm2-gcc/m2expr.h:  m2expr_BuildRDiv (New prototype).

2014-04-20      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  (CodeInitAddress) declare tokenno
	  and location and set them correctly.
	* gm2/gm2spec.c:  let the -B switch determine where the (preprocessor)
	  cc1 is found.

2014-04-05      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  (CodeInitAddress)  New procedure.
	  (CodeStatement) added case clause for InitAddressOp which calls
	  CodeInitAddress.
	* gm2/gm2-compiler/M2Quads.def:  added InitAddressOp.
	* gm2/gm2-compiler/M2Quads.mod:  (CheckVariableAt)  generate
	  an InitAddressOp instead of CodeBecomesOp.  (WriteQuad)
	  new case clause for InitAddressOp.  (WriteOperands) new case
	  clause for InitAddressOp.
	* fixes variable at address bugs (see
	  testsuite/gm2/embedded/pass/varataddress2.mod)

2014-03-19      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2except.c:  (do_call3) corrected number of parameters.
	  (build_exc_ptr) add assertion.  (gm2_build_throw) add location.
	* gm2/tools-src/createUlmSys:  improved error message.
	* libgm2/Makefile.in:  build and install the Ulm libraries.
	  Included $(GM2_OBJ)/gm2-libs/gm2-libs-target.h as a dependant
	  to $(GM2_OBJ)/ulm-lib-gm2/sys/SYSTEM.c.

2014-03-18      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2except.c:  do_call0 (New function).
	  do_call1 (New function).  do_call3 (New function).
	  build_exc_ptr (rewritten to use do_call1).
	  do_free_exception (rewritten to use do_call1).
	  do_throw (rewritten to use do_call3).
	  do_rethrow (rewritten to use do_call0).
          gm2_build_throw (removed unused local variables).
	  do_begin_catch (rewritten to use do_call1).
	  do_end_catch (rewritten to use do_call0).
	* gm2/gm2-lang.c:  genericize_try_block (New function).
	  genericize_catch_block (New function).
	  gm2_langhook_gimplify_expr call genericize_try_block
	  and genericize_catch_block.

2014-03-12      Gaius Mulley <gaius@gnu.org>

	* changed persmissions to most files to remove the execute
          bit.

2014-03-12      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  fixed verify flags for gm2.verifyparanoid
	  and gm2.verifystage12.
	* gm2/gm2-libs-iso/M2RTS.mod:  detect double HALT and exit with
	  -1.
	* gm2/gm2-libs/M2RTS.mod:  detect double HALT and exit with
	  -1.
	* gm2/gm2-libs/Indexing.mod:  use memmove rather than memcpy
	  which fixes the regression testsuite/gm2/isolib/run/pass/termfile.mod.
	* gm2/gm2-libs/libc.def:  provide definition for memmove.

2014-02-19      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  include the search path  -I$(srcdir)/gm2/gm2-gcc
	  when building stage2 from the compiler sources.
	* gm2/bnf/gm2l.bnf:  import Dup from DynamicStrings.
	* gm2/gm2-compiler/M2ALU.mod:  fixed many imports so that
	  the module can be built during stage2, via xgm2.
	* gm2/gm2-compiler/M2Base.mod:  fixed many imports so that
	  the module can be built during stage2, via xgm2.
	* gm2/gm2-compiler/M2Preprocess.mod:  corrected import of
	  CppCommandLine from M2Options rather than M2DriverOptions.
	* gm2/gm2-compiler/M2Range.mod:  fixed many imports so that
	  the module can be built during stage2, via xgm2.
	* gm2/gm2-compiler/M2System.mod:  fixed many imports so that
	  the module can be built during stage2, via xgm2.
	* gm2/gm2-compiler/SymbolConversion.mod:  fixed many imports so that
	  the module can be built during stage2, via xgm2.
	* gm2/gm2-compiler/m2flex.def:  fixed many imports so that
	  the module can be built during stage2, via xgm2.
	* gm2/Make-lang.in:  added attribs.o to link stage2/gm2/cc1gm2.
	  Removed $(BACKENDLIBS) $(LIBSTDCXX) from the dependancies of
	  stage2/gm2/cc1gm2.  Added -I$(srcdir)/gm2/gm2-gcc to
	  all gm2/gm2-compiler-paranoid rules.
	* gm2/gm2-compiler/M2Options.def:  added many procedures to the
	  list of export qualified identifiers.
	* gm2/gm2-compiler/SymbolTable.mod:  changed needsUnsigned
	  and needsLong to BOOLEAN.

2014-02-18      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  fixed many imports so that
	  the module can be built during stage2, via xgm2.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  fixed many imports so that
	  the module can be built during stage2, via xgm2.
	* gm2/gm2-gcc/m2decl.def:  use BOOLEAN parameters rather than
	  INTEGERs.
	* gm2/p2c/p2c-src/src/decl.c:  tidied up formatting.

2014-02-17      Gaius Mulley <gaius@gnu.org>

	* gm2/config-lang.in:  added m2block.c, m2builtins.c and m2decl.c
	  to the list of gtfiles.
	* gm2/gm2-gcc/m2block.c:  changed layout of the GTY binding level
	  structure and use ggc_alloc_binding_level rather than xmalloc.
	  Include gt-gm2-m2block.h.
	* gm2/gm2-gcc/m2type.c:  include gt-gm2-m2decl.h.
	* gm2/gm2-gcc/m2expr.c:  use ggc_alloc_atomic rather than xmalloc.
	  Include gt-gm2-m2expr.h.
	* gm2/gm2-gcc/m2statement.c:  include gt-gm2-m2statement.h.
	* gm2/gm2-gcc/m2type.c:  layout GTY structure correctly and
	  use ggc_alloc_array_desc and ggc_alloc_struct_constructor
	  instead of xmalloc.  Include gt-gm2-m2type.h.

2014-02-10      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added -I$(srcdir)/gm2/gm2-gcc to all
	  the compiler build rules when building gm2/gm2-compiler via xgm2.
	* gm2/gm2-compiler/M2ALU.mod:  fix imports so that this file can
	  be built by xgm2.
	* gm2/gm2-compiler/M2GenGCC.mod:  fixed many (but not all) of the
	  imports so this file can be compiled by xgm2.
	* gm2/gm2-compiler/M2LexBuf.def:  add TokenToLocation to export
	  qualified list.
	* gm2/gm2-compiler/M2Options.def:  remove IsAnOption,
	  IsAndOptionAndArg and ParseOptions from the export list.
	  (SetOptimizing) correct parameter to CARDINAL.
	* gm2/gm2-compiler/M2Options.mod:  include Dup into export list.
	* gm2/gm2-gcc/m2decl.def:  import ADDRESS from SYSTEM.
	* gm2/gm2-gcc/m2expr.def:  import ADDRESS from SYSTEM.
	  (BuildBinarySetDo) added missing ';'.
	* gm2/gm2-gcc/m2statement.def:  import ADDRESS from SYSTEM.
	* gm2/gm2-gcc/m2top.def:  (SetFlagUnitAtATime) alter parameter to
	  BOOLEAN.

2014-02-02      Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/m2-2.bnf:  changed rule for ByteAlignment to use the ISO
	  Modula-2 syntax <* *> extension.
	* gm2/bnf/m2-3.bnf:  changed rule for ByteAlignment to use the ISO
	  Modula-2 syntax <* *> extension.
	* gm2/bnf/m2-c.bnf:  changed rule for ByteAlignment to use the ISO
	  Modula-2 syntax <* *> extension.
	* gm2/bnf/m2-h.bnf:  changed rule for ByteAlignment to use the ISO
	  Modula-2 syntax <* *> extension.
	* gm2/bnf/m2.bnf:  changed rule for ByteAlignment to use the ISO
	  Modula-2 syntax <* *> extension.
	* gm2/gm2-compiler/M2GenGCC.mod:  pass a location as the
	  first parameter to BuildTryBegin, BuildCatchBegin,
	  BuildCatchEnd.
	* gm2/gm2-compiler/M2Quads.def:  changed comment to reflect
	  new code (bytealignment) is used instead of (ALIGNED).
	* gm2/gm2-compiler/M2Quads.mod:  change ALIGNED to bytealignment.
	  BuildAlignment, changed error message to reflect bytealignment.
	* gm2/gm2-compiler/P2SymBuild.def:  changed comment to reflect
	  new code (bytealignment) is used instead of (ALIGNED).
	* gm2/gm2-compiler/P2SymBuild.mod:  BuildAligned check for
	  the alignment word (bytealignment).  BuildVarAlignment
	* gm2/gm2-gcc/m2except.def:  (InitExceptions) corrected to
	  include a parameter, location.  (BuildCatchBegin) corrected
	  to include a parameter, location.  (BuildCatchEnd) corrected
	  to include a parameter, location.
	* gm2/gm2.texi:  changed documentation to reflect new syntax
	  of alignment used in variable and type declaration.
	* testsuite/gm2/extensions/pass/align.mod:  changed test code
	  to reflect new syntax.
	* testsuite/gm2/extensions/pass/align2.mod:  changed test code
	  to reflect new syntax.
	* testsuite/gm2/extensions/run/pass/align3.mod:  changed test code
	  to reflect new syntax.
	* testsuite/gm2/extensions/run/pass/align4.mod:  changed test code
	  to reflect new syntax.
	* testsuite/gm2/extensions/run/pass/align5.mod:  changed test code
	  to reflect new syntax.
	* testsuite/gm2/extensions/run/pass/align6.mod:  changed test code
	  to reflect new syntax.
	* testsuite/gm2/extensions/run/pass/align7.mod:  changed test code
	  to reflect new syntax.
	* testsuite/gm2/extensions/run/pass/card16p.mod:  corrected test.
	* testsuite/gm2/extensions/run/pass/card32p.mod:  corrected test.
	* testsuite/gm2/extensions/run/pass/card64p.mod:  corrected test.
	* testsuite/gm2/extensions/run/pass/card8p.mod:  corrected test.

2014-01-24      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/foo.mod:  changed demo.
	* gm2/gm2-compiler/M2GenGCC.mod:  no longer pass
	  the fifth parameter to BuildArray.
	* gm2/gm2-gcc/m2expr.c:  removed the fifth parameter to
	  BuildArray.  Pass NULL_TREE to build4 of a ARRAY_REF.
	* gm2/gm2-gcc/m2expr.def:  removed the fifth parameter to
          the definition of BuildArray.
	* gm2/gm2-gcc/m2expr.h:  removed the fifth parameter to
          the prototype of BuildArray.

2014-01-18      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2expr.c:  CheckAddressToCardinal (New function).
	  BuildAdd use CheckAddressToCardinal for both operands.
	  BuildSub use CheckAddressToCardinal for both operands.
	  BuildDivTrunc use CheckAddressToCardinal for both operands.
	  BuildModTrunc use CheckAddressToCardinal for both operands.
	  BuildDivFloor use CheckAddressToCardinal for both operands.
          BuildModFloor use CheckAddressToCardinal for both operands.
          BuildMult use CheckAddressToCardinal for both operands.
	* gm2/gm2-gcc/m2type.c:  m2_cardinal_address_type_node new
	  internal datatype.  GetCardinalAddressType (New function).
	  build_m2_cardinal_address_type_node (New function).
	* gm2/gm2-gcc/m2type.h:  m2type_GetCardinalAddressType
	  (New function prototype).

2014-01-15      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  use $(LINKER) rather than $(XGCC).
	  use $(COMPILER) $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS)
	  to aid building gm2 as a cross compiler.
	* gm2/gm2-gcc/m2expr.c:  check operand types for ADDRESS
	  in multiply, divide, modulus and issue appropriate errors.
	* gm2/gm2-gcc/m2type.c:  (IsAddress) New function.
	* gm2/gm2-gcc/m2type.def:  (IsAddress) New function.
	* gm2/gm2-gcc/m2type.h:  (IsAddress) New function prototype.
	* gm2/gm2-lang.c:  removed duplicate declaration of gm2_gc_root.
	  Added compiler directives to unused parameters in
	  gm2_langhook_gimplify_expr.

2014-01-14      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  substituted $(CC) for $(COMPILER) when
	  building gm2/gm2-lang.o, gm2/stor-layout.o and gm2/m2pp.o.
	* gm2/gm2-gcc/m2builtins.c:  added BT_FN_NONE to the
	  builtin_prototype enum.  Changed fclass to enum built_in_class.
	  Modified compound constant constructor to contain correct types
	  in the terminating array element.
	* gm2/gm2-gcc/m2convert.c:  remove stop function.
	* gm2/gm2-gcc/m2decl.c:  remove stop function.
	* gm2/gm2-gcc/m2expr.c:  remove stop function.  Comment out
	  default_convert_binary_operands and build_nop.  Comment out
	  unused part of m2expr_BuildNegate.
	* gm2/gm2-gcc/m2misc.c:  corrected formatting.
	* gm2/gm2-gcc/m2options.h:  added const to the second parameter
	  in M2Options_CppArg.
	* gm2/gm2-lang.c:  added const to the declaration of opt.
	* gm2/gm2-lang.h:  added list of includes, added extern prototype
	  for gm2_langhook_init_options.
	* gm2/gm2spec.c:  removed prototype for get_B_or_prefix.  Added
	  conditional compilation for printOption.  Added const to
	  declaration of B_path.  (find_executable_path)  corrected
	  local variable declaration to include const.
	  (add_B_prefix) added ATTRIBUTE_UNUSED to the first parameter.
	  (get_B_or_prefix) removed.  (add_exec_dir) corrected local
	  variables to include const.
	* gm2/gm2version.h:  added conditional compilation for the
	  prototype for gm2version so that it can be accessed by C and C++.
	* gm2/m2pp.c:  changed stack_t to m2stack_t to avoid type clash.
	  (pet) New function prototype.  (m2pp_integer) New function
	  prototype.  Build gm2 or C versions of m2pp_integer.
	  Build gm2 or C versions of m2pp_complex.

2013-12-25      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod: PushNoOfBits (New
	  procedure).  DeclareLargeSet use PushNoOfBits.
	* gm2/gm2-compiler/SymbolKey.def:  import WORD from SYSTEM.

2013-12-24      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2convert.c: doOrdinal (New function).
	  m2convert_BuildConvert call doOrdinal is value
	  is a STRING_CST and its length <= 1.  Refactor
	  type computation.
	* gm2/gm2-gcc/m2statement.c:
	  m2statement_BuildUnaryForeachWordDo remove p1, p2
	  pointer calculations and use m2treelib_get_set_field_rhs
	  and m2treelib_get_set_field_des instead.
	  m2statement_BuildExcludeVarConst remove p1 and use
          m2treelib_get_set_field_des and m2treelib_get_set_field_rhs
	  instead.  m2statement_BuildIncludeVarConst use
	  m2treelib_get_set_field_des instead of
	  m2treelib_get_set_field_rhs.

2013-12-20      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2builtins.c: (builtin_function) use
	  add_builtin_function and set source line appropriately.

2013-12-11      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-coroutines/SYSTEM.def: added commented
	  internal procedure function definitions.
	* gm2/gm2-lang.c: remove the Go defaults in
	  gm2_langhook_init_options_struct.  No longer attempt
	  to split the stack, which fixes regression test failures
	  in gm2/coroutines/pim/run/pass/testiotransfer.mod
	  and gm2/coroutines/pim/run/pass/testtransfer.mod.

2013-12-09      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-coroutines/SYSTEM.def: added definition
	  of the internal procedure functions
          ShiftVal, ShiftLeft, ShiftRight, RotateVal,
	  RotateLeft, RotateRight to handle large sets.
	* gm2/gm2-libs-coroutines/SYSTEM.mod: added implementation
	  of the internal procedure functions
          ShiftVal, ShiftLeft, ShiftRight, RotateVal,
	  RotateLeft, RotateRight to handle large sets.
	* gm2/gm2-compiler/M2GenGCC.mod:  fixed type change
	  bug which occurred if a large bitset is compared to
	  an empty set.  Use ConvertBinaryOperands for the
	  special case as well.
	* gm2/gm2-gcc/m2expr.c:  corrected function indirect
	  prototype to include location_t.
	* gm2/gm2-gcc/m2expr.h:  corrected function indirect
	  prototype to include location_t.

2013-12-06      Gaius Mulley <gaius@gnu.org>

	* testsuite/gm2/pimcoroutes/pass/gm2.exp:
	* testsuite/gm2/pimcoroutes/pass/exports.mod:
	* testsuite/gm2/pimcoroutes/pass/exports2.mod:
	  (New files)
	* gm2/gm2-libs-coroutines/SYSTEM.def: corrected
	  export list taking care to only have data types on the
	  (* @SYSTEM_DATATYPES@ *) line.
	* gm2/Make-lang.in:  add
	  gm2/Make-lang.in to be a dependant of gm2/gm2-libs.texi.
          Add new rule to build $(objdir)/gm2/gm2-libs-coroutines/SYSTEM.def.
	  Add $(objdir)/gm2/gm2-libs-coroutines/SYSTEM.def to build-system.

2013-12-05      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  added information on
	  how to build a gcc-4.1.2 based gm2 under a multiarch
	  linux system.
	* gm2/gm2.texi:  changed configure
	  examples to reflect new source tree layout.

2013-12-01      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/deviceGroff.mod:  (newFrame)
	  emit leading .ll 8i.
	* gm2/examples/pge/foo.mod:  (regenerated).
	* gm2/gm2-gcc/m2builtins.c:  (m2builtins_BuildBuiltinTree)
	  corrected formatting.
	* testsuite/gm2/pim/pass/builtin.def:  corrected sinf
	  to use and return SHORTREAL types.
	* testsuite/gm2/pim/pass/builtin.mod:  corrected sinf
	  to use and return SHORTREAL types.
	* testsuite/gm2/pim/pass/testsinf.mod:  corrected test
	  to use REAL rather than SHORTREAL with sinf.

2013-11-20      Gaius Mulley <gaius@gnu.org>

	* gm2/config-lang.in:  added target-libgm2
	  to the list of target_libs.
	* gm2/examples/pge/foo.fig:  new example.
	* gm2/examples/pge/foo.mod:  regenerated.
	* gm2/gm2-compiler/M2GenGCC.mod:  change
	  type to Address if lvalue is used, this fixes the
	  regression test failure in
	  testsuite/gm2/iso/run/pass/unbounded.mod.
	* gm2/gm2spec.c:  remove extern int force_no_linker.
	  Changed variable name force_no_linker to allow_linker and
	  switched boolean value.  allow_linker now exported via gcc.h.
	* gm2/patches/gcc/4.7.3/0[0-9]-patches:
	  regenerated.
	* gm2/patches/gcc/4.7.3/10-patches:
	  regenerated.

2013-11-15      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/LongWholeIO.mod:  (ReadInt)
	* gm2/gm2-libs-iso/ShortWholeIO.mod:  (ReadInt)
	* gm2/gm2-libs-iso/WholeIO.mod:  (ReadInt)
	  catch overflow and set the read result accordingly.
	* gm2/gm2-libs-iso/LongWholeIO.mod:  (ReadInt)
	* gm2/gm2-libs-iso/ShortWholeIO.mod:  (ReadInt)
	* gm2/gm2-libs-iso/WholeIO.mod:  (ReadInt)
	  reference SetReadResult correctly via IOChan.

2013-11-14      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  (FoldBinary)
	  convert left and right operands to the result type.
	* gm2/gm2-libs-iso/ShortWholeIO.mod:  (ReadInt)
	  handle negative value without overflowing.
	* gm2/gm2-libs-iso/WholeIO.mod:  (ReadInt)
	  handle negative value without overflowing.

2013-11-13      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2ALU.mod:  (InitialiseArrayWith)
	  convert low and high bounds into integers when creating array
	  constants.
	* gm2/gm2-gcc/m2expr.c:  (m2expr_BuildAdd),
	  (m2expr_BuildSub), (m2expr_BuildDivTrunc), (m2expr_BuildModTrunc),
	  (m2expr_BuildDivFloor), (m2expr_BuildModFloor), (m2expr_BuildLSL),
	  (m2expr_BuildLSR), (m2expr_BuildLRL), (m2expr_BuildLRR),
	  (m2expr_BuildMask) all fold operands and also their results.
	  (m2expr_BuildLRotate) New function.  (m2expr_BuildRRotate)
	  New function.

2013-11-12      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2expr.c:  (m2expr_BuildCmplx) check
	  to see that the expressions are REAL_CST before calling
	  build_complex.
	* gm2/gm2-compiler/M2Options.def:  (FinaliseOptions)
	  exported.
	* gm2/gm2-gcc/m2options.h:  (FinaliseOptions)
	  declared extern.
	* gm2/gm2-lang.c:  (gm2_langhook_post_options)
	  call M2Options_FinaliseOptions.

2013-11-10      Gaius Mulley <gaius@gnu.org>

	* gm2/gcc-gm2/m2expr.c:  (m2expr_BuildCap) fold results of each
	  subexpression to ensure a constant is returned if a constant
	  parameter is given.

2013-11-08      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/fig.py:  added abiltity to set a default velocity.
	* gm2/examples/pge/foo.fig:  changed default demo.
	* gm2/examples/pge/foo.fig:  changed default demo.
	* gm2/tools-src/makeversion:  simplified to use 'cat'.
	  Necessary as the top level directory name no longer contains
	  the release number.
	* gm2/www/tools/texi2tr/html/download.html:  changed to
	  reflect change from cvs to git.

2013-10-28      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2block.c:  iterate over the tree chain adding declaration
	  statements (of variables) to the statement list.

2013-10-17      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  added new section (Building gcc-4.7
	  under Debian), added new section (Building gcc-4.7
	  under Solaris).
	* gm2/examples/pge/Fractions.mod:  updated dates.
	* gm2/examples/pge/circles.mxm:   added comments and rewritten to use
	  max2code syntax.
	* gm2/examples/pge/mxmmaxima.py:  corrected getPolynomials.
	* gm2/examples/pge/mxmparser.py:  many changes to allow stdout as a filename
	  specified by '-'.
	* gm2/examples/pge/mxmtree.py:  many changes and additions.
	* gm2/examples/pge/ramps2.mod:  useGroff (New constant).
	* gm2/examples/pge/rotating-line.mxm:  added comments and rewritten to
	  use max2code syntax.
	* gm2/examples/pge/snooker.mod:  added a boundary to the snooker table.
	* gm2/examples/pge/test.mxm:  rewritten to use max2code syntax.
	* gm2/examples/pge/twoDsim.mod:  minor changes to allow circle on circle
	  collision to be calculated from a max2code included source file.

2013-10-02      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/pge/circles.mxm:  (New file).
	* gm2/examples/pge/debugt:  (New file).
	* gm2/examples/pge/max2code.py:  (New file).
	* gm2/examples/pge/mxmmaxima.py:  (New file).
	* gm2/examples/pge/mxmout.py:  (New file).
	* gm2/examples/pge/mxmparser.py:  (New file).
	* gm2/examples/pge/mxmstack.py:  (New file).
	* gm2/examples/pge/mxmtree.py:  (New file).
	* gm2/examples/pge/mxmutils.py:  (New file).
	* gm2/examples/pge/pge.py:  (New file).
	* gm2/examples/pge/rotating-circles.mxm:  (New file).
	* gm2/examples/pge/rotating-line.mxm:  (New file).
	* gm2/examples/pge/runt:  (New file).
	* gm2/examples/pge/test.mxm:  (New file).

2013-09-27      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  (CodeHigh) convert high value into
	  a cardinal.  (FoldHigh) convert high value into cardinal.  Fixes
	  a bug exposed when compiling ulm-lib-gm2/std/StrSpec.mod.
	* gm2/gm2-compiler/M2GenGCC.mod:  (FoldHigh) convert constant into
	  a cardinal.

2013-09-26      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/LongWholeIO.def:  (Re-added).
	* ShortIO.def:  (Re-added).
	* ShortWholeIO.def:  (Re-added).
	* SLongWholeIO.def:  (Re-added).
	* SShortIO.def:  (Re-added).
	* SShortWholeIO.def:  (Re-added).
	* LongWholeIO.mod:  (Re-added).
	* ShortIO.mod:  (Re-added).
	* ShortWholeIO.mod:  (Re-added).
	* SLongWholeIO.mod:  (Re-added).
	* SShortIO.mod:  (Re-added).
	* SShortWholeIO.mod:  (Re-added).

2013-09-25      Gaius Mulley <gaius@gnu.org>

	* gm2/patches/gcc/4.7.3/[01-10]  (New patches created).
	  Added configure which fixes the absence of libgm2 being built.

2013-09-24      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2ALU.mod:  (BuildBitset) now return a
	  BITSET type rather than an integer.
	* gm2/gm2-compiler/M2GenGCC.mod:  (CodeInclude) do not convert the IntegerTree.
	  (CodeExclude) do not convert the IntegerTree.
	* gm2/gm2-gcc/m2expr.c:  (m2expr_BuildLogicalShift) convert op2 and op3
	  ToWord.  (m2expr_BuildIfConstInVar) use varset rather than p1.
	  (m2expr_BuildComponentRef)  call m2tree_skip_reference_type.
	  (m2expr_BuildBinaryForeachWordDo)  call m2treelib_get_set_field_des.
	* gm2/gm2-gcc/m2statement.c:  (m2statement_BuildIncludeVarConst)
	  use op1, rather than p1 in m2treelib_get_set_field_rhs.
	* gm2/gm2-gcc/m2tree.c:  (m2tree_skip_reference_type)  New function.
	* gm2/gm2-gcc/m2tree.h:  (m2tree_skip_reference_type)  New declaration.
	* gm2/gm2-gcc/m2treelib.c:  (m2treelib_get_set_field_des)  New function.
	* gm2/gm2-gcc/m2treelib.h:  (m2treelib_get_set_field_des)  New declaration.

2013-09-20      Gaius Mulley <gaius@gnu.org>

	* gm2/patches/gcc/4.7.3:  remade patch set which now includes toplevel
	  Makefile.def.

2013-09-18      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  (SkipModuleScope) New procedure
	  function.  PushBinding use SkipModuleScope.  PopBinding use
	  SkipModuleScope.
	* gm2/gm2-compiler/M2GenGCC.mod:  CodeAddr checks whether
	  op3 IsConstString.
	* gm2/gm2-gcc/m2convert.c:  (m2convert_ToBitset) New function.
	* gm2/gm2-gcc/m2convert.h:  (m2convert_ToBitset) New function.
	* gm2/gm2-gcc/m2expr.c:  many changes to use m2expr_FoldAndStrip
	  for binary operands.  Also many changes to set operators so
	  that COMPOUND_REF are used whenever possible and that operands
	  to binary operators are converted to the same types.
	  Use m2expr_BuildAddAddress instead of BuildAdd for address
	  arithmetic.
	* gm2/gm2-gcc/m2expr.h:  fix header for m2expr_BuildAddAddress.
	* gm2/gm2-gcc/m2statement.c:  many changes to set operators so
	  that COMPOUND_REF are used whenever possible and that operands
	  to binary operators are converted to the same types.
	  Use m2expr_BuildAddAddress instead of BuildAdd for address
	  arithmetic.
	* gm2/gm2-gcc/m2treelib.c:  use COMPOUND_REF whenever possible.
	  Convert all set return values to BITSET.  Use m2expr_BuildAddr
	  rather than m2expr_build_unary_op.

2013-09-14      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2block.c:  more fixes for nested procedures
	  in finishFunctionDecl.  Also enabled three asserts.

2013-09-10      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  convert all operands for
	  comparison operators.

2013-09-06      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2block.c:  (cosmetic changes).
	* gm2/gm2-gcc/m2statement.c:  (m2statement_BuildEndFunctionCode)
	  call cgraph_get_create_node for a nested function otherwise
	  call cgraph_finalize_function and gm2_gimplify_function_code.
	  Fixes allow nested procedures to be compiled.

2013-08-14      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-lang.c:  (gm2_langhook_init_options) New function.
	  (is_cpp_filename) New function.  gm2_langhook_post_options
	  call M2Options_SetCC1Quiet.  gm2_parse_input_files only call
	  init_PerCompilationInit if filename is not a cpp filename argument.
	* gm2/gm2spec.c:  corrected comment typo.  (get_B_or_prefix)
	  New function.  add_exec_name use find_executable_path.
	  (lang_register_spec_functions).  New function.
	  (add_exec_dir) modified to create the argument -fcppprog=.
	* gm2/lang-specs.h:  add %:exec_prefix(cc1) to all -fcpp options.
	* gm2/lang.opt:  added imultilib to Modula-2.
	* gm2/gm2-compiler/M2DriverOptions.def:  (CppCommandLine) New function.
	* gm2/gm2-compiler/M2DriverOptions.mod:  (CppCommandLine) implemented
	  new function.
	* gm2/gm2-compiler/M2Options.def:  (SetCC1Quiet) New function.
	* gm2/gm2-compiler/M2Options.mod:  (ScanCppArgs) Removed function.
	  (CppCommandLine) New function.  (CppProg) New function.
	  (CppArg) New function.  (SetCC1Quiet) New function.
	* gm2/gm2-compiler/M2Preprocess.mod:  removed hack inside PreprocessModule.
	* gm2/gm2-gcc/m2options.h:  New definitions for M2Options_SetCC1Quiet,
	  M2Options_CppProg and M2Options_CppArg.
	* gm2/patches/gcc/4.7.3/01-patches:  rebuilt.
	* gm2/patches/gcc/4.7.3/02-patches:  rebuilt.
	* gm2/patches/gcc/4.7.3/03-patches:  rebuilt.
	* gm2/patches/gcc/4.7.3/04-patches:  rebuilt.
	* gm2/patches/gcc/4.7.3/05-patches:  rebuilt.
	* gm2/patches/gcc/4.7.3/06-patches:  rebuilt.
	* gm2/patches/gcc/4.7.3/07-patches:  rebuilt.
	* gm2/patches/gcc/4.7.3/08-patches:  rebuilt.

2013-07-20      Gaius Mulley <gaius@gnu.org>

	* gm2/configure.in:  corrected dates.
	* gm2/gm2spec.c:  (add_B_prefix) now calls insert_option.  (add_library)
	  calls insert_option.  (insert_option) New function.
	* gm2/bnf/gm2l.bnf:  corrected dates and also emit full path to the
	  source file in the comment section.  Also exit(1) if no source file
	  can be found.
	* gm2/gm2-compiler/gm2lcc.mod:  allow -B to either take a concatenated
	  argument or use the next argument.

2013-07-15      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2spec.c:  (fe_generate_option) fixed cast to XCNEWVEC.
	  (printOption) moved function earlier in the file.
	  (add_library) position is now declared as unsigned int.
	  (add_library) more debugging, also copy arguments correctly
	  into the new array.  (lang_specific_driver) corrected strncmp
	  count.

2013-07-12      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2spec.c:  get_prefix removed string literal and replaced it with
	  PREFIX.  Fix to call add_link_from_include swapped parameters.  Use
	  unsigned int as a comparison.  Removed unused variable.
	* gm2/Make-lang.in:  add -DPREFIX to the build rule for gm2spec.o.
	* gm2/gm2.texi:  removed item about limitation to link as this is now fixed.

2013-07-11      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-lang.c:  gm2_langhook_getdecls return value from m2block_GetGlobals().
          gm2_langhook_write_globals call write_global_declarations.
	* gm2/gm2spec.c:  (purge_include_options) New function.  Call ge_generate_option
	  if -I is found.
	* gm2/gm2-compiler/M2GenGCC.mod:  corrected dates.
	* gm2/gm2-gcc/m2block.c:  assert_global_names (New function).  m2block_GetGlobals
	  call assert_global_names and return global_binding_level->names.
	* gm2/gm2-gcc/m2block.def:  GetGlobals (New procedure function).
	* gm2/gm2-gcc/m2block.h:  GetGlobals (New procedure function).
	* gm2/gm2-gcc/m2decl.c:  added debugging hooks to detect variables being declared.
	* gm2/gm2spec.c:  convert_include_into_link (New procedure function).

2013-07-08      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  removed installation rules for library modules.
	* gm2/gm2.texi:  added information on how to build gm2 grafted onto gcc-4.7.3.
	* gm2/gm2spec.c:  many changes which reintroduce the gm2 linking mechanism and
	  via specs.  Many changes due to the differences between gcc-4.7.3 and gcc-4.1.2.
	* gm2/lang-specs.h:  corrected dates.
	* gm2/gm2-compiler/M2Defaults.def:  corrected dates.
	* gm2/gm2-compiler/M2Defaults.mod:  corrected dates.
	* gm2/gm2-compiler/M2FileName.def:  corrected dates.
	* gm2/gm2-compiler/M2FileName.mod:  corrected dates.
	* gm2/gm2-compiler/M2Options.mod:  added Debugging and printf1.
	* gm2/gm2-compiler/M2Search.def:  corrected dates.
	* gm2/gm2-compiler/M2Search.mod:  corrected dates.
	* gm2/gm2-compiler/gm2lcc.mod:  corrected dates.
	* gm2/www/Makefile.in:  commented out texisrc subcomponents and fixed path for
	  TEXI2HTML.
	* gm2/patches/gcc/4.7.3/01-patches:  (Re-made patch).
	* gm2/patches/gcc/4.7.3/02-patches:  (Re-made patch).
	* gm2/patches/gcc/4.7.3/03-patches:  (Re-made patch).
	* gm2/patches/gcc/4.7.3/04-patches:  (Re-made patch).
	* gm2/patches/gcc/4.7.3/05-patches:  (New file).

2013-06-14      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  removed many of the library building rules.
	* gm2/Makefile.in:  added description comment.
	* gm2/gm2.texi:  updated dependencies for building gm2 on the gcc-4.7.x.
	* gm2/examples/pge/rotating-line.asc:  rebuilt the .asc.
	* gm2/gm2-libs-ch/termios.c:  include correct target/host configure header file.
	* gm2/gm2-libs-min/libc.c:  updated copyright dates.
	* gm2/p2c/p2c.h:  tidied formatting.
	* gm2/p2c/p2c-src/include/system.h:  remove include <varargs.h>.  Add
	  include of <stddef.h>.

2013-04-30      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2ALU.def:  (ConvertToType) New procedure.
	* gm2/gm2-compiler/M2ALU.mod:  (ConvertToType) New procedure
	  implemented.
	  Call ToInteger to change internal GCC types when computing bitsets.
	* gm2/gm2-compiler/M2GenGCC.mod:  GetFieldNo converts M2ALU gcc trees
	  using ToCardinal.
	* gm2/gm2-compiler/M2Quads.mod:  (GetProtection) New procedure function.
	  (CheckNeedPriorityBegin)  create variable of PROTECTION type rather than
	  CARDINAL.
	* gm2/gm2-gcc/m2convert.c:  (ToInteger) New function.
	* gm2/gm2-gcc/m2convert.def:  (ToInteger) New procedure function.
	* gm2/gm2-gcc/m2convert.h:  (ToInteger) New procedure function.
	* gm2/gm2-gcc/m2expr.c:  (m2expr_BuildLogicalShift) convert binary
	  operands to the same type.
	* gm2/gm2-gcc/m2statement.c:  (m2statement_BuildUnaryForeachWordDo)
	  convert binary operands to the same type and correct the call to
	  (*unop).
	* gm2/gm2-gcc/m2statement.h:  corrected parameter (*unop) to
	  include the location_t parameter.

2013-04-25      Gaius Mulley <gaius@gnu.org>

	* gm2/c.flex:  changed variable names try into ctry to avoid compiler
	  warning.
	* gm2/gm2-lang.c:  (gimplify_expr_stmt) New function.
	  (gm2_langhook_gimplify_expr) reimplemented to gimplify THROW_EXPR
	  and EXPR_STMT.
	* gm2/gm2-tree.def:  fixed dates.
	* gm2/m2pp.c:  (m2pp_simple_expression) added CLEANUP_POINT_EXPR
	  handling.  Check issue begin before exception related nodes to aid
	  pretty printing.
	* gm2/gm2-gcc/m2except.c:  huge rewrite to bring it into line with
	  the exception handling schema used in gcc-4.7.1.  Use
	  m2statements to call the exception handling helper functions.
	* gm2/gm2-gcc/m2statement.c:  fixed typo in comment.
	* gm2/gm2spec.c:  change fseen_no_exceptions into fseen_exceptions
	  and invert logic.
	* gm2/lang.opt:  use fexceptions rather than fno-exceptions
	  and use the option value which by default is TRUE.

2013-04-18      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/config-host:  rebuilt.
	* gm2/gm2-libs/config-host.in:  fix to generate SIZEOF_long and
	  presence of struct timeval.
	* gm2/gm2-libs/config-target:  rebuilt.
	* gm2/gm2-libs/config-target.in:  fix to generate SIZEOF_long and
	  presence of struct timeval.
	* gm2/gm2-libs/gm2-libs-host.h.in:  add define for SIZEOF_LONG and
	  HAVE_TIMEVAL.
	* gm2/gm2-libs/gm2-libs-target.h.in:  add define for SIZEOF_LONG and
	  HAVE_TIMEVAL.
	* gm2/Make-lang.in:  (gm2.maintainer-reconfigure)
	  (gm2.maintainer-help) New rules.
	* gm2/configure.in:  fixed release number to 1.0.5.
	* gm2/configure:  rebuilt.

2013-04-11      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/m2type.c:  (m2type_GetArrayNoOfElements) call
	  m2expr_FoldAndStrip to ensure array bounds are defined by
	  constants.  (m2type_BuildArrayIndexType) call
	  m2expr_FoldAndStrip to ensure array bounds are defined by
	  constants.   This fix allows DynamicStrings.mod to compile.
	* gm2/gm2-gcc/m2type.c:  (m2type_BuildEndRecord) removed call
	  to m2block_pushDecl.

2013-04-10      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-lang.c:  comment out definition for LANG_HOOKS_GIMPLIFY_EXPR.
	* gm2/gm2-compiler/M2ALU.mod:  Convert top of stack to Integer type.
	* gm2/gm2-compiler/M2GenGCC.mod:  ensure that the global scope is in use in CodeEndFile,
	  CodeStartDefFile, CodeStartModFile.  ConvertForComparison convert pointer types to
	  ADDRESS.  Fix calls to BuildThrow to use a location initial parameter.
	* gm2/gm2-compiler/M2Range.mod:  (CodeWholeZero) convert const lit zero into the same
	  type as, e.
	* gm2/gm2-gcc/m2block.c:  added DEBUGGING macro and debugging prints.
	* gm2/gm2-gcc/m2convert.c:  (m2convert_BuildConvert) added more steps to aid debugging.
	* gm2/gm2-gcc/m2convert.h:  (m2convert_BuildConvert) changed parameter names.
	* gm2/gm2-gcc/m2except.def:  (BuildThrow) added missing initial parameter.
	* gm2/gm2-gcc/m2expr.c:  (gm2/gm2-gcc/m2expr.c)  added conversion between
	  pointer types for MINUS_EXPR.
	* gm2/gm2-gcc/m2statement.c:  (m2statement_BuildEndFunctionCode) call
	  gm2_gimplify_function_node.
	* gm2/gm2-gcc/m2treelib.c:  (m2treelib_do_jump_if_bit) use m2expr_GetWordZero
	  rather than m2expr_GetIntegerZero.
	* gm2/gm2-gcc/m2type.c:  (m2type_InitBaseTypes) call m2expr_init.

2013-03-27      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2spec.c:  intemediate checkin.  With enough changes to allow the
	  libraries to compile.
	* gm2/lang-specs.h:  intemediate checkin.  With enough changes to allow the
	  libraries to compile.
	* gm2/lang.opt:  changed help strings for options which are shared by C into
	  comments.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  convert resolved constants into a
	  specific type.
	* gm2/gm2-compiler/M2GenGCC.mod:  (ConvertBinaryOperands) New procedure.
	  Convert binary operands into same types.
	* gm2/gm2-compiler/M2Options.mod:  Quiet default to TRUE.
	* gm2/gm2-compiler/M2Range.mod:  convert operands to IfOutsideLimits to
	  the same type.
	* gm2/gm2-gcc/m2expr.c:  convert operands to BuildLessThan to the same types.
	* gm2/gm2-gcc/m2expr.def:  (BuildAddAddress) New procedure function.
	* gm2/gm2-gcc/m2expr.h:  (BuildAddAddress) New procedure function.
	* gm2/gm2-gcc/m2statement.c:  BuildIndirectProcedureCall use TREE_VALUE (t)
	  rather than, t.

2013-03-22      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2spec.c:  many bug fixes relating to using (*in_options)[]
	  rather than options[].

2013-03-20      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added gm2/gm2-gcc/m2assert.o to list
	  of objects.
	* gm2/TODO:  added new future change request.
	* gm2/gm2-lang.c:  added -flocation= flag for internal debugging.
	  Tidied up file by removing some of the #if 0 code.
	* gm2/gm2spec.c:  re-written comment for clarity.
	* gm2/lang-options.h:  added -x and -flocation= options.
	* gm2/lang.opt:  added -flocation= and -x specifications.
	* gm2/m2.flex:  override the current location if -flocation is set.
	* gm2/m2pp.c:  add debugging code and also handle the expression node
	  POINTER_PLUS_EXPR.
	* gm2/gm2-compiler/M2GenGCC.mod:  added location to many of the build tree functions.
	  Also convert operands correctly in FoldBecomes.  Added type checking in binary
	  operators.
	* gm2/gm2-compiler/M2Options.def:  (OverrideLocation, SetForcedLocation) New Procedures.
	* gm2/gm2-compiler/M2Options.mod:  (OverrideLocation, SetForcedLocation) Implemented.
	* gm2/gm2-compiler/M2Quads.mod:  Set types for intemediate constants when calculating
	  unbounded array indices.
	* gm2/gm2-compiler/M2Range.mod:  ensure that max min values are checked against the
	  same typed variable.
	* gm2/gm2-compiler/M2System.def:  add location to InitSystem.
	* gm2/gm2-compiler/M2System.mod:  add location to InitSystem.
	* gm2/gm2-gcc/m2assert.h:  added m2assert_AssertLocation prototype.  Convert m2assert.h
	  to general modular style header file.
	* gm2/gm2-gcc/m2block.c:  ensure that all declarations are added to the BIND_EXPR_BODY.
	* gm2/gm2-gcc/m2builtins.def:  add location_t to many of the build tree procedure functions.
	* gm2/gm2-gcc/m2convert.c:  use m2assert_AssertLocation.
	* gm2/gm2-gcc/m2decl.c:  use m2assert_AssertLocation.
	* gm2/gm2-gcc/m2except.c:  use m2assert_AssertLocation.
	* gm2/gm2-gcc/m2expr.c:  use m2assert_AssertLocation.  Fixed bugs in type conversion.
	* gm2/gm2-gcc/m2expr.h:  added m2expr_GetCardinalZero and m2expr_GetCardinalOne.
	* gm2/gm2-gcc/m2options.h:  M2Options_SetForcedLocation, M2Options_OverrideLocation (New
	  procedure functions).
	* gm2/gm2-gcc/m2statement.c:  use m2assert_AssertLocation.
	* gm2/gm2-gcc/m2top.c:  remove call to cgraph_finalize_compilation_unit.
	* gm2/gm2-gcc/m2treelib.c:  fix DoCall by using TREE_VALUE (l) rather than, l.
	* gm2/gm2-gcc/m2type.c:  use m2assert_AssertLocation.
	* gm2/gm2-libs/FIO.mod:  cast position to INTEGER before comparing it to the return
	  value for write.
	* gm2/gm2-gcc/m2assert.c:  (New file).

2013-02-21      Gaius Mulley <gaius@gnu.org>

	* gm2/patches/gcc/4.7.1/01-patches:  (New file).
	* gm2/patches/gcc/4.7.1/02-patches:  (New file).

2013-02-18      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/RandomNumber.def:  (New file).
	* gm2/gm2-libs-iso/RandomNumber.mod:  (New file).

2013-02-11      Gaius Mulley <gaius@gnu.org>


	* gm2/gm2-lang.c:  removed reference to gm2-common.h.
	* gm2/gm2-lang.h:  include gm2_langhook_init and gm2_langhook_handle_option.
	* gm2/gm2-gcc/m2options.h:  corrected spelling of M2Options_setdefextension
	  and M2Options_setmodextension.
	* gm2/gm2-compiler/M2DebugStack.def:  (New file).
	* gm2/gm2-compiler/M2DebugStack.mod:  (New file).
	* gm2/gm2-compiler/M2DriverOptions.def:  (New file).
	* gm2/gm2-compiler/M2DriverOptions.mod:  (New file).

2013-02-09      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  build rules changed to enable gm2 to be built
	  with gcc-4.7.1.
	* gm2/NEWS:  minor version number change.
	* gm2/config-lang.in:  removed gcc-3.x.y version checking.
	* gm2/configure:  rebuilt.
	* gm2/configure.in:  updated as gccgm2.c is no longer used.
	* gm2/gccgm2.c:  (removed).  The contents of this 12000 line file
	  have been replaced by the modular equivalent in gm2/gm2-gcc/*.[ch]
	* gm2/gm2-common.h:  (removed).
	* gm2/gm2-common.c:  (removed).
	* gm2/gm2-lang.c:  changed to use the gm2/gm2-gcc structure and gcc-4.7.1.
	* gm2/gm2-lang.h:  changed to use the gm2/gm2-gcc structure and gcc-4.7.1.
	* gm2/gm2-tree.def:  removed THROW_EXPR, TRY_BLOCK, HANDLER, EXPR_STMT definitions.
	* gm2/gm2-tree.h:  commented out the language tree code.
	* gm2/gm2.texi:  modified to reflect library command line switch changes between
	 1.0.1 and 1.0.4.  Improved the assembly language example together with an explanation.
	 Added alignment information.  Updated the Solaris building instructions.
	* gm2/gm2config.h.in:  (updated to reflect gcc-4.7.1).
	* gm2/gm2spec.c:    (updated to reflect gcc-4.7.1).
	* gm2/lang-options.h:  changed -fverbose-unbounded to -Wverbose-unbounded.
	* gm2/lang.opt:  changed so that libraries dialects can be ordered.
	* gm2/m2.flex:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/m2pp.c:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/p2crc:  added many more AvoidNames to avoid conflicts with C header files.
	* gm2/version.c:  updated to 1.0.5.
	* gm2/bnf/gm2l.bnf:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/bnf/gm2m.bnf:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/bnf/m2-2.bnf:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/bnf/m2-3.bnf:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/bnf/m2-c.bnf:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/bnf/m2-h.bnf:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/bnf/m2.bnf:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/el/g-mode.el:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/examples/gravity/README:  updated package versions required.
	* gm2/examples/gravity/twoDsim.def:  updated dates.
	* gm2/examples/gravity/twoDsim.mod:  updated dates and improved debugging.
	* gm2/examples/gravity/doc/collision.ms:  reorganised document.
	* gm2/examples/hello/Makefile.in:  modified build rules.
	* gm2/examples/hello/hello.mod:  added blank line.
	* gm2/examples/map/AdvMap.def:  removed BITSET import.
	* gm2/gm2-compiler/Indexing.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2ALU.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2ALU.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Base.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Base.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Batch.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Batch.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Bitset.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2CaseList.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2CaseList.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Code.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Comp.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Comp.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Error.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2GCCDeclare.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2GenGCC.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2GenGCC.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2LexBuf.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2LexBuf.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2MetaError.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Options.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Options.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Preprocess.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Printf.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Quads.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Quads.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Range.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Range.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Reserved.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2Reserved.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2System.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/M2System.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/P2SymBuild.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/P2SymBuild.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/PCSymBuild.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/Sets.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/SymbolConversion.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/SymbolConversion.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/SymbolKey.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/SymbolKey.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/SymbolTable.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/SymbolTable.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/gccgm2.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/gm2.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/m2flex.def:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-compiler/ppg.mod:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/gm2-libs/Builtins.def:  added alloca_trace for debugging.
	* gm2/gm2-libs/Builtins.mod:  implemented alloca_trace for debugging.
	* gm2/gm2-libs/Indexing.mod:  removed BITSET from imports.
	* gm2/gm2-libs/M2RTS.def:  removed BITSET from imports.
	* gm2/gm2-libs/SYSTEM.def:  removed BITSET from export list.
	* gm2/gm2-libs/config-host:  rebuilt.
	* gm2/gm2-libs/config-host.in:  updated version to 1.0.5.
	* gm2/gm2-libs/config-target:  rebuilt.
	* gm2/gm2-libs/config-target.in:  updated version to 1.0.5.
	* gm2/gm2-libs-boot/SYSTEM.def:  removed BITSET from export list.
	* gm2/gm2-libs-coroutines/SYSTEM.def:  removed BITSET from export list.
	* gm2/gm2-libs-iso/README.texi:  updated the list of implemented ISO Modules and GNU Modules.
	* gm2/gm2-libs-iso/SYSTEM.def:  export TBITSIZE.
	* gm2/gm2-libs-iso/ServerSocket.mod:  added missing, RETURN TRUE.
	* gm2/gm2-libs-iso/StdChans.mod:  changed to include 'raw' in the std file descriptors.
	* gm2/gm2-libs-min/SYSTEM.def:  removed BITSET from export list.
	* gm2/gm2-libs-pim/BitBlockOps.mod:  removed BITSET from import list.
	* gm2/gm2-libs-pim/BitByteOps.mod:  removed BITSET from import list.
	* gm2/gm2-libs-pim/BitWordOps.mod:  removed BITSET from import list.
	* gm2/gm2-libs-pim/Random.def:  fixed RandomBytes definition.
	* gm2/gm2-libs-pim/Random.mod:  fixed RandomBytes definition.
	* gm2/init/gm2linit:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/init/gm2minit:  updated to reflect gcc-4.7.1 and the new gm2/gm2-gcc structure.
	* gm2/p2c/p2c.h:  modified prototypes to use plain C.
	* gm2/p2c/p2c-src/src/citmods.c:  use TOUPPER rather than toupper, use TOLOWER rather than tolower.
	* gm2/p2c/p2c-src/src/decl.c:  test for WORD and use unsigned int.
	* gm2/p2c/p2c-src/src/expr.c:  use TOLOWER, ISSPACE, ISDIGIT, ISALPHA rather than their lower case
	  counterparts.
	* gm2/p2c/p2c-src/src/funcs.c:  use TOUPPER rather than the lower case counterpart.
	* gm2/p2c/p2c-src/src/lex.c:  register the uppercase functions:  TOLOWER, TOUPPER, ISALPHA, ISDIGIT.
	* gm2/p2c/p2c-src/src/p2clib.c:  use ISSPACE and TOUPPER rather than their lower case counterparts.
	* gm2/tools-src/def2texi.py:  many changes to explicitly differentiate between the build and src directories.
	* gm2/tools-src/mklink.c:  modified so that the default library is NULL and new --lib specifies the library.
	  Also alter long options to use -- rather than -.
	* gm2/ulm-lib-gm2/std/Archive.def:  remove BITSET from import.
	* gm2/ulm-lib-gm2/std/M2RTS.mod:  remove BITSET from import.
	* gm2/ulm-lib-gm2/std/MathLib.mod:  remove BITSET from import.
	* gm2/ulm-lib-gm2/std/Plot.mod:  remove BITSET from import.
	* gm2/ulm-lib-gm2/sys/SYSTEM.def:  remove BITSET from import.
	* gm2/ulm-lib-gm2/sys/SysIoctl.def:  remove BITSET from import.
	* gm2/ulm-lib-gm2/sys/SysStat.def:  remove BITSET from import.
	* gm2/ulm-lib-gm2/sys/SysStat.mod:  remove BITSET from import.
	* gm2/www/tools/texi2tr/html/download.html:  modified url to reference gm2-1.0.4.
	* gm2/www/tools/texi2tr/html/release.html:  modified url to reference gm2-1.0.4.

2013-02-08      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-gcc/dynamicstrings.h:  (New file).
	* gm2/gm2-gcc/init.c:  (New file).
	* gm2/gm2-gcc/init.cpp:  (New file).
	* gm2/gm2-gcc/init.def:  (New file).
	* gm2/gm2-gcc/init.h:  (New file).
	* gm2/gm2-gcc/m2assert.h:  (New file).
	* gm2/gm2-gcc/m2block.c:  (New file).
	* gm2/gm2-gcc/m2block.def:  (New file).
	* gm2/gm2-gcc/m2block.h:  (New file).
	* gm2/gm2-gcc/m2builtins.c:  (New file).
	* gm2/gm2-gcc/m2builtins.def:  (New file).
	* gm2/gm2-gcc/m2builtins.h:  (New file).
	* gm2/gm2-gcc/m2convert.c:  (New file).
	* gm2/gm2-gcc/m2convert.def:  (New file).
	* gm2/gm2-gcc/m2convert.h:  (New file).
	* gm2/gm2-gcc/m2decl.c:  (New file).
	* gm2/gm2-gcc/m2decl.def:  (New file).
	* gm2/gm2-gcc/m2decl.h:  (New file).
	* gm2/gm2-gcc/m2except.c:  (New file).
	* gm2/gm2-gcc/m2except.def:  (New file).
	* gm2/gm2-gcc/m2except.h:  (New file).
	* gm2/gm2-gcc/m2expr.c:  (New file).
	* gm2/gm2-gcc/m2expr.def:  (New file).
	* gm2/gm2-gcc/m2expr.h:  (New file).
	* gm2/gm2-gcc/m2linemap.c:  (New file).
	* gm2/gm2-gcc/m2linemap.def:  (New file).
	* gm2/gm2-gcc/m2linemap.h:  (New file).
	* gm2/gm2-gcc/m2misc.c:  (New file).
	* gm2/gm2-gcc/m2misc.def:  (New file).
	* gm2/gm2-gcc/m2misc.h:  (New file).
	* gm2/gm2-gcc/m2options.h:  (New file).
	* gm2/gm2-gcc/m2search.h:  (New file).
	* gm2/gm2-gcc/m2statement.c:  (New file).
	* gm2/gm2-gcc/m2statement.def:  (New file).
	* gm2/gm2-gcc/m2statement.h:  (New file).
	* gm2/gm2-gcc/m2top.c:  (New file).
	* gm2/gm2-gcc/m2top.def:  (New file).
	* gm2/gm2-gcc/m2top.h:  (New file).
	* gm2/gm2-gcc/m2tree.c:  (New file).
	* gm2/gm2-gcc/m2tree.def:  (New file).
	* gm2/gm2-gcc/m2tree.h:  (New file).
	* gm2/gm2-gcc/m2treelib.c:  (New file).
	* gm2/gm2-gcc/m2treelib.def:  (New file).
	* gm2/gm2-gcc/m2treelib.h:  (New file).
	* gm2/gm2-gcc/m2type.c:  (New file).
	* gm2/gm2-gcc/m2type.def:  (New file).
	* gm2/gm2-gcc/m2type.h:  (New file).
	* gm2/gm2-gcc/README:  (New file).

2013-01-09      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  updated the building process for OpenBSD
	  and NetBSD.

2013-01-07      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/SShortWholeIO.def:  (added file).
	* gm2/gm2-libs-iso/SShortWholeIO.mod:  (added file).
	* gm2/gm2-libs-iso/SShortIO.def:  (added file).
	* gm2/gm2-libs-iso/SShortIO.mod:  (added file).
	* gm2/gm2-libs-iso/SLongWholeIO.def:  (added file).
	* gm2/gm2-libs-iso/SLongWholeIO.mod:  (added file).
	* gm2/gm2-libs-iso/ShortIO.def:  (added file).
	* gm2/gm2-libs-iso/ShortIO.mod:  (added file).
	* gm2/gm2-libs-iso/LongWholeIO.def:  (added file).
	* gm2/gm2-libs-iso/LongWholeIO.mod:  (added file).
	* gm2/gm2-libs-iso/ShortWholeIO.def:  (added file).
	* gm2/gm2-libs-iso/ShortWholeIO.mod:  (added file).
	* gm2/gm2/Make-lang.in:  added the following modules
	  to be built and installed as part of the ISO libraries:
          SShortIO.mod, SShortIO.def, SLongWholeIO.mod, SLongWholeIO.def,
          ShortWholeIO.def, ShortIO.def, LongWholeIO.def, SShortWholeIO.mod
          ShortWholeIO.mod, ShortIO.mod, LongWholeIO.mod
        * gm2/gm2-compiler/M2Base.mod:  fixed bug, which omitted to declare
	  MaxShortInt, MinShortInt, MaxShortCard, MinShortCard.
	* gm2/gm2-libs-iso/README.texi:  updated list of ISO style modules
	  and their respective copyrights.  Minor documentation added.

2012-12-10      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-pim/Random.mod:  fixed bug in RandomLongReal
	  report by Steve Giess.  Incorrect data type was used which
	  caused a NaN to be generated.

2012-12-08      Gaius Mulley <gaius@gnu.org>

	* gm2/examples/gravity/twoDsim.mod:  (added semicolon).
	* gm2/gm2-libs-pim/InOut.def:  improved comment to
	  OpenOutput.
	* gm2/gm2-libs-pim/InOut.mod:  fixed so that the file
	  can only be written to if it does not already exist.

2012-12-03      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/RandomNumber.def:  (added file).
	* gm2/gm2-libs-iso/RandomNumber.mod:  (added file).

2012-11-26      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-pim/Random.def:  fixed declaration of
          RandomBytes to use VAR parameter.
	* gm2/gm2-libs-pim/Random.mod:  fixed declaration of
          RandomBytes to use VAR parameter.  Also improved
	  implementation of RandomReal and RandomLongReal.
	* gm2/gm2-libs-iso/RandomNumber.def:  (New module).
	* gm2/gm2-libs-iso/RandomNumber.mod:  (New module).
	* gm2/Make-lang.in:  add RandomNumber.mod to the list
	  of ISO modules.
	* gm2/gm2-libs-iso/RandomNumber.def:  Fixed description.

2012-11-21      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-pim/Random.def:  export RandomLongReal and
	  RandomBytes.  Fixes a bug reported by Steve Giess.

2012-09-19      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/SymbolTable.mod:  bug fix to fix up all
	  unbounded parameter types if they are produced via partial
	  unbounded symbols.  Fixes a bug exposed by macroObjects.mod
	  in a new example directory.

2012-06-28      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  CodeAddr can now obtain the
	  address of CHAR constants.  Fixes a bug reported by Scott
	  Iverson.
	* gm2/gm2-compiler/M2GenGCC.mod:  corrected CodeAddr to ensure
	  that the address of a char is only converted into address of
	  a string for constants.

2012-05-04      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2spec.c:  detect -fonlylink.  Ensure that -fonlylink is
	  present on the command line if -fmakeall is used.  Otherwise
	  the driver will compile and link the main module object together
	  with the main module compiled via the make.  Fixes a bug reported
	  by Scott Iverson, linking a shared library.

2012-05-03      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  (BinaryOperands) New procedure function.
	  Used by FoldAdd, CodeAdd, FoldSub, CodeSub, FoldMult, CodeMult,
	  FoldDivTrunc, CodeDivTrunc, FoldModFloor, CodeModFloor.

2012-05-02      Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  (convert_for_comparison) New function.
	  gccgm2_BuildEqualTo, gccgm2_BuildNotEqualTo use
	  convert_for_comparison.  This fixes comparison between a
	  WORD operand.  Bug reported by Scott Iverson.
	* gm2/gccgm2.c:  applied fix for all WORD sizes.

2012-05-01      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  (CodeStandardFunction) implement
	  TBITSIZE.  (FoldStandardFunction) implement TBITSIZE.
	* gm2/gm2-compiler/M2Quads.mod:  (BuildTBitSizeFunction) New
	  procedure function.
	* gm2/gm2-compiler/M2System.def:  (TBitSize) define and export.
	  Tidied up formatting (sym used instead of Sym).
	* gm2/gm2-compiler/M2System.mod:  initialise TBitSize.
	  Tidied up formatting (sym used instead of Sym).
	  (IsPseudoSystemFunction) includes TBitSize.

2012-04-30      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  (BuildRecord) fixed bit
	  field calculation.

2012-04-28      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Range.mod:  (firstmention) New field
	  in Range.  (FirstMention) New procedure function.
	  FoldTypeAssign, FoldTypeParam, FoldTypeExpr, CodeTypeAssign,
          CodeTypeParam, CodeTypeExpr call FirstMention before
	  emitting an error message.  Multiple related messages have
	  been chained.  This fixes a bug report by Scott Iverson
	  (duplicate error messages).
	* gm2/Make-lang.in:  tidied up formatting and added a commented
	  out short cut used during development.
	* gm2/gccgm2.c:  tidied up formatting of gccgm2_GetSizeOf.
	  gccgm2_GetSizeOf now detects COMPONENT_REF.
	  gccgm2_GetSizeOfInBits now detects COMPONENT_REF.
	* gm2/gm2.texi:  added new example of how bit field packing
	  can be achieved.
	* gm2/bnf/m2-3.bnf:  removed call to dummy
	  CheckOuterScopeProcedureVariable procedure.
	* gm2/bnf/m2-h.bnf:  removed import CheckOuterScopeProcedureVariable.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  (WalkComponentDependants)
	  New procedure.  (IsValueDeendants) New procedure function.
	* gm2/gm2-compiler/M2GenGCC.mod:  (FoldRecordField, CodeRecordField)
	  New procedures.  CodeUnbounded simplified.
	* gm2/gm2-compiler/M2Quads.def:  Removed
	  CheckOuterScopeProcedureVariable.
	* gm2/gm2-compiler/M2Quads.mod:  many changes to allow
	  record accesses to be achieved via the GCC Tree
	  COMPONENT_REF.  To this end we use a front end symbol
	  component which mirrors the eventual GCC Tree.
	  BuildAdrFunction altered to obtain the address of
	  Components and the WITH statement has been rewritten.
	  (CheckOuterScopeProcedureVariable) removed.
	  New quadruple operator RecordFieldOp introduced to
	  generate components.  All unbounded accesses use the
	  new component record mechanism.
	* gm2/gm2-compiler/SymbolTable.def:  (MakeComponentRecord),
	  (MakeComponentRef), (IsComponent) New procedure functions.
	* gm2/gm2-compiler/SymbolTable.mod:  (MakeComponentRecord),
	  (MakeComponentRef), (IsComponent), (GetNthFromComponent),
	  (buildTemporary).  MakeTemporary use buildTemporary.
	  New procedure functions.

2012-04-11      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  (DeclarePackedSet) New
	  procedure.
	* gm2/gm2-compiler/SymbolTable.mod:  (MakeSet) creates an
	  equivalent packedInfo placeholder.  (MakeEquivalent)
	  and (GetPackedEquivalent) modified to handle set type.

2012-04-07      Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:   (calcNbits) New function.
	* gm2/m2pp.c:  (ptc), (m2pp_getaligned),
	  (m2pp_recordfield_alignment) New functions.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  fixes to DeclarePackedType.
	* gm2/gm2-compiler/P2SymBuild.mod:  fixes to HandleRecordFieldPragmas.
	* gm2/gm2-compiler/SymbolTable.mod:  fixes to
	  GetDefaultRecordFieldAlignment.

2012-03-27      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  added missing RETURN
	  statement.
	* gm2/examples/gravity/twoDsim.mod:  added debugging procedure
	  to display the definition of the polygon.

2012-03-17      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/SymbolTable.mod:  record when an unknown
	  symbol is reported and ensure that we only report unknown
	  symbols once.  Fixes a bug reported by Scott Iverson.
	  Procedure UnknownSymbolError uses IsUnreportedUnknown and
	  populates ReportedUnknowns whenever an error message is
	  generated.  New procedure function (IsUnreportedUnknown).
	* gm2/gm2-compiler/M2GCCDeclare.mod:  renamed MaybePackField
	  by MakebeAlignField.
	* gm2/gm2-compiler/SymbolTable.mod:  GetAlignment modified
	  to return the alignment of Varient and VarientFields.

2012-02-23      Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  (gccgm2_BuildStartFieldVarient,
	  gccgm2_BuildEndFieldVarient) New functions.
	* gm2/m2pp.c:  detect FIELD_DECL in m2pp_type.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  use
	  BuildStartFieldVarient rather than BuildStartVarient.
	  Use BuildEndFieldVarient rather than BuildEndVarient.
	  This fixes a number of regression test bugs including:
	  testsuite/gm2/extensions/run/pass/align8.mod.
	* gm2/gm2-compiler/gccgm2.def:  define BuildStartFieldVarient
	  and BuildEndFieldVarient.

2012-02-15      Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  (gccgm2_BuildTBitSize) detect if TYPE_DECL is passed.

2012-02-14      Gaius Mulley <gaius@gnu.org>

	The following changes are a change to the type declaration system
	which is necessary to implement bit alignment of record fields.

	* gm2/gm2-compiler/M2DebugStack.def:  New file.
	* gm2/gm2-compiler/M2DebugStack.mod:  New file.
	* gm2/Make-lang.in:  tidied up the file and introduced a commented
	  rule which allows stage2 to be built from a prebuilt stage1.  This
	  is only ever used during heavy development and allows debugging in
	  Modula-2 to occur rather than in the translated, C, files.
	* gm2/gccgm2.c:  gccgm2_BuildStartEnumeration, gccgm2_BuildEndRecord,
	  start_enum (new parameter ispacked).  New functions
	  (gccgm2_SetTypePacked, gccgm2_SetDeclPacked,
	   gccgm2_GetPackedBooleanType, gccgm2_SetRecordFieldOffset,
	   gccgm2_GetTBitSize, noBitsRequired, gccgm2_BuildStartVarient,
	   gccgm2_BuildEndVarient, gccgm2_BuildSmallestTypeRange,
           gccgm2_BuildTBitSize).
	* gm2/lang.opt:  introduce debugging option -fd.
	* gm2/m2.flex:  introduce <* *> into the set of lexical tokens.
	* gm2/m2pp.c:  pretty print union types and also whether records and their
	  fields are aligned, packed, offset values and addressible.
	* gm2/bnf/gm2l.bnf:  introduce <* *> into the set of lexical tokens.
	* gm2/bnf/gm2m.bnf:  introduce <* *> into the set of lexical tokens.
	* gm2/bnf/m2-2.bnf:  introduce <* *> into the set of lexical tokens.
	  extended the ebnf to include a default record alignment using pragmas.
	  Also extended the ebnf to include field alignment and packing using
	  pragmas.
	* gm2/bnf/m2-3.bnf:  introduce <* *> into the set of lexical tokens.
	  extended the ebnf to include a default record alignment using pragmas.
	  Also extended the ebnf to include field alignment and packing using
	  pragmas.
	* gm2/bnf/m2-c.bnf:  introduce <* *> into the set of lexical tokens.
	  extended the ebnf to include a default record alignment using pragmas.
	  Also extended the ebnf to include field alignment and packing using
	  pragmas.
	* gm2/bnf/m2-h.bnf:  introduce <* *> into the set of lexical tokens.
	  extended the ebnf to include a default record alignment using pragmas.
	  Also extended the ebnf to include field alignment and packing using
	  pragmas.
	* gm2/bnf/m2.bnf:  introduce <* *> into the set of lexical tokens.
	  extended the ebnf to include a default record alignment using pragmas.
	  Also extended the ebnf to include field alignment and packing using
	  pragmas.
	* gm2/el/g-mode.el:  removed PACKED as a keyword.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  huge number of changes and
	  many aspects have been rewritten.  The main changes occur from
	  delaying a records declaration into a GCC Tree until its alignment
	  is known.  Varient records are also handled in this way.  Much
	  debugging code added as well.  Simple types can also be declared
	  as packed (Subranges, Boolean) and enumeration types.
	* gm2/gm2-compiler/M2Quads.def:  new procedures BuildBitLength,
	  BuildPragmaField, BuildDefaultFieldAlignment, OperandAnno,
	  Annotate).
	* gm2/gm2-compiler/M2Quads.mod:  implement all of the above.
	  Provide a useful internal debugging procedure function 'ds'
	  which display the quadruple stack.
	* gm2/gm2-compiler/M2Reserved.def:  add LDirectiveTok and
	  RDirectiveTok.
	* gm2/gm2-compiler/M2Reserved.mod:  implement above.
	* gm2/gm2-compiler/P2SymBuild.def:  new procedure functions
	  P2BuildDefaultFieldAlignment, BuildPragmaConst.
	* gm2/gm2-compiler/P2SymBuild.mod:  implement above.
	* gm2/gm2-compiler/Sets.mod:  no longer import BITSET from SYSTEM.
	* gm2/gm2-compiler/SymbolTable.def:  new procedures
	  (GetDefaultRecordFieldAlignment, PutDeclaredPacked,
	   IsDeclaredPacked, IsDeclaredPackedResolved,
           GetPackedEquivalent, GetNonPackedEquivalent,
           PutDefaultRecordFieldAlignment, PutUnused, IsUnused).
	* gm2/gm2-compiler/SymbolTable.mod:  implement above.
	* gm2/gm2-compiler/gccgm2.def:  remove procedure function
          BuildStartVarientRecord and add procedure functions
	  BuildStartVarient, BuildEndVarient, BuildSmallestTypeRange,
	  GetPackedBooleanType, SetDeclPacked, SetTypePacked,
	  SetRecordFieldOffset, BuildTBitSize.
	* gm2/gm2-compiler/ppg.mod:  remove BITSET from SYSTEM
	  import list.
	* gm2/gm2-libs-iso/SYSTEM.def:  define new builtin procedure
	  function TBITSIZE.

2012-02-05      Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  fixed bug reported by Scott Iverson.
	  The bug occurred when a procedure was used in a constructor.
	  The solution is to take the address of the FUNCTION_DECL.

2012-01-13      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  declare procedures in
	  topological order with constants and types.  This fixes a bug
	  reported by Scott Iverson.

2012-01-12      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/Indexing.mod:  removed import of BITSET from SYSTEM.
	* gm2/gm2-compiler/M2Base.mod:  BITSET is now declared as a pervasive
	  type.
	* gm2/gm2-compiler/M2Error.mod:  removed import of BITSET from SYSTEM.
	* gm2/gm2-compiler/M2Printf.mod:  removed import of BITSET from SYSTEM.
	* gm2/gm2-compiler/M2System.mod:  removed BITSET from being declared.
	* gm2/gm2-libs/SYSTEM.def:  removed BITSET from export list.
	* gm2/gm2-libs-min/SYSTEM.def:  removed BITSET from export list.
	* gm2/gm2-libs-coroutines/SYSTEM.def:  removed BITSET from export list.
	* gm2/gm2-libs/Indexing.mod:  BITSET is now a pervasive type.
	* gm2/gm2-libs/M2RTS.mod:  BITSET is now a pervasive type.
	* gm2/gm2.texi:  added new section on packed records and also BITSET
	  is no longer exported from SYSTEM but is a pervasive type.
	* gm2/ulm-lib-gm2/std/M2RTS.mod:  no longer import BITSET.
        * gm2/ulm-lib-gm2/std/MathLib.mod:  no longer import BITSET.
	* gm2/ulm-lib-gm2/std/Plot.mod:  no longer import BITSET.
	* gm2/ulm-lib-gm2/sys/SYSTEM.def:  no longer export BITSET.
	* gm2/ulm-lib-gm2/sys/SysStat.def:  no longer import BITSET.
	* gm2/ulm-lib-gm2/sys/SysStat.mod:  no longer import BITSET.
	* gm2/ulm-lib-gm2/std/Archive.def:  no longer import BITSET.
	* gm2/ulm-lib-gm2/sys/SysIoctl.def:  no longer import BITSET.
	* gm2/gm2-libs-pim/BitBlockOps.mod:  no longer import BITSET.
	* gm2/gm2-libs-pim/BitBlockOps.mod:  no longer import BITSET.
	* gm2/gm2-libs-pim/BitByteOps.mod:  no longer import BITSET.
	* gm2/gm2-libs-pim/BitWordOps.mod:  no longer import BITSET.
	* gm2/gm2/examples/map/AdvMap.def:  no longer import BITSET.

2011-12-01      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added ServerSocket.mod to be compiled and
          installed in the iso library.
        * gm2/gm2-libs-iso/ServerSocket.c:  added dummy return value so
          that this incomplete module compiles.

2011-11-30      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/SymbolTable.mod:  fixed a poor error message
	  bug reported by <doug@dougtelford.com>.  Arrays are now checked
	  for a correct subscript type before M2GCCDeclare is called.

2011-11-18      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Range.mod:  removed calls to FlushErrors
	  to allow the compiler to issue many more error messages before
	  exiting.

2011-11-16      Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2CaseList.def:  add TypeCaseBounds to the
	  definition module.
	* gm2/gm2-compiler/M2CaseList.mod:  GetVariantTagType, checkTypes,
	  inRange, TypeCaseBounds (New procedure functions).  Check to
	  see that case bounds are of the correct type.
	* gm2/gm2-compiler/M2MetaError.mod:  fix internal error message.
	* gm2/gm2-compiler/M2Options.def:  new boolean VariantValueChecking
	  which is set if -fiso is used.  FinaliseOptions new procedure.
	* gm2/gm2-compiler/M2Quads.mod:  reverse PopT(r1) and PopT(r2)
	  to correct range bug.
	* gm2/gm2-compiler/M2Range.mod:  only check missing values
	  in variant record case bounds if VariantValueChecking is enabled.
	  We always check for overlapping bounds.
	* testsuite/gm2/pim/fail/variant.mod:  new file.
	* testsuite/gm2/pim/fail/variant2.mod:  new file.
	* testsuite/gm2/pim/fail/variant3.mod:  new file.

2011-11-08      Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  altered bnf rules to depend upon
	  gm2/pge$(exeext).
	* gm2/bnf/m2-c.bnf:  reimplemented Qualident and PushQualident
	  to fix a bug reported by Alexandr Simon:
	  <http://lists.gnu.org/archive/html/gm2/2011-04/msg00002.html>

2011-11-07      Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  BuildCall2, BuildCall3 (New functions).
	* gm2/gm2.texi:  document the new command line switch
	  -fdebug-builtins.
	* gm2/lang.opt:  define -fdebug-builtins.
	* gm2/gm2-compiler/M2Base.mod:  InitBuiltins (New procedure).
	* gm2/gm2-compiler/M2Batch.def:  Tidied up spacing.
	* gm2/gm2-compiler/M2GenGCC.mod:  implemented MaybeDebugBuiltinAlloca,
	  MaybeDebugBuiltinMemcpy and call then instead of BuiltinAlloca,
	  BuiltinMemcpy.  Modified CanUseBuiltin to return FALSE if
	  DebugBuiltins is TRUE.
	* gm2/gm2-compiler/M2Options.def:  DebugBuiltins new boolean flag.
	* gm2/gm2-compiler/M2Options.mod:  set DebugBuiltins if -fdebug-builtins
	  is present.
	* gm2/gm2-compiler/gccgm2.def:  define BuildCall2, BuildCall3.
	* gm2/gm2-libs/Builtins.def:  alloca_trace (New procedure function).
	* gm2/gm2-libs/Builtins.mod:  tidied up comment and implemented
	  alloca_trace.
	* gm2/gm2-compiler/M2GenGCC.mod:  fixed GetSizeOfHighFromUnbounded
	  bug reported by John O Goyo
	  <http://lists.gnu.org/archive/html/gm2/2011-11/msg00004.html>
	  and Martin KalbfuÃ
	  <http://lists.gnu.org/archive/html/gm2/2011-10/msg00023.html>.

2011-10-29       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  gccgm2_BuildAddr call gm2_mark_addressable.
	* gm2/gccgm2.c:  gccgm2_BuildComponentRef, convertToSizeT
	  (New functions).
	* gm2/gm2builtins.c:  gm2builtins_BuiltInAlloca call convertToSizeT.
	* gm2/gm2-compiler/M2GenGCC.mod:  use gccgm2_BuildComponentRef
	  to access high and address fields within unbounded records.
	  This fixes a bug reported by Scott Iverson which has been
	  expressed as testsuite/gm2/pim/run/pass/passparam.mod and
          testsuite/gm2/pim/run/pass/passparam2.mod.  Manifested
	  itself when attempting to take the address of a parameter.
	  This does not work with -O2 as parameters are passed in
	  registers on some architectures (x86_64).  These changes
	  introduce no new regression test failures.

2011-10-26       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added LMathLib0.def LegacyReal.def
	  MemUtils.def to the list of GM2-LIBS-DEFS and
          LMathLib0.mod LegacyReal.mod MemUtils.mod to
          GM2-LIBS-MODS.  This corrects a bug reported by
	  Steve Giess.

2011-10-25       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  added debugging
	  and also fixed a bug reported by Scott Iverson.
	  (non-free/scott-iverson/test25/fail/WinShell.mod).
	* gm2/gm2-compiler/M2Quads.mod:  added error checking
	  to detect a nul typed constructor.
	* gm2/gm2-compiler/Sets.mod:  added internal debugging.

2011-10-04       Gaius Mulley <gaius@gnu.org>

	* gm2/version.c:  updated to 1.0.5
	* gm2/gm2-libs/config-host.in:  updated to 1.0.5.
	* gm2/gm2-libs/config-target.in:  updated to 1.0.5

2011-10-02       Gaius Mulley <gaius@gnu.org>

	* tagged GM2 gcc_4_1_2_gm2_1_0_4_0 post checkin.

2011-09-30       Gaius Mulley <gaius@gnu.org>

	* released GM2 1.0.4
	* tagged with:  gcc_4_1_2_gm2_1_0_4 prior checkin.
	* gm2/version.c:  updated to 1.0.4
	* gm2/gm2-libs/config-host:  rebuilt.
	* gm2/gm2-libs/config-host.in:  updated to 1.0.4.
	* gm2/gm2-libs/config-target:  rebuilt.
	* gm2/gm2-libs/config-target.in:  updated to 1.0.4

2011-07-28       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  add dependencies for the constuction of
	  gm2/gm2-libs.texi.

2011-07-27       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Base.mod:  allow a dataType to be
	  passed to ARRAY OF dataType.  Bug fix for:
          testsuite/gm2/pim/pass/charstring.mod.
	* gm2/version.c:  updated to 1.0.3
	* gm2/gm2-libs/config-host:  rebuilt.
	* gm2/gm2-libs/config-host.in:  updated to 1.0.3.
	* gm2/gm2-libs/config-target:  rebuilt.
	* gm2/gm2-libs/config-target.in:  updated to 1.0.3.

2011-07-26       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2ALU.mod:  allow constant array strings
	  to be created with const chars.  Bug fix for:
	  testsuite/gm2/iso/pass/constchar.mod.
	* gm2/gm2-compiler/M2ALU.mod:  fixed obvious bugs to previous
	  patch.

2011-07-25       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  corrected typo in the documentation.

2011-07-15       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/StdChans.mod:  allow raw operators on
	  stdin, stdout and stderr.  Bug fix to an error reported
	  by Scott Iverson
	  (http://lists.gnu.org/archive/html/gm2/2011-07/msg00003.html).

2011-07-07       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  improved the Extended Asm section and changed
	  the example for the x86_64 processor.

2011-07-05       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  BuildAsm now has an extra parameter (isSimple).
	  Also call resolve_asm_operand_names.
	* gm2/bnf/m2-2.bnf:  parse full GNU asm syntax (including
	  operand names).
	* gm2/bnf/m2-3.bnf:  implement full GNU asm syntax (including
	  operand names).  Record all asm operand names, specifiers
	  and trash lists.  Also record whether it was a simple kind.
	* gm2/bnf/m2-c.bnf:  parse full GNU asm syntax (including
	  operand names).
	* gm2/bnf/m2-h.bnf:  parse full GNU asm syntax (including
	  operand names).
	* gm2/bnf/m2.bnf:  parse full GNU asm syntax (including
	  operand names).
	* gm2/gm2-compiler/M2GenGCC.mod:  correct generation of
	  input, output and trash values for the asm operands.
	* gm2/gm2-compiler/SymbolTable.def:  New procedures
	  (PutGnuAsmSimple) and (IsGnuAsmSimple).  Added extra
	  parameter to (GetRegInterface).
	* gm2/gm2-compiler/SymbolTable.mod:  Implemented new procedures
	  (PutGnuAsmSimple) and (IsGnuAsmSimple).  Added extra
	  parameter to (GetRegInterface) to correct a bug.
	* gm2/gm2-compiler/gccgm2.def:  modified declaration of
	  (BuildAsm) to include an extra parameter, IsSimple.
	* These fixes allow GNU ASM syntax to behave in exactly
	  the same way as the other GCC front ends.

2011-07-01       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  modified gccgm2_ChainOnParamValue to contain a
	  name, str and value.
	* gm2/bnf/m2-3.bnf:  many fixes in AsmList, AsmOperands, TrashList
	  with respect to interface sym and gnuasm sym.
	* gm2/gm2-compiler/M2GenGCC.mod:  call BuildTreeFromInterface
	  instead of BuildTrashTreeFromInterface.
	* gm2/gm2-compiler/SymbolTable.def:  fix GetRegInterface so that
	  NulSym are returned in string and object if i exceeds number of
	  parameters.
	* gm2/gm2-compiler/gccgm2.def:  changed definition of
	  ChainOnParamValue.

2011-06-29       Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/m2-3.bnf:  maintain a count of the number of asm operands
	  in both the AsmElement and TrashList.
	* gm2/gm2-compiler/SymbolTable.def:  PutRegInterface, GetRegInterface
	  now specify which parameter number they are manipulating.
	* gm2/gm2-compiler/SymbolTable.def:  modified the implementation of
	  PutRegInterface, GetRegInterface to use dynamic array Indexing rather
	  than the List.

2011-06-28       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2spec.c:  modified default libraries to iso,pim if -fiso is
	  used.  Fixes a bug reported by Scott Iverson
	  (http://lists.gnu.org/archive/html/gm2/2011-06/msg00026.html).

2011-06-22       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  specify source and build directories to def2texi.py.
	* gm2/gm2.texi:  modified to document the new behaviour of specifying
	  library ordering.
	* gm2/gm2spec.c:  default library is 'pim'.  Large number of changes
	  which remove the implicit ordering of library search paths in favour
	  of users specifying the explicit order via -flibs=pim,iso,ulm etc.
	* gm2/lang.opt:  -flibs= takes a number of Joined arguments.
	* gm2/examples/hello/Makefile.in:  removed -fno-exceptions from the
	  command line build.
	* fixes a bug reported by Scott Iverson
	  (http://lists.gnu.org/archive/html/gm2/2011-06/msg00002.html).
	* gm2/gm2-libs-iso/README.texi:  corrected status of copyright and
	  implementation modules.  Removed all information about incomplete
	  modules.
	* gm2/tools-src/def2texi.py:  fixed bug in building the www pages
	  by adding an option to specify the build and source directory.

2011-06-15       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/PCSymBuild.mod:  fixed bug in deduceTypes
	  so that binary constant expressions can correctly identify
	  their types.  Fixes a bug report by Scott Iverson.

2011-06-13       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  gccgm2_GetArrayNoOfElements (New function).
	* gm2/gm2-compiler/M2GenGCC.mod:  checkArrayElements (New
	  procedure function).  CodeBecomes modified to call
	  checkArrayElements to test whether assigned arrays contain
	  the same number of elements.
	* gm2/gm2-compiler/M2Quads.mod:  CheckBecomesMeta tidied up
	  error messages and added extra check to ensure that
	  we are not assigning from an unbounded array.
	* gm2/gccgm2.def:  export GetArrayNoOfElements.
	  Fixes a bug reported by Scott Iverson.

2011-06-11       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2ALU.mod:  added a limit check to SetNegate
	  which fixes a bug reported by Scott Iverson
	  (http://lists.gnu.org/archive/html/gm2/2011-06/msg00001.html).

2011-06-10       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Quads.mod:  modified CheckNotConstAndVar
	  to CheckBecomesMeta so that it also checks that we are
	  not assigning to a unbounded array.  Fixes a bug reported
	  by Scott Iverson
	  (http://lists.gnu.org/archive/html/gm2/2011-06/msg00010.html).

2011-05-04       Gaius Mulley <gaius@gnu.org>

	* gm2:  tagged with gcc_4_1_2_0
	* gm2:  created branch using "cvs tag -r gcc_4_1_2_0 -b gcc_4_1_2_gm2"
	* testsuite:  tagged with gcc_4_1_2_0
	* testsuite:  created branch using "cvs tag -r gcc_4_1_2_0 -b gcc_4_1_2_gm2"

2011-04-27       Gaius Mulley <gaius@gnu.org>

	* patches/gcc/4.1.2/01-patches:  corrected bug in patch.
	* gm2/gm2-compiler/M2Quads.mod:  fixed bug reported by
	  John O Goyo
	  (http://lists.nongnu.org/archive/html/gm2/2011-04/msg00031.html).

2011-04-22       Gaius Mulley <gaius@gnu.org>

	* patches/gcc/4.1.2/ChangeLog:  New file.
	* patches/gcc/4.1.2/01-patches:  New file.
	  These patches have been regenerated and rationalised.  They
	  have also been regression tested against the C and C++
	  regression tests.  Both these sets of regression tests are
	  unaffected by these patches.

2011-04-09       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  modified to build O2 versions of gm2-libs-min.

2011-04-06       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  modified to allow gm2 to coexist with
	  gcc as the linker support rather than g++.  Useful for
	  embedded targets which don't yet support g++.  Separated
	  target from host when building libraries and use separate
	  configure scripts for both.
	* gm2/README:  removed warning about development code.
	* gm2/config-lang.in:  added gm2lorder.
	* gm2/gm2.texi:  updated documentation to reflect release 1.0.
	  Corrected statements such as GNU Modula-2 is fully ISO
	  compliant.
	* gm2/gm2spec.c:  only include -lstdc++ if -fno-exceptions is
	  not present.
	* gm2/gm2-libs/README.texi:  tidied up dates.
	* gm2/gm2-libs-iso/README.texi:  corrected status of modules
	  given release of 1.0.
	* gm2/gm2-libs-iso/Strings.mod:  fixed performance bug reported
	  by Scott Iverson
	  (http://lists.nongnu.org/archive/html/gm2/2011-03/msg00035.html).
	* gm2/p2c/p2c.h:  test BUILD_GM2_LIBS_TARGET and include appropriate
	  configure header.
	* gm2/tools-src/makeversion:  added another consistency test.
	* gm2/gm2-libs/config-host.in:  new file.
	* gm2/gm2-libs/config-target.in:  new file.
	* gm2/gm2-libs/configure:  removed.
	* gm2/gm2-libs/configure.in:  removed.
	* gm2/gm2-libs/config-host:  new file.
	* gm2/gm2-libs/config-target:  new file.
	* gm2/gm2-libs/gm2-libs-target.h.in:  new file.

2011-02-24       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  changed lenny to squeeze in repository
	  definitions.

2011-02-23       Gaius Mulley <gaius@gnu.org>

	* gm2/www/tools/texi2tr/src/texi2tr.py:  implemented
	  section alphabetically sorted index.  Also implemented
	  @ifhtml.

2011-02-22       Gaius Mulley <gaius@gnu.org>

	* www/tools/texi2tr/src/outputdev.py:  added no_tag so
	  table elements can easily be added - fixes a bug
	  with enumerate.
	* gm2/www/tools/texi2tr/src/texi2tr.py:  fixed pushSpecifier
	  and fixed 'enum' with 'enumerate'.  Enumerations work
	  for integer and alphabetical values.

2011-02-19       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2spec.c:  ensure that the prev
	  value is reset before each include path is added.
	* gm2/examples/gravity/Makefile.in:  changed python version
	  and fixed exec prefix.

2011-02-18       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  changed node About to Overview.
	* gm2/www/tools/texi2tr/src:  added function index.

2011-02-17       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  many bug fixes to nodes.
	* gm2/www/tools/texi2tr:  added html, png subdirs.
	* gm2/www/tools/texi2tr/src:  many bug fixes applied.

2011-02-15       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  incorporated the contents of the
	  web page gm2/www/index.ms into gm2.texi.

2011-02-10       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  modified gm2.html rule.
	* gm2/gm2.texi:  changed Function Index to Indices.
	* gm2/examples/texi2tr/src/outputdev.py:  added
	  templatePath.
	* gm2/examples/texi2tr/src/texi2tr.py:  added
	  rootName, templatePath, baseName options.
	* gm2/www/Makefile.in:  new building instructions
	  for the web site now that texi2tr is useable.
	* gm2/www/index.ms:  minor changes.

2011-02-09       Gaius Mulley <gaius@gnu.org>

	* texi2tr is now able to translate the gm2.texi
	  into html.  First usable version.
	* gm2/examples/texi2tr/src/config.py:  many changes.
	* gm2/examples/texi2tr/src/outputdev.py:  many changes.
	* gm2/examples/texi2tr/src/navigate.py:  many changes.
	* gm2/examples/texi2tr/src/texi2tr.py:  many changes.

2011-02-04       Gaius Mulley <gaius@gnu.org>

	* gm2/examples/texi2tr:  new directory.
	* gm2/examples/texi2tr/src:  new directory.
	* gm2/examples/texi2tr/src/config.py:  new file.
	* gm2/examples/texi2tr/src/outputdev.py:  new file.
	* gm2/examples/texi2tr/src/navigate.py:  new file.
	* gm2/examples/texi2tr/src/texi2tr.py:  new file.

2011-01-30       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  fixed some typos and corrected the
	  python version number.  Also foxed some texinfo variable
	  references.
	* gm2/gm2/gm2spec.c:  tided up code.  Also modified the
	  driver to add easily maintainable ordered lists of
	  object paths and library paths.
	* gm2/el/g-mode.el:  updated the dates.
	* gm2/gm2/Make-lang.in:  use the new tool texi2tr to
	  generate the html documentation which is currently
	  under development.

2011-01-22       Gaius Mulley <gaius@gnu.org>

	* fixed a bug reported by Steve Giess.
	* testsuite/gm2/pim/pass/constcast.mod:  New file.
	* testsuite/gm2/pim/pass/constmax.mod:  New file.
	* gm2/gm2-compiler/PCSymBuild.mod:  WalkLeaf detect
	  if the symbol is a type in which case copy the
	  type rather than get the type of a type.

2011-01-14       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  modified the stage2 and Modula-2
	  library objects built from C sources to use XGCC.
	  Define XGCC to the locally built ./xgcc -B./
	  This allows gm2 to build under Darwin OS X
	  Snow Leopard.

2011-01-12       Gaius Mulley <gaius@gnu.org>

	* released version 1.0.1 of gm2.
	* gm2/version.c:  updated to version 1.0.1
	* gm2/www/index.ms:  updated news of 1.0.1 release.
	* gm2/gm2-libs/configure.in:  updated to 1.0.1
	* gm2/gm2-libs/configure:  rebuilt.
	* gm2/configure:  rebuilt.

2011-01-11       Gaius Mulley <gaius@gnu.org>

	* fixed many bug reported by
          DragiÅ¡a DuriÄ (dragisa-duric/testcase20).
	* gm2/gm2-compiler/SymbolTable.mod:  new procedure
	  SanityCheckConstants which checks to see types
	  are used in formal parameters.
	* gm2/gm2-compiler/SymbolTable.def:  export new procedure
	  SanityCheckConstants.
	* gm2/gm2-compiler/M2Comp.mod:  call SanityCheckConstants
	  after Pass C.
	* gm2/gm2-compiler/M2Quads.mod:  skip types in CheckParameters
	* gm2/gm2-compiler/M2MetaError.def:  add ebnf comments.

2011-01-10       Gaius Mulley <gaius@gnu.org>

	* fixed many constant type related bugs reported by
          DragiÅ¡a DuriÄ (dragisa-duric/testcase18 and
	  dragisa-duric/testcase19).
	* gm2/Make-lang.in:  modified texi2html build rule.
	* gm2/bnf/m2-c.bnf:  major number of changes to incorporate
	  parsing const expressions to deduce their types.
	* gm2/gm2-compiler/M2Base.mod:  added return types to the
	  builtin procedure functions so that if they are used in
	  constant expressions m2-c can determine their types.
	* gm2/gm2-compiler/M2Comp.mod:  ResolveConstType is now
	  exported from PCSymBuild rather than P2SymBuild.
	* gm2/gm2-compiler/M2GenGCC.mod:  allow procedures to be
	  assigned to constants.
	* gm2/gm2-compiler/M2Quads.def:  export new procedure
	  function Top.
	* gm2/gm2-compiler/M2Quads.mod:  implement new procedure
	  function Top.
	* gm2/gm2-compiler/M2StackAddress.mod:  fixed bug in
	  M2StackAddress.NoOfItemsInStackAddress.
	* gm2/gm2-compiler/M2StackWord.mod:  fixed same bug in
	  M2StackWord.NoOfItemsInStackAddress.
	* gm2/gm2-compiler/P2SymBuild.def:  removed many of the
	  constant type resolution procedures and moved them to
	  PCSymBuild.
	* gm2/gm2-compiler/PCSymBuild.def:  export many constant
	  type related procedures.
	* gm2/gm2-compiler/PCSymBuild.mod:  major reimplementation
	  to allow constant expression trees to be built so that
	  types can be deduced.
	* gm2/init/gm2-gccinit:  added new M2Const.
	* gm2/www/index.ms:  web page now contains info relating
	  to release 1.0.

2010-12-10       Gaius Mulley <gaius@gnu.org>

	* Release 1.0
	* gm2/Make-lang.in:  added gm2/examples/iso/socket to the list
	  of examples to be checked.
	* gm2/NEWS:  updated.
	* gm2/TODO:  updated.

2010-12-09       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  detect an attempt to pass a
	  type as a parameter and issue an error.  Fixes a bug
	  reported by Scott Iverson.
	* gm2/gm2-compiler/SymbolTable.mod:  tidied up comment.
	* gm2/gm2-libs/RTExceptions.mod:  new procedure addFile
	  and stripPath which extracts the filename from the
	  complete path.  Bug reported by Christoph Schlegel.
	* gm2/gm2-libs-iso/ClientSocket.mod:  modified exception
	  message given the increased push back buffer.
	* gm2/gm2-libs-iso/wrapsock.c:  modified the push back
	  routines to work with multiple consecutive push back.
	* gm2/config-lang.in:  added
          gm2/examples/iso/socket/Makefile to be configured.
	* gm2/examples/iso/socket/Makefile.in:  fixed compiler,
	  include and link paths.

2010-12-01       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added example checking rule,
	  gm2-check-examples.
	* gm2/config-lang.in:  create gm2/examples/callingC/Makefile.
	* gm2/gm2spec.c:  fixed off by 1 error in strncmp, use strlen
	  to calculate length of string to prevent this reoccuring.
	* gm2/examples/callingC/Makefile.in:  modified to use correct
	  path.
	* gm2/examples/cplusplus/cppcatchm2/Makefile.in:  modified to
	  use correct path.
	* gm2/examples/cplusplus/m2catchcpp/Makefile.in:  modified to
	  use correct path.
	* gm2/examples/cpp/Makefile.in:  modified to
	  use correct path.
	* gm2/examples/gravity/Makefile.in:  modified to
	  use correct path.
	* gm2/examples/hello/Makefile.in:  modified to
	  use correct path.
	* gm2/examples/map/Makefile.in:  modified to
	  use correct path.
	* gm2/examples/ncurses/Makefile.in:  modified to
	  use correct path.
	* gm2/examples/swig/exceptions/Makefile.in:  modified to
	  use correct path.
	* gm2/examples/swig/strlib/Makefile.in:  modified to
	  use correct path.
	* gm2/examples/swig/tiny/Makefile.in:  modified to
	  use correct path.
	* gm2/gm2-compiler/PCSymBuild.mod:  detect error if
	  trying to assign a constant from an unresolved symbol.
	* gm2/gm2-libs-pim/NumberConversion.def:  fixed dates.
	* gm2/gm2-libs-pim/NumberConversion.mod:  fixed dates.

2010-11-26       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  changed documentation to use -fonlylink
          where appropriate and remove the -c flag for the simple
	  examples.
	* gm2/examples/hello/Makefile.in:  removed compile without
	  link stage.
	* gm2/examples/ncurses/Makefile.in:  fixed pre-install build.

2010-11-25       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  modified shared library examples
	  to use -fonlylink.

2010-11-24       Gaius Mulley <gaius@gnu.org>

	* gm2/lang-specs.h:  modified so that gm2 foo.mod will
	  both compile and link file foo.mod.
	* gm2/lang.opt:  modified description of -fonlylink
	  (removed internal usage
	* gm2/gm2.texi:  changed compile commands in the
	  hello world example to start with the simpler
	  gm2 -g hello.mod.
	* gm2/gm2.texi:  replaced @filename with @file.
	* gm2/bnf/gm2m.bnf:  modified M2L to use -fonlylink.
	* gm2/examples/gravity/Makefile.in:  use -fonlylink.
	* gm2/examples/swig/exceptions/Makefile.in:  use -fonlylink.
	* gm2/examples/swig/strlib/Makefile.in:  use -fonlylink.
	* gm2/examples/swig/tiny/Makefile.in: use -fonlylink.

2010-11-22       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/gm2lgen.mod:  only invoke the call to
          M2RTS_ExecuteInitialProcedures prior to the BEGIN END
	  of the main module.
	* gm2/gm2-libs/FIO.mod:  introduce new field, valid,
	  to Buffer, so that the buffer can be declared invalid
	  after a seek or when it is exhausted and a read is
	  performed directly at an address.  Fixes a bug reported
	  by James Cox.

2010-11-21       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  bugfix, replaced 8 spaces by a tab.
	  Bug reported by Steve Giess.

2010-11-19       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  extended the section on using the C
	  preprocessor by including another example.

2010-11-17       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  compile static versions of
	  DynamicStrings, FormatStrings, M2Quads, M2Options, M2Search
	  with $(GM2_DEBUG_STRMEM) (-fcpp) flag to track down any
	  memory leaks.
	* gm2/gm2-compiler/M2Options.mod:  changes to allow debugging
	  code to be included if -fcpp is used.
	* gm2/gm2-compiler/M2Printf.mod:  changes to allow debugging
	  code to be included if -fcpp is used.
	* gm2/gm2-compiler/M2Quads.mod:  changes to allow debugging
	  code to be included if -fcpp is used.
	* gm2/gm2-compiler/M2Search.mod:  changes to allow debugging
	  code to be included if -fcpp is used.
	* gm2/gm2-libs/DynamicStrings.def:  added definition for
	  PopAllocationExemption.
	* gm2/gm2-libs/DynamicStrings.mod:  fixed memory leaks and
	  bugs related to deallocating strings.
	* gm2/gm2-libs/FormatStrings.mod:  changes to allow debugging
	  code to be included if -fcpp is used.  Also fixed memory
	  leaks, which occurred if strings were not Mark'ed.
	* gm2/gm2-libs/FpuIO.mod:  tidied up header comment and added
	  DynamicString debugging code.
	* gm2/gm2-libs/SEnvironment.mod:  tidied up header comment and
	  added DynamicString debugging code.
	* gm2/gm2-libs/SFIO.mod:  tidied up header comment and
	  added DynamicString debugging code.
	* gm2/gm2-libs/StringConvert.mod:  changes to allow debugging
	  code to be included if -fcpp is used.  Also fixed memory
	  leaks, which occurred if strings were not Mark'ed.

2010-11-12       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/FIO.mod:  removed unnecessary import of FIO.
	* gm2/gm2-libs/FormatStrings.mod:  included cpp macros for
	  debugging memory leaks within the module.
	* gm2/gm2-libs/FpuIO.mod:  included cpp macros for
	  debugging memory leaks within the module.
	* gm2/gm2-libs/SArgs.mod:  included cpp macros for
	  debugging memory leaks within the module.
	* gm2/gm2-libs/SEnvironment.mod:  included cpp macros for
	  debugging memory leaks within the module.
	* gm2/gm2-libs/StringConvert.mod:  included cpp macros for
	  debugging memory leaks within the module.
	* gm2/gm2-libs-pim/RealConversions.mod:  included cpp macros for
	  debugging memory leaks within the module.  Also fixed
	  doPowerOfTen.

2010-11-07       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/DynamicStrings.mod:  writeAddress (New procedure),
	  writeLongcard (New procedure),
	  DumpStringSynopsis (New procedure).
	* gm2/gm2-libs-pim/RealConversions.mod:  import debugging
	  versions of the DynamicString primitives and fix memory leak.
	* gm2/gm2-libs-pim/RealInOut.mod:  import debugging
	  versions of the DynamicString primitives and fix memory leak.

2010-11-06       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/DynamicStrings.mod:  added forward declaration.
	* gm2/gm2-libs/DynamicStrings.mod:  corrected typo.
	* gm2/gm2-libs/DynamicStrings.mod:  fixed initialization order
	  bug by using Init and a boolean.
	* gm2/gm2-libs/DynamicStrings.mod:  implemented the debugging
	  print statements with write.
	* gm2/gm2-libs/StringConvert.mod:  fixed more memory leaks by
	  Mark(ing) appropriate strings.
	* gm2/gm2-libs/DynamicStrings.mod:  reimplemented the frame
	  data structure some of the key list routines.
	* gm2/gm2-libs/DynamicStrings.mod:  more minor fixes to aid
	  p2c.
	* gm2/gm2-libs/DynamicStrings.mod:  minor fix moving data type
	  declarations to satisfy p2c.
	* gm2/Make-lang.in:  added $(GM2_CPP) variable.
	* gm2/gccgm2.c:  removed incorrect comment boilerplate.
	* gm2/gm2-libs/DynamicStrings.def:  added debugging equivalents
	  of InitString and family, Mult, Dup and Slice.  New procedures
	  (PushAllocation) (PopAllocation).
	* gm2/gm2-libs/DynamicStrings.mod:  PoisonedOn FALSE.  Implemented
	  debugging equivalents of InitString and family, Mult, Dup and Slice.
	  Also added memory leak verification PushAllocation/PopAllocation.
	* gm2/gm2-libs/RTExceptions.mod:  New procedure (TidyUp) called during
	  finalisation to deallocate memory.
	* gm2/gm2-libs/StringConvert.mod:  fixed many memory leaks by
	  Mark(ing) appropriate strings.
	* gm2/gm2-libs-pim/RealConversions.mod:  fixed many memory leaks by
	  Mark(ing) appropriate strings.

2010-11-02       Gaius Mulley <gaius@gnu.org>

	* gm2/TODO:  updated.
	* gm2/gccgm2.c:  removed dead code.
	* gm2/gm2.texi:  changed Warning section to Caveat and modified
	  text in light of the imminent release of 1.0 and complete ISO
	  library support.
	* gm2/gm2spec.c:  tidied up spacing.
	* gm2/lang.opt:  added new internal option -fonlylink.
	* gm2/examples/gravity/twoDsim.mod:  corrected dates.
        * gm2/www/index.ms:  updated with the GCC lightening talk.

2010-10-19       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2spec.c:  added fourth parameter to
	  add_default_combinations which allows iso to be present at the
	  end of the pimcoroutine library choice.  In turn this allows
	  pth.def to be found.

2010-10-18       Gaius Mulley <gaius@gnu.org>

        * gm2/examples/gravity/testsim2.py:  (New file)
        * gm2/examples/gravity/produce-avi:  restored remove command.

2010-10-17       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  renamed gccgm2_BuildArrayType to
	  gm2_build_array_type as it is no longer exported.
	  gccgm2_BuildEndArrayType has an extra parameter, type.
	  gccgm2_BuildStringConstant uses stricter parameter
	  declaration.  build_m2_iso_byte_node,
	  build_m2_iso_word_node, build_m2_word16_type_node,
	  build_m2_word32_type_node, build_m2_word64_type_node
	  all have a front end type parameter so that
	  we can canonicalize array declarations.
	  (New functions) gccgm2_InitSystemTypes.
	  Use gm2_canonicalize_array instead of
	  canonicalize_array and skip type declarations during
	  construction of array types.
	  This fixes a bug reported by John O Goyo.
	* gm2/examples/gravity/Makefile.in:  run the more interesting
	  test testsim2.py rather than testsim.py.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  pass the front end type
	  to gccgm2 array building functions.
	* gm2/gm2-compiler/M2System.mod:  only build GCC ISO types
	  based on LOC once LOC is declared.
	* gm2/gm2-compiler/gccgm2.def:  add the extra type parameter to
	  the array building functions.  Also export the new function
	  InitSystemTypes.
	* gm2/www/index.ms:  update homepage with reference to the
	  newly released 0.99.

2010-10-11       Gaius Mulley <gaius@gnu.org>

	* released version 0.99 of gm2.
	* gm2/version.c:  updated to version 1.0.
	* gm2/www/index.ms:  updated news of 0.99 release.
	* gm2/gm2-libs/configure.in:  updated to 1.0.
	* gm2/gm2-libs/configure:  rebuilt.

2010-10-08       Gaius Mulley <gaius@gnu.org>

	* gm2/COPYING:  updated license to GPL 3.0
	* gm2/gm2-harness/COPYING:  updated license to GPL 3.0
	* gm2/tools-src/tidydates.py:  new file.
	* gm2/gm2spec.c:  New function (add_B_prefix).  Add
	  -B option to the command line if -fmakeall is present
	  and no -B option exists.  Fixes a bug reported by
	  Martin KalbfuÃ
	  http://lists.gnu.org/archive/html/gm2/2010-09/msg00027.html.
	* gm2/lang-specs.h:  pass the -B option through to subcomponents
	  if -fmakeall is used.
	* gm2/gm2spec.c:  New function (find_executable_path).

2010-10-05       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Range.mod:  corrected the range test for
	  the lower bounds at the end of a FOR loop.  Fixes a bug
	  reported by James Cox.
	* gm2/tools-src/tidydates.py:  new file.
	* gm2/gpl-3.0.texi:  new file.

2010-10-03       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  tidied up Copyright dates on
	* gm2/Makefile.in:  the following files.
	* gm2/config-lang.in:
	* gm2/gccgm2.c:
	* gm2/gm2-common.c:
	* gm2/gm2-common.h:
	* gm2/gm2-lang.c:
	* gm2/gm2-lang.h:
	* gm2/gm2-tree.def:
	* gm2/gm2-tree.h:
	* gm2/gm2builtins.c:
	* gm2/gm2config.h.in:
	* gm2/gm2except.c:
	* gm2/gm2spec.c:
	* gm2/gm2version.h:
	* gm2/lang-options.h:
	* gm2/lang-specs.h:
	* gm2/m2pp.c:
	* gm2/m2pp.h:
	* gm2/examples/callingC/Makefile.in:
	* gm2/examples/callingC/hello.mod:
	* gm2/examples/callingC/libprintf.def:
	* gm2/examples/cplusplus/cppcatchm2/Makefile.in:
	* gm2/examples/cplusplus/cppcatchm2/cpp.def:
	* gm2/examples/cplusplus/cppcatchm2/m2.def:
	* gm2/examples/cplusplus/cppcatchm2/m2.mod:
	* gm2/examples/cplusplus/m2catchcpp/Makefile.in:
	* gm2/examples/cplusplus/m2catchcpp/cpp.def:
	* gm2/examples/cplusplus/m2catchcpp/m2.mod:
	* gm2/examples/cpp/Makefile.in:
	* gm2/examples/cpp/hello.mod:
	* gm2/examples/cppDef/a.def:
	* gm2/examples/cppDef/b.mod:
	* gm2/examples/executive/testexecutive.mod:
	* gm2/examples/executive/testtime.mod:
	* gm2/examples/executive/winexec.mod:
	* gm2/examples/gravity/Makefile.in:
	* gm2/examples/gravity/deviceGnuPic.def:
	* gm2/examples/gravity/deviceGnuPic.mod:
	* gm2/examples/gravity/gsl.def:
	* gm2/examples/gravity/roots.def:
	* gm2/examples/gravity/roots.mod:
	* gm2/examples/gravity/test.mod:
	* gm2/examples/gravity/testsim.py:
	* gm2/examples/gravity/twoDsim.def:
	* gm2/examples/gravity/twoDsim.mod:
	* gm2/examples/hello/Makefile.in:
	* gm2/examples/hello/hello.mod:
	* gm2/examples/iso/files/rot13.mod:
	* gm2/examples/iso/hello/hello.mod:
	* gm2/examples/iso/socket/client.mod:
	* gm2/examples/map/AdvMap.def:
	* gm2/examples/map/AdvMap.mod:
	* gm2/examples/map/BoxMap.def:
	* gm2/examples/map/BoxMap.mod:
	* gm2/examples/map/Chance.def:
	* gm2/examples/map/Chance.mod:
	* gm2/examples/map/Find.def:
	* gm2/examples/map/Find.mod:
	* gm2/examples/map/Geometry.def:
	* gm2/examples/map/Geometry.mod:
	* gm2/examples/map/MakeBoxes.def:
	* gm2/examples/map/MakeBoxes.mod:
	* gm2/examples/map/Makefile.in:
	* gm2/examples/map/Map.mod:
	* gm2/examples/map/RoomMap.def:
	* gm2/examples/map/RoomMap.mod:
	* gm2/examples/map/Semantic.mod:
	* gm2/examples/map/StoreCoord.def:
	* gm2/examples/map/StoreCoord.mod:
	* gm2/examples/map/StoreCoords.def:
	* gm2/examples/map/StoreCoords.mod:
	* gm2/examples/map/WriteMap.def:
	* gm2/examples/map/WriteMap.mod:
	* gm2/examples/map/testch2.mod:
	* gm2/examples/map/testchan.mod:
	* gm2/examples/map/testcoor.mod:
	* gm2/examples/map/old-src/GenMap.mod:
	* gm2/examples/map/old-src/MakeMap.mod:
	* gm2/examples/map/old-src/MonMap.def:
	* gm2/examples/map/old-src/MonMap.mod:
	* gm2/examples/map/old-src/testboxes.mod:
	* gm2/examples/min/minhello.mod:
	* gm2/examples/ncurses/ColorText.def:
	* gm2/examples/ncurses/ColorText.mod:
	* gm2/examples/ncurses/Makefile.in:
	* gm2/examples/ncurses/WindowDevice.def:
	* gm2/examples/ncurses/WindowDevice.mod:
	* gm2/examples/ncurses/ncurses.def:
	* gm2/examples/ncurses/shortc.c:
	* gm2/examples/ncurses/shortc.def:
	* gm2/examples/ncurses/test.c:
	* gm2/examples/ncurses/test.mod:
	* gm2/examples/ncurses/testcolor.mod:
	* gm2/examples/ncurses/testmove.mod:
	* gm2/examples/ncurses/testshort.mod:
	* gm2/examples/ncurses/testwin.mod:
	* gm2/examples/pthread/fullpth.def:
	* gm2/examples/pthread/libcextra.def:
	* gm2/examples/pthread/libcwrap.c:
	* gm2/examples/pthread/libcwrap.def:
	* gm2/examples/pthread/modified_pth.h:
	* gm2/examples/pthread/testselect.mod:
	* gm2/examples/server/server.mod:
	* gm2/examples/svga/DisplayBuffer.def:
	* gm2/examples/svga/DisplayBuffer.mod:
	* gm2/examples/svga/Matrix3D.def:
	* gm2/examples/svga/Matrix3D.mod:
	* gm2/examples/svga/Transform.def:
	* gm2/examples/svga/Transform.mod:
	* gm2/examples/svga/testbox.mod:
	* gm2/examples/svga/vga.def:
	* gm2/examples/swig/exceptions/Makefile.in:
	* gm2/examples/swig/exceptions/tiny.def:
	* gm2/examples/swig/exceptions/tiny.mod:
	* gm2/examples/swig/full-strlib/testequ.py:
	* gm2/examples/swig/strlen/MyStrLib.def:
	* gm2/examples/swig/strlen/MyStrLib.mod:
	* gm2/examples/swig/strlib/Makefile.in:
	* gm2/examples/swig/strlib/MyStrLib.def:
	* gm2/examples/swig/strlib/MyStrLib.mod:
	* gm2/examples/swig/tiny/Makefile.in:
	* gm2/examples/swig/tiny/tiny.def:
	* gm2/examples/swig/tiny/tiny.mod:
	* gm2/gm2-compiler/CLexBuf.def:
	* gm2/gm2-compiler/CLexBuf.mod:
	* gm2/gm2-compiler/FifoQueue.def:
	* gm2/gm2-compiler/FifoQueue.mod:
	* gm2/gm2-compiler/Lists.def:
	* gm2/gm2-compiler/Lists.mod:
	* gm2/gm2-compiler/M2ALU.def:
	* gm2/gm2-compiler/M2ALU.mod:
	* gm2/gm2-compiler/M2AsmUtil.def:
	* gm2/gm2-compiler/M2AsmUtil.mod:
	* gm2/gm2-compiler/M2Base.def:
	* gm2/gm2-compiler/M2Base.mod:
	* gm2/gm2-compiler/M2BasicBlock.def:
	* gm2/gm2-compiler/M2BasicBlock.mod:
	* gm2/gm2-compiler/M2Batch.def:
	* gm2/gm2-compiler/M2Batch.mod:
	* gm2/gm2-compiler/M2Bitset.def:
	* gm2/gm2-compiler/M2Bitset.mod:
	* gm2/gm2-compiler/M2CaseList.def:
	* gm2/gm2-compiler/M2CaseList.mod:
	* gm2/gm2-compiler/M2Code.def:
	* gm2/gm2-compiler/M2Code.mod:
	* gm2/gm2-compiler/M2Comp.def:
	* gm2/gm2-compiler/M2Comp.mod:
	* gm2/gm2-compiler/M2Configure.def:
	* gm2/gm2-compiler/M2Constants.def:
	* gm2/gm2-compiler/M2Constants.mod:
	* gm2/gm2-compiler/M2Debug.def:
	* gm2/gm2-compiler/M2Debug.mod:
	* gm2/gm2-compiler/M2Defaults.def:
	* gm2/gm2-compiler/M2Defaults.mod:
	* gm2/gm2-compiler/M2Depth.def:
	* gm2/gm2-compiler/M2Depth.mod:
	* gm2/gm2-compiler/M2Entity.def:
	* gm2/gm2-compiler/M2Entity.mod:
	* gm2/gm2-compiler/M2Error.def:
	* gm2/gm2-compiler/M2Error.mod:
	* gm2/gm2-compiler/M2EvalSym.def:
	* gm2/gm2-compiler/M2FileName.def:
	* gm2/gm2-compiler/M2FileName.mod:
	* gm2/gm2-compiler/M2GCCDeclare.def:
	* gm2/gm2-compiler/M2GCCDeclare.mod:
	* gm2/gm2-compiler/M2GenGCC.def:
	* gm2/gm2-compiler/M2GenGCC.mod:
	* gm2/gm2-compiler/M2Inline.def:
	* gm2/gm2-compiler/M2Inline.mod:
	* gm2/gm2-compiler/M2Lex.def:
	* gm2/gm2-compiler/M2Lex.mod:
	* gm2/gm2-compiler/M2LexBuf.def:
	* gm2/gm2-compiler/M2LexBuf.mod:
	* gm2/gm2-compiler/M2MetaError.def:
	* gm2/gm2-compiler/M2MetaError.mod:
	* gm2/gm2-compiler/M2Optimize.def:
	* gm2/gm2-compiler/M2Optimize.mod:
	* gm2/gm2-compiler/M2Options.def:
	* gm2/gm2-compiler/M2Options.mod:
	* gm2/gm2-compiler/M2Pass.def:
	* gm2/gm2-compiler/M2Pass.mod:
	* gm2/gm2-compiler/M2Preprocess.def:
	* gm2/gm2-compiler/M2Preprocess.mod:
	* gm2/gm2-compiler/M2Printf.def:
	* gm2/gm2-compiler/M2Printf.mod:
	* gm2/gm2-compiler/M2Quads.def:
	* gm2/gm2-compiler/M2Quads.mod:
	* gm2/gm2-compiler/M2Quiet.def:
	* gm2/gm2-compiler/M2Quiet.mod:
	* gm2/gm2-compiler/M2Range.def:
	* gm2/gm2-compiler/M2Range.mod:
	* gm2/gm2-compiler/M2Reserved.def:
	* gm2/gm2-compiler/M2Reserved.mod:
	* gm2/gm2-compiler/M2Scope.def:
	* gm2/gm2-compiler/M2Scope.mod:
	* gm2/gm2-compiler/M2Search.def:
	* gm2/gm2-compiler/M2Search.mod:
	* gm2/gm2-compiler/M2Size.def:
	* gm2/gm2-compiler/M2Size.mod:
	* gm2/gm2-compiler/M2StackAddress.def:
	* gm2/gm2-compiler/M2StackAddress.mod:
	* gm2/gm2-compiler/M2StackWord.def:
	* gm2/gm2-compiler/M2StackWord.mod:
	* gm2/gm2-compiler/M2Students.def:
	* gm2/gm2-compiler/M2Students.mod:
	* gm2/gm2-compiler/M2SubExp.def:
	* gm2/gm2-compiler/M2SubExp.mod:
	* gm2/gm2-compiler/M2Swig.def:
	* gm2/gm2-compiler/M2Swig.mod:
	* gm2/gm2-compiler/M2System.def:
	* gm2/gm2-compiler/M2System.mod:
	* gm2/gm2-compiler/M2Version.def:
	* gm2/gm2-compiler/NameKey.def:
	* gm2/gm2-compiler/NameKey.mod:
	* gm2/gm2-compiler/P1SymBuild.def:
	* gm2/gm2-compiler/P1SymBuild.mod:
	* gm2/gm2-compiler/P1SyntaxCheck.def:
	* gm2/gm2-compiler/P2Build.def:
	* gm2/gm2-compiler/P2SymBuild.def:
	* gm2/gm2-compiler/P2SymBuild.mod:
	* gm2/gm2-compiler/P3Build.def:
	* gm2/gm2-compiler/P3SymBuild.def:
	* gm2/gm2-compiler/P3SymBuild.mod:
	* gm2/gm2-compiler/PCBuild.def:
	* gm2/gm2-compiler/PCSymBuild.def:
	* gm2/gm2-compiler/PCSymBuild.mod:
	* gm2/gm2-compiler/PHBuild.def:
	* gm2/gm2-compiler/Sets.def:
	* gm2/gm2-compiler/Sets.mod:
	* gm2/gm2-compiler/SymbolConversion.def:
	* gm2/gm2-compiler/SymbolConversion.mod:
	* gm2/gm2-compiler/SymbolKey.def:
	* gm2/gm2-compiler/SymbolKey.mod:
	* gm2/gm2-compiler/SymbolTable.def:
	* gm2/gm2-compiler/SymbolTable.mod:
	* gm2/gm2-compiler/bnflex.def:
	* gm2/gm2-compiler/bnflex.mod:
	* gm2/gm2-compiler/cflex.def:
	* gm2/gm2-compiler/gccgm2.def:
	* gm2/gm2-compiler/gm2.mod:
	* gm2/gm2-compiler/gm2builtins.def:
	* gm2/gm2-compiler/gm2except.def:
	* gm2/gm2-compiler/gm2lcc.mod:
	* gm2/gm2-compiler/gm2lgen.mod:
	* gm2/gm2-compiler/gm2lorder.mod:
	* gm2/gm2-compiler/m2flex.def:
	* gm2/gm2-compiler/ppg.mod:
	* gm2/gm2-harness/Makefile.in:
	* gm2/gm2-libiberty/choosetemp.def:
	* gm2/gm2-libiberty/pexecute.def:
	* gm2/gm2-libs/ASCII.def:
	* gm2/gm2-libs/Args.def:
	* gm2/gm2-libs/Args.mod:
	* gm2/gm2-libs/Assertion.def:
	* gm2/gm2-libs/Assertion.mod:
	* gm2/gm2-libs/Break.mod:
	* gm2/gm2-libs/Builtins.def:
	* gm2/gm2-libs/Builtins.mod:
	* gm2/gm2-libs/COROUTINES.def:
	* gm2/gm2-libs/COROUTINES.mod:
	* gm2/gm2-libs/CmdArgs.def:
	* gm2/gm2-libs/CmdArgs.mod:
	* gm2/gm2-libs/Debug.def:
	* gm2/gm2-libs/Debug.mod:
	* gm2/gm2-libs/DynamicStrings.def:
	* gm2/gm2-libs/DynamicStrings.mod:
	* gm2/gm2-libs/Environment.def:
	* gm2/gm2-libs/Environment.mod:
	* gm2/gm2-libs/FIO.def:
	* gm2/gm2-libs/FIO.mod:
	* gm2/gm2-libs/FormatStrings.def:
	* gm2/gm2-libs/FormatStrings.mod:
	* gm2/gm2-libs/FpuIO.def:
	* gm2/gm2-libs/FpuIO.mod:
	* gm2/gm2-libs/IO.def:
	* gm2/gm2-libs/IO.mod:
	* gm2/gm2-libs/Indexing.def:
	* gm2/gm2-libs/Indexing.mod:
	* gm2/gm2-libs/LMathLib0.def:
	* gm2/gm2-libs/LMathLib0.mod:
	* gm2/gm2-libs/LegacyReal.def:
	* gm2/gm2-libs/M2EXCEPTION.mod:
	* gm2/gm2-libs/M2RTS.def:
	* gm2/gm2-libs/M2RTS.mod:
	* gm2/gm2-libs/MathLib0.def:
	* gm2/gm2-libs/MathLib0.mod:
	* gm2/gm2-libs/MemUtils.def:
	* gm2/gm2-libs/MemUtils.mod:
	* gm2/gm2-libs/NumberIO.def:
	* gm2/gm2-libs/NumberIO.mod:
	* gm2/gm2-libs/PushBackInput.def:
	* gm2/gm2-libs/PushBackInput.mod:
	* gm2/gm2-libs/RTExceptions.def:
	* gm2/gm2-libs/RTExceptions.mod:
	* gm2/gm2-libs/RTint.def:
	* gm2/gm2-libs/RTint.mod:
	* gm2/gm2-libs/SArgs.def:
	* gm2/gm2-libs/SArgs.mod:
	* gm2/gm2-libs/SEnvironment.def:
	* gm2/gm2-libs/SEnvironment.mod:
	* gm2/gm2-libs/SFIO.def:
	* gm2/gm2-libs/SFIO.mod:
	* gm2/gm2-libs/SMathLib0.def:
	* gm2/gm2-libs/SMathLib0.mod:
	* gm2/gm2-libs/SYSTEM.def:
	* gm2/gm2-libs/SYSTEM.mod:
	* gm2/gm2-libs/Scan.def:
	* gm2/gm2-libs/Scan.mod:
	* gm2/gm2-libs/Selective.def:
	* gm2/gm2-libs/StdIO.def:
	* gm2/gm2-libs/StdIO.mod:
	* gm2/gm2-libs/Storage.def:
	* gm2/gm2-libs/Storage.mod:
	* gm2/gm2-libs/StrCase.def:
	* gm2/gm2-libs/StrCase.mod:
	* gm2/gm2-libs/StrIO.def:
	* gm2/gm2-libs/StrIO.mod:
	* gm2/gm2-libs/StrLib.def:
	* gm2/gm2-libs/StrLib.mod:
	* gm2/gm2-libs/StringConvert.def:
	* gm2/gm2-libs/StringConvert.mod:
	* gm2/gm2-libs/SysExceptions.def:
	* gm2/gm2-libs/SysStorage.def:
	* gm2/gm2-libs/SysStorage.mod:
	* gm2/gm2-libs/TimeString.def:
	* gm2/gm2-libs/TimeString.mod:
	* gm2/gm2-libs/UnixArgs.def:
	* gm2/gm2-libs/cbuiltin.def:
	* gm2/gm2-libs/configure.in:
	* gm2/gm2-libs/cxxabi.def:
	* gm2/gm2-libs/dtoa.def:
	* gm2/gm2-libs/errno.def:
	* gm2/gm2-libs/gm2-libs-host.h.in:
	* gm2/gm2-libs/ldtoa.def:
	* gm2/gm2-libs/libc.def:
	* gm2/gm2-libs/libm.def:
	* gm2/gm2-libs/sckt.def:
	* gm2/gm2-libs/termios.def:
	* gm2/gm2-libs/wrapc.def:
	* gm2/gm2-libs-boot/SYSTEM.def:
	* gm2/gm2-libs-ch/Selective.c:
	* gm2/gm2-libs-ch/StdIO.c:
	* gm2/gm2-libs-ch/Storage.c:
	* gm2/gm2-libs-ch/SysExceptions.c:
	* gm2/gm2-libs-ch/UnixArgs.c:
	* gm2/gm2-libs-ch/choosetemp.c:
	* gm2/gm2-libs-ch/dtoa.c:
	* gm2/gm2-libs-ch/errno.c:
	* gm2/gm2-libs-ch/ldtoa.c:
	* gm2/gm2-libs-ch/libc.c:
	* gm2/gm2-libs-ch/sckt.c:
	* gm2/gm2-libs-ch/target.c:
	* gm2/gm2-libs-ch/termios.c:
	* gm2/gm2-libs-ch/wrapc.c:
	* gm2/gm2-libs-ch/xlibc.c:
	* gm2/gm2-libs-coroutines/Debug.def:
	* gm2/gm2-libs-coroutines/Debug.mod:
	* gm2/gm2-libs-coroutines/Executive.def:
	* gm2/gm2-libs-coroutines/Executive.mod:
	* gm2/gm2-libs-coroutines/KeyBoardLEDs.c:
	* gm2/gm2-libs-coroutines/KeyBoardLEDs.def:
	* gm2/gm2-libs-coroutines/SYSTEM.def:
	* gm2/gm2-libs-coroutines/SYSTEM.mod:
	* gm2/gm2-libs-coroutines/TimerHandler.def:
	* gm2/gm2-libs-coroutines/TimerHandler.mod:
	* gm2/gm2-libs-iso/COROUTINES.mod:
	* gm2/gm2-libs-iso/ChanConsts.h:
	* gm2/gm2-libs-iso/ChanConsts.mod:
	* gm2/gm2-libs-iso/CharClass.mod:
	* gm2/gm2-libs-iso/ClientSocket.def:
	* gm2/gm2-libs-iso/ClientSocket.mod:
	* gm2/gm2-libs-iso/ComplexMath.mod:
	* gm2/gm2-libs-iso/ConvStringLong.def:
	* gm2/gm2-libs-iso/ConvStringLong.mod:
	* gm2/gm2-libs-iso/ConvStringReal.def:
	* gm2/gm2-libs-iso/ConvStringReal.mod:
	* gm2/gm2-libs-iso/ConvTypes.mod:
	* gm2/gm2-libs-iso/EXCEPTIONS.mod:
	* gm2/gm2-libs-iso/ErrnoCategory.c:
	* gm2/gm2-libs-iso/ErrnoCategory.def:
	* gm2/gm2-libs-iso/GeneralUserExceptions.mod:
	* gm2/gm2-libs-iso/IOChan.mod:
	* gm2/gm2-libs-iso/IOLink.mod:
	* gm2/gm2-libs-iso/IOResult.mod:
	* gm2/gm2-libs-iso/LongComplexMath.mod:
	* gm2/gm2-libs-iso/LongConv.mod:
	* gm2/gm2-libs-iso/LongMath.mod:
	* gm2/gm2-libs-iso/LongStr.mod:
	* gm2/gm2-libs-iso/LowLong.mod:
	* gm2/gm2-libs-iso/LowReal.mod:
	* gm2/gm2-libs-iso/LowShort.def:
	* gm2/gm2-libs-iso/LowShort.mod:
	* gm2/gm2-libs-iso/M2EXCEPTION.mod:
	* gm2/gm2-libs-iso/M2RTS.def:
	* gm2/gm2-libs-iso/M2RTS.mod:
	* gm2/gm2-libs-iso/Processes.mod:
	* gm2/gm2-libs-iso/ProgramArgs.mod:
	* gm2/gm2-libs-iso/RTdata.def:
	* gm2/gm2-libs-iso/RTdata.mod:
	* gm2/gm2-libs-iso/RTentity.def:
	* gm2/gm2-libs-iso/RTentity.mod:
	* gm2/gm2-libs-iso/RTfio.def:
	* gm2/gm2-libs-iso/RTfio.mod:
	* gm2/gm2-libs-iso/RTgen.def:
	* gm2/gm2-libs-iso/RTgen.mod:
	* gm2/gm2-libs-iso/RTgenif.def:
	* gm2/gm2-libs-iso/RTgenif.mod:
	* gm2/gm2-libs-iso/RTio.def:
	* gm2/gm2-libs-iso/RTio.mod:
	* gm2/gm2-libs-iso/RawIO.mod:
	* gm2/gm2-libs-iso/RealConv.mod:
	* gm2/gm2-libs-iso/RealMath.mod:
	* gm2/gm2-libs-iso/RealStr.mod:
	* gm2/gm2-libs-iso/RndFile.mod:
	* gm2/gm2-libs-iso/SIOResult.mod:
	* gm2/gm2-libs-iso/SLongIO.mod:
	* gm2/gm2-libs-iso/SRawIO.mod:
	* gm2/gm2-libs-iso/SRealIO.mod:
	* gm2/gm2-libs-iso/STextIO.mod:
	* gm2/gm2-libs-iso/SWholeIO.mod:
	* gm2/gm2-libs-iso/SYSTEM.mod:
	* gm2/gm2-libs-iso/Semaphores.mod:
	* gm2/gm2-libs-iso/SeqFile.mod:
	* gm2/gm2-libs-iso/ServerSocket.def:
	* gm2/gm2-libs-iso/ServerSocket.mod:
	* gm2/gm2-libs-iso/ShortComplexMath.def:
	* gm2/gm2-libs-iso/ShortComplexMath.mod:
	* gm2/gm2-libs-iso/SimpleCipher.def:
	* gm2/gm2-libs-iso/SimpleCipher.mod:
	* gm2/gm2-libs-iso/StdChans.mod:
	* gm2/gm2-libs-iso/Storage.mod:
	* gm2/gm2-libs-iso/StreamFile.mod:
	* gm2/gm2-libs-iso/StringChan.def:
	* gm2/gm2-libs-iso/StringChan.mod:
	* gm2/gm2-libs-iso/Strings.mod:
	* gm2/gm2-libs-iso/SysClock.mod:
	* gm2/gm2-libs-iso/TERMINATION.mod:
	* gm2/gm2-libs-iso/TermFile.mod:
	* gm2/gm2-libs-iso/TextIO.mod:
	* gm2/gm2-libs-iso/WholeConv.mod:
	* gm2/gm2-libs-iso/WholeIO.mod:
	* gm2/gm2-libs-iso/WholeStr.mod:
	* gm2/gm2-libs-iso/pth.def:
	* gm2/gm2-libs-iso/wrapsock.c:
	* gm2/gm2-libs-iso/wrapsock.def:
	* gm2/gm2-libs-iso/wraptime.c:
	* gm2/gm2-libs-iso/wraptime.def:
	* gm2/gm2-libs-min/M2RTS.def:
	* gm2/gm2-libs-min/M2RTS.mod:
	* gm2/gm2-libs-min/SYSTEM.def:
	* gm2/gm2-libs-min/SYSTEM.mod:
	* gm2/gm2-libs-min/libc.c:
	* gm2/gm2-libs-min/libc.def:
	* gm2/gm2-libs-pim/BitBlockOps.def:
	* gm2/gm2-libs-pim/BitBlockOps.mod:
	* gm2/gm2-libs-pim/BitByteOps.def:
	* gm2/gm2-libs-pim/BitByteOps.mod:
	* gm2/gm2-libs-pim/BitWordOps.def:
	* gm2/gm2-libs-pim/BitWordOps.mod:
	* gm2/gm2-libs-pim/BlockOps.def:
	* gm2/gm2-libs-pim/BlockOps.mod:
	* gm2/gm2-libs-pim/Break.c:
	* gm2/gm2-libs-pim/Break.def:
	* gm2/gm2-libs-pim/CardinalIO.def:
	* gm2/gm2-libs-pim/CardinalIO.mod:
	* gm2/gm2-libs-pim/Conversions.def:
	* gm2/gm2-libs-pim/Conversions.mod:
	* gm2/gm2-libs-pim/DebugTrace.def:
	* gm2/gm2-libs-pim/Delay.def:
	* gm2/gm2-libs-pim/Delay.mod:
	* gm2/gm2-libs-pim/Display.def:
	* gm2/gm2-libs-pim/Display.mod:
	* gm2/gm2-libs-pim/ErrorCode.def:
	* gm2/gm2-libs-pim/ErrorCode.mod:
	* gm2/gm2-libs-pim/FileSystem.def:
	* gm2/gm2-libs-pim/FileSystem.mod:
	* gm2/gm2-libs-pim/FloatingUtilities.def:
	* gm2/gm2-libs-pim/FloatingUtilities.mod:
	* gm2/gm2-libs-pim/InOut.def:
	* gm2/gm2-libs-pim/InOut.mod:
	* gm2/gm2-libs-pim/Keyboard.def:
	* gm2/gm2-libs-pim/Keyboard.mod:
	* gm2/gm2-libs-pim/LongIO.def:
	* gm2/gm2-libs-pim/LongIO.mod:
	* gm2/gm2-libs-pim/Random.def:
	* gm2/gm2-libs-pim/Random.mod:
	* gm2/gm2-libs-pim/RealConversions.def:
	* gm2/gm2-libs-pim/RealConversions.mod:
	* gm2/gm2-libs-pim/RealInOut.def:
	* gm2/gm2-libs-pim/RealInOut.mod:
	* gm2/gm2-libs-pim/Strings.def:
	* gm2/gm2-libs-pim/Strings.mod:
	* gm2/gm2-libs-pim/Termbase.def:
	* gm2/gm2-libs-pim/Termbase.mod:
	* gm2/gm2-libs-pim/Terminal.def:
	* gm2/gm2-libs-pim/Terminal.mod:
	* gm2/gm2-libs-pim/TimeDate.def:
	* gm2/gm2-libs-pim/TimeDate.mod:
	* gm2/man/Makefile.in:
	* gm2/p2c/Makefile.in:
	* gm2/p2c/p2c.h:
	* gm2/p2c/p2c-src/Makefile.in:
	* gm2/p2c/p2c-src/auto-host.h.in:
	* gm2/p2c/p2c-src/configure.in:
	* gm2/p2c/p2c-src/include/ansidecl.h:
	* gm2/p2c/p2c-src/include/config.h:
	* gm2/p2c/p2c-src/include/system.h:
	* gm2/p2c/p2c-src/src/Makefile.in:
	* gm2/p2c/p2c-src/src/citmods.c:
	* gm2/p2c/p2c-src/src/comment.c:
	* gm2/p2c/p2c-src/src/decl.c:
	* gm2/p2c/p2c-src/src/dir.c:
	* gm2/p2c/p2c-src/src/expr.c:
	* gm2/p2c/p2c-src/src/funcs.c:
	* gm2/p2c/p2c-src/src/hpmods.c:
	* gm2/p2c/p2c-src/src/lex.c:
	* gm2/p2c/p2c-src/src/loc.p2clib.c:
	* gm2/p2c/p2c-src/src/makeproto.c:
	* gm2/p2c/p2c-src/src/out.c:
	* gm2/p2c/p2c-src/src/p2c-config.h:
	* gm2/p2c/p2c-src/src/p2c.h:
	* gm2/p2c/p2c-src/src/p2clib.c:
	* gm2/p2c/p2c-src/src/parse.c:
	* gm2/p2c/p2c-src/src/pexpr.c:
	* gm2/p2c/p2c-src/src/stuff.c:
	* gm2/p2c/p2c-src/src/trans.c:
	* gm2/p2c/p2c-src/src/trans.h:
	* gm2/patches/gcc/4.1.2/08.gaius_ipa_type_escape.c:
	* gm2/tools-src/array2index.py:
	* gm2/tools-src/def2texi.py:
	* gm2/tools-src/gensum.py:
	* gm2/tools-src/mklink.c:
	* gm2/ulm-lib-gm2/processes/CoExpressions.def:
	* gm2/ulm-lib-gm2/processes/CoExpressions.mod:
	* gm2/ulm-lib-gm2/processes/Processes.def:
	* gm2/ulm-lib-gm2/processes/Processes.mod:
	* gm2/ulm-lib-gm2/std/ASCII.def:
	* gm2/ulm-lib-gm2/std/ASCII.mod:
	* gm2/ulm-lib-gm2/std/Archive.def:
	* gm2/ulm-lib-gm2/std/Archive.mod:
	* gm2/ulm-lib-gm2/std/Arguments.def:
	* gm2/ulm-lib-gm2/std/Arguments.mod:
	* gm2/ulm-lib-gm2/std/Calendar.def:
	* gm2/ulm-lib-gm2/std/Calendar.mod:
	* gm2/ulm-lib-gm2/std/CallShell.def:
	* gm2/ulm-lib-gm2/std/CallShell.mod:
	* gm2/ulm-lib-gm2/std/Clock.def:
	* gm2/ulm-lib-gm2/std/Clock.mod:
	* gm2/ulm-lib-gm2/std/Conversions.def:
	* gm2/ulm-lib-gm2/std/Conversions.mod:
	* gm2/ulm-lib-gm2/std/Directories.def:
	* gm2/ulm-lib-gm2/std/Directories.mod:
	* gm2/ulm-lib-gm2/std/Environment.def:
	* gm2/ulm-lib-gm2/std/Environment.mod:
	* gm2/ulm-lib-gm2/std/EtcGroup.def:
	* gm2/ulm-lib-gm2/std/EtcGroup.mod:
	* gm2/ulm-lib-gm2/std/Files.def:
	* gm2/ulm-lib-gm2/std/Files.mod:
	* gm2/ulm-lib-gm2/std/FtdIO.def:
	* gm2/ulm-lib-gm2/std/FtdIO.mod:
	* gm2/ulm-lib-gm2/std/Functions.def:
	* gm2/ulm-lib-gm2/std/Functions.mod:
	* gm2/ulm-lib-gm2/std/GetPass.def:
	* gm2/ulm-lib-gm2/std/GetPass.mod:
	* gm2/ulm-lib-gm2/std/InOut.def:
	* gm2/ulm-lib-gm2/std/InOut.mod:
	* gm2/ulm-lib-gm2/std/M2EXCEPTION.mod:
	* gm2/ulm-lib-gm2/std/M2RTS.mod:
	* gm2/ulm-lib-gm2/std/MathLib.def:
	* gm2/ulm-lib-gm2/std/MathLib.mod:
	* gm2/ulm-lib-gm2/std/Passwd.def:
	* gm2/ulm-lib-gm2/std/Passwd.mod:
	* gm2/ulm-lib-gm2/std/PipeIO.def:
	* gm2/ulm-lib-gm2/std/PipeIO.mod:
	* gm2/ulm-lib-gm2/std/Plot.def:
	* gm2/ulm-lib-gm2/std/Plot.mod:
	* gm2/ulm-lib-gm2/std/RTErrors.def:
	* gm2/ulm-lib-gm2/std/RTErrors.mod:
	* gm2/ulm-lib-gm2/std/RTExceptions.mod:
	* gm2/ulm-lib-gm2/std/RandomGenerator.def:
	* gm2/ulm-lib-gm2/std/RandomGenerator.mod:
	* gm2/ulm-lib-gm2/std/ReadIntCard.def:
	* gm2/ulm-lib-gm2/std/ReadIntCard.mod:
	* gm2/ulm-lib-gm2/std/RealConv.def:
	* gm2/ulm-lib-gm2/std/RealConv.mod:
	* gm2/ulm-lib-gm2/std/RealInOut.def:
	* gm2/ulm-lib-gm2/std/RealInOut.mod:
	* gm2/ulm-lib-gm2/std/ScanPwfile.def:
	* gm2/ulm-lib-gm2/std/ScanPwfile.mod:
	* gm2/ulm-lib-gm2/std/StdFuncs.def:
	* gm2/ulm-lib-gm2/std/StdFuncs.mod:
	* gm2/ulm-lib-gm2/std/StdIO.def:
	* gm2/ulm-lib-gm2/std/StdIO.mod:
	* gm2/ulm-lib-gm2/std/Storage.def:
	* gm2/ulm-lib-gm2/std/Storage.mod:
	* gm2/ulm-lib-gm2/std/StrSpec.def:
	* gm2/ulm-lib-gm2/std/StrSpec.mod:
	* gm2/ulm-lib-gm2/std/StrToNum.def:
	* gm2/ulm-lib-gm2/std/StrToNum.mod:
	* gm2/ulm-lib-gm2/std/StrToReal.def:
	* gm2/ulm-lib-gm2/std/StrToReal.mod:
	* gm2/ulm-lib-gm2/std/Strings.def:
	* gm2/ulm-lib-gm2/std/Strings.mod:
	* gm2/ulm-lib-gm2/std/SysConf.def:
	* gm2/ulm-lib-gm2/std/SysConf.mod:
	* gm2/ulm-lib-gm2/std/SysPerror.def:
	* gm2/ulm-lib-gm2/std/SysPerror.mod:
	* gm2/ulm-lib-gm2/std/Terminal.def:
	* gm2/ulm-lib-gm2/std/Terminal.mod:
	* gm2/ulm-lib-gm2/std/TimeIO.def:
	* gm2/ulm-lib-gm2/std/TimeIO.mod:
	* gm2/ulm-lib-gm2/sys/Errno.def:
	* gm2/ulm-lib-gm2/sys/Errno.mod:
	* gm2/ulm-lib-gm2/sys/SYSTEM.def:
	* gm2/ulm-lib-gm2/sys/Sys.def:
	* gm2/ulm-lib-gm2/sys/Sys.mod:
	* gm2/ulm-lib-gm2/sys/SysAccess.def:
	* gm2/ulm-lib-gm2/sys/SysAccess.mod:
	* gm2/ulm-lib-gm2/sys/SysAlarm.def:
	* gm2/ulm-lib-gm2/sys/SysAlarm.mod:
	* gm2/ulm-lib-gm2/sys/SysBreak.def:
	* gm2/ulm-lib-gm2/sys/SysBreak.mod:
	* gm2/ulm-lib-gm2/sys/SysClose.def:
	* gm2/ulm-lib-gm2/sys/SysClose.mod:
	* gm2/ulm-lib-gm2/sys/SysCreat.def:
	* gm2/ulm-lib-gm2/sys/SysCreat.mod:
	* gm2/ulm-lib-gm2/sys/SysDup.def:
	* gm2/ulm-lib-gm2/sys/SysDup.mod:
	* gm2/ulm-lib-gm2/sys/SysExec.def:
	* gm2/ulm-lib-gm2/sys/SysExec.mod:
	* gm2/ulm-lib-gm2/sys/SysExit.def:
	* gm2/ulm-lib-gm2/sys/SysExit.mod:
	* gm2/ulm-lib-gm2/sys/SysFcntl.def:
	* gm2/ulm-lib-gm2/sys/SysFcntl.mod:
	* gm2/ulm-lib-gm2/sys/SysFork.def:
	* gm2/ulm-lib-gm2/sys/SysFork.mod:
	* gm2/ulm-lib-gm2/sys/SysGetpid.def:
	* gm2/ulm-lib-gm2/sys/SysGetpid.mod:
	* gm2/ulm-lib-gm2/sys/SysGetuid.def:
	* gm2/ulm-lib-gm2/sys/SysGetuid.mod:
	* gm2/ulm-lib-gm2/sys/SysIoctl.def:
	* gm2/ulm-lib-gm2/sys/SysIoctl.mod:
	* gm2/ulm-lib-gm2/sys/SysKill.def:
	* gm2/ulm-lib-gm2/sys/SysKill.mod:
	* gm2/ulm-lib-gm2/sys/SysLink.def:
	* gm2/ulm-lib-gm2/sys/SysLink.mod:
	* gm2/ulm-lib-gm2/sys/SysLocations.def:
	* gm2/ulm-lib-gm2/sys/SysLocations.mod:
	* gm2/ulm-lib-gm2/sys/SysLseek.def:
	* gm2/ulm-lib-gm2/sys/SysLseek.mod:
	* gm2/ulm-lib-gm2/sys/SysOpen.def:
	* gm2/ulm-lib-gm2/sys/SysOpen.mod:
	* gm2/ulm-lib-gm2/sys/SysPanic.def:
	* gm2/ulm-lib-gm2/sys/SysPanic.mod:
	* gm2/ulm-lib-gm2/sys/SysPause.def:
	* gm2/ulm-lib-gm2/sys/SysPause.mod:
	* gm2/ulm-lib-gm2/sys/SysPipe.def:
	* gm2/ulm-lib-gm2/sys/SysPipe.mod:
	* gm2/ulm-lib-gm2/sys/SysRead.def:
	* gm2/ulm-lib-gm2/sys/SysRead.mod:
	* gm2/ulm-lib-gm2/sys/SysSetuid.def:
	* gm2/ulm-lib-gm2/sys/SysSetuid.mod:
	* gm2/ulm-lib-gm2/sys/SysSignal.def:
	* gm2/ulm-lib-gm2/sys/SysSignal.mod:
	* gm2/ulm-lib-gm2/sys/SysStat.def:
	* gm2/ulm-lib-gm2/sys/SysStat.mod:
	* gm2/ulm-lib-gm2/sys/SysTermIO.def:
	* gm2/ulm-lib-gm2/sys/SysTermIO.mod:
	* gm2/ulm-lib-gm2/sys/SysTime.def:
	* gm2/ulm-lib-gm2/sys/SysTime.mod:
	* gm2/ulm-lib-gm2/sys/SysUnlink.def:
	* gm2/ulm-lib-gm2/sys/SysUnlink.mod:
	* gm2/ulm-lib-gm2/sys/SysWait.def:
	* gm2/ulm-lib-gm2/sys/SysWait.mod:
	* gm2/ulm-lib-gm2/sys/SysWrite.def:
	* gm2/ulm-lib-gm2/sys/SysWrite.mod:
	* gm2/ulm-lib-gm2/sys/SystemTypes.def:
	* gm2/ulm-lib-gm2/sys/SystemTypes.mod:
	* gm2/ulm-lib-gm2/sys/UnixString.def:
	* gm2/ulm-lib-gm2/sys/UnixString.mod:
	* gm2/ulm-lib-gm2/sys/test.mod:
	* gm2/www/Makefile.in:

	* gm2/examples/gravity/Makefile.in:  added missing GPL v3 notices
	  and corrected dates for all the following files.
	* gm2/examples/gravity/testsim.py:
	* gm2/examples/pthread/modified_pth.h:
	* gm2/examples/swig/full-strlib/testequ.py:
	* gm2/gm2-harness/Makefile.in:
	* gm2/gm2-libs/M2EXCEPTION.def:
	* gm2/gm2-libs-ch/termios.c:
	* gm2/gm2-libs-iso/COROUTINES.def:
	* gm2/gm2-libs-iso/ChanConsts.def:
	* gm2/gm2-libs-iso/CharClass.def:
	* gm2/gm2-libs-iso/ComplexMath.def:
	* gm2/gm2-libs-iso/ConvTypes.def:
	* gm2/gm2-libs-iso/EXCEPTIONS.def:
	* gm2/gm2-libs-iso/IOChan.def:
	* gm2/gm2-libs-iso/IOConsts.def:
	* gm2/gm2-libs-iso/IOLink.def:
	* gm2/gm2-libs-iso/IOResult.def:
	* gm2/gm2-libs-iso/LongComplexMath.def:
	* gm2/gm2-libs-iso/LongConv.def:
	* gm2/gm2-libs-iso/LongIO.def:
	* gm2/gm2-libs-iso/LongIO.mod:
	* gm2/gm2-libs-iso/LongMath.def:
	* gm2/gm2-libs-iso/LongStr.def:
	* gm2/gm2-libs-iso/M2EXCEPTION.def:
	* gm2/gm2-libs-iso/Processes.def:
	* gm2/gm2-libs-iso/ProgramArgs.def:
	* gm2/gm2-libs-iso/RawIO.def:
	* gm2/gm2-libs-iso/RealConv.def:
	* gm2/gm2-libs-iso/RealIO.def:
	* gm2/gm2-libs-iso/RealIO.mod:
	* gm2/gm2-libs-iso/RealMath.def:
	* gm2/gm2-libs-iso/RealStr.def:
	* gm2/gm2-libs-iso/RndFile.def:
	* gm2/gm2-libs-iso/SIOResult.def:
	* gm2/gm2-libs-iso/SLongIO.def:
	* gm2/gm2-libs-iso/SRawIO.def:
	* gm2/gm2-libs-iso/SRealIO.def:
	* gm2/gm2-libs-iso/STextIO.def:
	* gm2/gm2-libs-iso/SWholeIO.def:
	* gm2/gm2-libs-iso/SYSTEM.def:
	* gm2/gm2-libs-iso/Semaphores.def:
	* gm2/gm2-libs-iso/SeqFile.def:
	* gm2/gm2-libs-iso/StdChans.def:
	* gm2/gm2-libs-iso/Storage.def:
	* gm2/gm2-libs-iso/StreamFile.def:
	* gm2/gm2-libs-iso/Strings.def:
	* gm2/gm2-libs-iso/SysClock.def:
	* gm2/gm2-libs-iso/TermFile.def:
	* gm2/gm2-libs-iso/TextIO.def:
	* gm2/gm2-libs-iso/WholeConv.def:
	* gm2/gm2-libs-iso/WholeIO.def:
	* gm2/gm2-libs-iso/WholeStr.def:
	* gm2/p2c/p2c-src/include/ansidecl.h:

2010-09-21       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  changed license to v3 of GPL and LGPL for
	  all the following files.
	* gm2/Makefile.in:
	* gm2/configure.in:
	* gm2/gm2-common.c:
	* gm2/gm2-common.h:
	* gm2/gm2-lang.c:
	* gm2/gm2-lang.h:
	* gm2/gm2-tree.def:
	* gm2/gm2-tree.h:
	* gm2/gm2builtins.c:
	* gm2/gm2config.h.in:
	* gm2/gm2except.c:
	* gm2/gm2spec.c:
	* gm2/gm2version.h:
	* gm2/lang-options.h:
	* gm2/m2pp.c:
	* gm2/m2pp.h:
	* gm2/bnf/gm2l.bnf:
	* gm2/bnf/gm2m.bnf:
	* gm2/bnf/h2def.bnf:
	* gm2/bnf/m2-2.bnf:
	* gm2/bnf/m2-3.bnf:
	* gm2/bnf/m2-h.bnf:
	* gm2/bnf/m2.bnf:
	* gm2/examples/callingC/Makefile.in:
	* gm2/examples/callingC/hello.mod:
	* gm2/examples/callingC/libprintf.def:
	* gm2/examples/cplusplus/cppcatchm2/cpp.def:
	* gm2/examples/cplusplus/cppcatchm2/m2.def:
	* gm2/examples/cplusplus/cppcatchm2/m2.mod:
	* gm2/examples/cplusplus/m2catchcpp/cpp.def:
	* gm2/examples/cplusplus/m2catchcpp/m2.mod:
	* gm2/examples/cpp/hello.mod:
	* gm2/examples/cppDef/a.def:
	* gm2/examples/cppDef/a.mod:
	* gm2/examples/cppDef/b.mod:
	* gm2/examples/executive/testexecutive.mod:
	* gm2/examples/executive/testtime.mod:
	* gm2/examples/executive/winexec.mod:
	* gm2/examples/gravity/deviceGnuPic.def:
	* gm2/examples/gravity/deviceGnuPic.mod:
	* gm2/examples/gravity/gsl.def:
	* gm2/examples/gravity/test.mod:
	* gm2/examples/gravity/twoDsim.def:
	* gm2/examples/hello/Makefile.in:
	* gm2/examples/hello/hello.mod:
	* gm2/examples/iso/files/rot13.mod:
	* gm2/examples/iso/hello/hello.mod:
	* gm2/examples/iso/socket/client.mod:
	* gm2/examples/map/AdvMap.def:
	* gm2/examples/map/AdvMap.mod:
	* gm2/examples/map/BoxMap.def:
	* gm2/examples/map/BoxMap.mod:
	* gm2/examples/map/Chance.def:
	* gm2/examples/map/Chance.mod:
	* gm2/examples/map/Find.def:
	* gm2/examples/map/Find.mod:
	* gm2/examples/map/Geometry.def:
	* gm2/examples/map/Geometry.mod:
	* gm2/examples/map/MakeBoxes.def:
	* gm2/examples/map/MakeBoxes.mod:
	* gm2/examples/map/Makefile.in:
	* gm2/examples/map/Map.mod:
	* gm2/examples/map/RoomMap.def:
	* gm2/examples/map/RoomMap.mod:
	* gm2/examples/map/Semantic.mod:
	* gm2/examples/map/StoreCoord.def:
	* gm2/examples/map/StoreCoord.mod:
	* gm2/examples/map/StoreCoords.def:
	* gm2/examples/map/StoreCoords.mod:
	* gm2/examples/map/WriteMap.def:
	* gm2/examples/map/WriteMap.mod:
	* gm2/examples/map/testch2.mod:
	* gm2/examples/map/testchan.mod:
	* gm2/examples/map/testcoor.mod:
	* gm2/examples/map/old-src/GenMap.mod:
	* gm2/examples/map/old-src/MakeMap.mod:
	* gm2/examples/map/old-src/MonMap.def:
	* gm2/examples/map/old-src/MonMap.mod:
	* gm2/examples/map/old-src/testboxes.mod:
	* gm2/examples/min/minhello.mod:
	* gm2/examples/ncurses/ColorText.def:
	* gm2/examples/ncurses/ColorText.mod:
	* gm2/examples/ncurses/Makefile.in:
	* gm2/examples/ncurses/WindowDevice.def:
	* gm2/examples/ncurses/WindowDevice.mod:
	* gm2/examples/ncurses/ncurses.def:
	* gm2/examples/ncurses/shortc.c:
	* gm2/examples/ncurses/shortc.def:
	* gm2/examples/ncurses/test.c:
	* gm2/examples/ncurses/test.mod:
	* gm2/examples/ncurses/testcolor.mod:
	* gm2/examples/ncurses/testmove.mod:
	* gm2/examples/ncurses/testshort.mod:
	* gm2/examples/ncurses/testwin.mod:
	* gm2/examples/pthread/fullpth.def:
	* gm2/examples/pthread/libcextra.def:
	* gm2/examples/pthread/libcwrap.c:
	* gm2/examples/pthread/libcwrap.def:
	* gm2/examples/pthread/testselect.mod:
	* gm2/examples/server/server.mod:
	* gm2/examples/svga/DisplayBuffer.def:
	* gm2/examples/svga/DisplayBuffer.mod:
	* gm2/examples/svga/Matrix3D.def:
	* gm2/examples/svga/Matrix3D.mod:
	* gm2/examples/svga/Transform.def:
	* gm2/examples/svga/Transform.mod:
	* gm2/examples/svga/testbox.mod:
	* gm2/examples/svga/vga.def:
	* gm2/examples/swig/exceptions/tiny.def:
	* gm2/examples/swig/exceptions/tiny.mod:
	* gm2/examples/swig/strlen/MyStrLib.def:
	* gm2/examples/swig/strlen/MyStrLib.mod:
	* gm2/examples/swig/strlib/MyStrLib.def:
	* gm2/examples/swig/strlib/MyStrLib.mod:
	* gm2/examples/swig/tiny/tiny.def:
	* gm2/examples/swig/tiny/tiny.mod:
	* gm2/gm2-compiler/CLexBuf.def:
	* gm2/gm2-compiler/CLexBuf.mod:
	* gm2/gm2-compiler/FifoQueue.def:
	* gm2/gm2-compiler/FifoQueue.mod:
	* gm2/gm2-compiler/Lists.def:
	* gm2/gm2-compiler/Lists.mod:
	* gm2/gm2-compiler/M2ALU.def:
	* gm2/gm2-compiler/M2ALU.mod:
	* gm2/gm2-compiler/M2AsmUtil.def:
	* gm2/gm2-compiler/M2AsmUtil.mod:
	* gm2/gm2-compiler/M2Base.def:
	* gm2/gm2-compiler/M2Base.mod:
	* gm2/gm2-compiler/M2BasicBlock.def:
	* gm2/gm2-compiler/M2BasicBlock.mod:
	* gm2/gm2-compiler/M2Batch.def:
	* gm2/gm2-compiler/M2Batch.mod:
	* gm2/gm2-compiler/M2Bitset.def:
	* gm2/gm2-compiler/M2Bitset.mod:
	* gm2/gm2-compiler/M2CaseList.def:
	* gm2/gm2-compiler/M2CaseList.mod:
	* gm2/gm2-compiler/M2Code.def:
	* gm2/gm2-compiler/M2Code.mod:
	* gm2/gm2-compiler/M2Comp.def:
	* gm2/gm2-compiler/M2Comp.mod:
	* gm2/gm2-compiler/M2Configure.def:
	* gm2/gm2-compiler/M2Configure.mod:
	* gm2/gm2-compiler/M2Constants.def:
	* gm2/gm2-compiler/M2Constants.mod:
	* gm2/gm2-compiler/M2Debug.def:
	* gm2/gm2-compiler/M2Debug.mod:
	* gm2/gm2-compiler/M2Defaults.def:
	* gm2/gm2-compiler/M2Defaults.mod:
	* gm2/gm2-compiler/M2Depth.def:
	* gm2/gm2-compiler/M2Depth.mod:
	* gm2/gm2-compiler/M2Entity.def:
	* gm2/gm2-compiler/M2Entity.mod:
	* gm2/gm2-compiler/M2Error.def:
	* gm2/gm2-compiler/M2Error.mod:
	* gm2/gm2-compiler/M2EvalSym.def:
	* gm2/gm2-compiler/M2FileName.def:
	* gm2/gm2-compiler/M2FileName.mod:
	* gm2/gm2-compiler/M2GCCDeclare.def:
	* gm2/gm2-compiler/M2GCCDeclare.mod:
	* gm2/gm2-compiler/M2GenGCC.def:
	* gm2/gm2-compiler/M2Inline.def:
	* gm2/gm2-compiler/M2Inline.mod:
	* gm2/gm2-compiler/M2Lex.def:
	* gm2/gm2-compiler/M2Lex.mod:
	* gm2/gm2-compiler/M2LexBuf.def:
	* gm2/gm2-compiler/M2LexBuf.mod:
	* gm2/gm2-compiler/M2MetaError.def:
	* gm2/gm2-compiler/M2MetaError.mod:
	* gm2/gm2-compiler/M2Optimize.def:
	* gm2/gm2-compiler/M2Optimize.mod:
	* gm2/gm2-compiler/M2Options.def:
	* gm2/gm2-compiler/M2Options.mod:
	* gm2/gm2-compiler/M2Pass.mod:
	* gm2/gm2-compiler/M2Preprocess.def:
	* gm2/gm2-compiler/M2Preprocess.mod:
	* gm2/gm2-compiler/M2Printf.def:
	* gm2/gm2-compiler/M2Printf.mod:
	* gm2/gm2-compiler/M2Quads.def:
	* gm2/gm2-compiler/M2Quads.mod:
	* gm2/gm2-compiler/M2Quiet.def:
	* gm2/gm2-compiler/M2Quiet.mod:
	* gm2/gm2-compiler/M2Range.def:
	* gm2/gm2-compiler/M2Range.mod:
	* gm2/gm2-compiler/M2Reserved.def:
	* gm2/gm2-compiler/M2Reserved.mod:
	* gm2/gm2-compiler/M2Scope.def:
	* gm2/gm2-compiler/M2Scope.mod:
	* gm2/gm2-compiler/M2Search.def:
	* gm2/gm2-compiler/M2Search.mod:
	* gm2/gm2-compiler/M2Size.def:
	* gm2/gm2-compiler/M2Size.mod:
	* gm2/gm2-compiler/M2StackAddress.def:
	* gm2/gm2-compiler/M2StackAddress.mod:
	* gm2/gm2-compiler/M2StackWord.def:
	* gm2/gm2-compiler/M2StackWord.mod:
	* gm2/gm2-compiler/M2Students.def:
	* gm2/gm2-compiler/M2Students.mod:
	* gm2/gm2-compiler/M2SubExp.def:
	* gm2/gm2-compiler/M2SubExp.mod:
	* gm2/gm2-compiler/M2Swig.def:
	* gm2/gm2-compiler/M2Swig.mod:
	* gm2/gm2-compiler/M2System.def:
	* gm2/gm2-compiler/M2Version.def:
	* gm2/gm2-compiler/NameKey.def:
	* gm2/gm2-compiler/NameKey.mod:
	* gm2/gm2-compiler/P1SymBuild.def:
	* gm2/gm2-compiler/P1SymBuild.mod:
	* gm2/gm2-compiler/P1SyntaxCheck.def:
	* gm2/gm2-compiler/P2Build.def:
	* gm2/gm2-compiler/P2SymBuild.def:
	* gm2/gm2-compiler/P2SymBuild.mod:
	* gm2/gm2-compiler/P3Build.def:
	* gm2/gm2-compiler/P3SymBuild.def:
	* gm2/gm2-compiler/P3SymBuild.mod:
	* gm2/gm2-compiler/PCBuild.def:
	* gm2/gm2-compiler/PCSymBuild.def:
	* gm2/gm2-compiler/PCSymBuild.mod:
	* gm2/gm2-compiler/PHBuild.def:
	* gm2/gm2-compiler/Sets.def:
	* gm2/gm2-compiler/Sets.mod:
	* gm2/gm2-compiler/SymbolConversion.def:
	* gm2/gm2-compiler/SymbolConversion.mod:
	* gm2/gm2-compiler/SymbolKey.def:
	* gm2/gm2-compiler/SymbolKey.mod:
	* gm2/gm2-compiler/SymbolTable.def:
	* gm2/gm2-compiler/SymbolTable.mod:
	* gm2/gm2-compiler/bnflex.def:
	* gm2/gm2-compiler/bnflex.mod:
	* gm2/gm2-compiler/cflex.def:
	* gm2/gm2-compiler/gccgm2.def:
	* gm2/gm2-compiler/gm2.mod:
	* gm2/gm2-compiler/gm2builtins.def:
	* gm2/gm2-compiler/gm2except.def:
	* gm2/gm2-compiler/gm2lcc.mod:
	* gm2/gm2-compiler/gm2lgen.mod:
	* gm2/gm2-compiler/gm2lorder.mod:
	* gm2/gm2-compiler/m2flex.def:
	* gm2/gm2-compiler/ppg.mod:
	* gm2/gm2-libiberty/choosetemp.def:
	* gm2/gm2-libiberty/pexecute.def:
	* gm2/gm2-libs/ASCII.def:
	* gm2/gm2-libs/ASCII.mod:
	* gm2/gm2-libs/Args.def:
	* gm2/gm2-libs/Args.mod:
	* gm2/gm2-libs/Assertion.def:
	* gm2/gm2-libs/Assertion.mod:
	* gm2/gm2-libs/Break.def:
	* gm2/gm2-libs/Break.mod:
	* gm2/gm2-libs/Builtins.def:
	* gm2/gm2-libs/COROUTINES.def:
	* gm2/gm2-libs/COROUTINES.mod:
	* gm2/gm2-libs/CmdArgs.def:
	* gm2/gm2-libs/CmdArgs.mod:
	* gm2/gm2-libs/Debug.def:
	* gm2/gm2-libs/Debug.mod:
	* gm2/gm2-libs/DynamicStrings.def:
	* gm2/gm2-libs/DynamicStrings.mod:
	* gm2/gm2-libs/Environment.def:
	* gm2/gm2-libs/Environment.mod:
	* gm2/gm2-libs/FIO.def:
	* gm2/gm2-libs/FIO.mod:
	* gm2/gm2-libs/FormatStrings.def:
	* gm2/gm2-libs/FormatStrings.mod:
	* gm2/gm2-libs/FpuIO.def:
	* gm2/gm2-libs/FpuIO.mod:
	* gm2/gm2-libs/Indexing.def:
	* gm2/gm2-libs/Indexing.mod:
	* gm2/gm2-libs/LMathLib0.def:
	* gm2/gm2-libs/LMathLib0.mod:
	* gm2/gm2-libs/LegacyReal.def:
	* gm2/gm2-libs/LegacyReal.mod:
	* gm2/gm2-libs/M2EXCEPTION.mod:
	* gm2/gm2-libs/M2RTS.def:
	* gm2/gm2-libs/M2RTS.mod:
	* gm2/gm2-libs/MathLib0.def:
	* gm2/gm2-libs/MathLib0.mod:
	* gm2/gm2-libs/MemUtils.def:
	* gm2/gm2-libs/MemUtils.mod:
	* gm2/gm2-libs/NumberIO.def:
	* gm2/gm2-libs/NumberIO.mod:
	* gm2/gm2-libs/PushBackInput.def:
	* gm2/gm2-libs/PushBackInput.mod:
	* gm2/gm2-libs/RTExceptions.def:
	* gm2/gm2-libs/RTExceptions.mod:
	* gm2/gm2-libs/RTint.def:
	* gm2/gm2-libs/RTint.mod:
	* gm2/gm2-libs/SArgs.def:
	* gm2/gm2-libs/SArgs.mod:
	* gm2/gm2-libs/SEnvironment.def:
	* gm2/gm2-libs/SEnvironment.mod:
	* gm2/gm2-libs/SFIO.def:
	* gm2/gm2-libs/SFIO.mod:
	* gm2/gm2-libs/SMathLib0.def:
	* gm2/gm2-libs/SMathLib0.mod:
	* gm2/gm2-libs/SYSTEM.def:
	* gm2/gm2-libs/SYSTEM.mod:
	* gm2/gm2-libs/Scan.def:
	* gm2/gm2-libs/Scan.mod:
	* gm2/gm2-libs/Selective.def:
	* gm2/gm2-libs/StdIO.def:
	* gm2/gm2-libs/StdIO.mod:
	* gm2/gm2-libs/Storage.def:
	* gm2/gm2-libs/Storage.mod:
	* gm2/gm2-libs/StrCase.def:
	* gm2/gm2-libs/StrCase.mod:
	* gm2/gm2-libs/StrIO.def:
	* gm2/gm2-libs/StrIO.mod:
	* gm2/gm2-libs/StrLib.def:
	* gm2/gm2-libs/StrLib.mod:
	* gm2/gm2-libs/SysExceptions.def:
	* gm2/gm2-libs/SysStorage.def:
	* gm2/gm2-libs/SysStorage.mod:
	* gm2/gm2-libs/TimeString.def:
	* gm2/gm2-libs/TimeString.mod:
	* gm2/gm2-libs/UnixArgs.def:
	* gm2/gm2-libs/cxxabi.def:
	* gm2/gm2-libs/dtoa.def:
	* gm2/gm2-libs/errno.def:
	* gm2/gm2-libs/gm2-libs-host.h.in:
	* gm2/gm2-libs/ldtoa.def:
	* gm2/gm2-libs/libc.def:
	* gm2/gm2-libs/libm.def:
	* gm2/gm2-libs/sckt.def:
	* gm2/gm2-libs/termios.def:
	* gm2/gm2-libs/wrapc.def:
	* gm2/gm2-libs-boot/SYSTEM.def:
	* gm2/gm2-libs-ch/Selective.c:
	* gm2/gm2-libs-ch/StdIO.c:
	* gm2/gm2-libs-ch/Storage.c:
	* gm2/gm2-libs-ch/SysExceptions.c:
	* gm2/gm2-libs-ch/UnixArgs.c:
	* gm2/gm2-libs-ch/choosetemp.c:
	* gm2/gm2-libs-ch/dtoa.c:
	* gm2/gm2-libs-ch/errno.c:
	* gm2/gm2-libs-ch/ldtoa.c:
	* gm2/gm2-libs-ch/libc.c:
	* gm2/gm2-libs-ch/sckt.c:
	* gm2/gm2-libs-ch/wrapc.c:
	* gm2/gm2-libs-ch/xlibc.c:
	* gm2/gm2-libs-coroutines/Debug.def:
	* gm2/gm2-libs-coroutines/Debug.mod:
	* gm2/gm2-libs-coroutines/Executive.def:
	* gm2/gm2-libs-coroutines/Executive.mod:
	* gm2/gm2-libs-coroutines/KeyBoardLEDs.c:
	* gm2/gm2-libs-coroutines/KeyBoardLEDs.def:
	* gm2/gm2-libs-coroutines/SYSTEM.def:
	* gm2/gm2-libs-coroutines/SYSTEM.mod:
	* gm2/gm2-libs-coroutines/TimerHandler.def:
	* gm2/gm2-libs-coroutines/TimerHandler.mod:
	* gm2/gm2-libs-iso/ChanConsts.h:
	* gm2/gm2-libs-iso/ChanConsts.mod:
	* gm2/gm2-libs-iso/CharClass.mod:
	* gm2/gm2-libs-iso/ClientSocket.def:
	* gm2/gm2-libs-iso/ClientSocket.mod:
	* gm2/gm2-libs-iso/ComplexMath.mod:
	* gm2/gm2-libs-iso/ConvStringLong.def:
	* gm2/gm2-libs-iso/ConvStringLong.mod:
	* gm2/gm2-libs-iso/ConvStringReal.def:
	* gm2/gm2-libs-iso/ConvStringReal.mod:
	* gm2/gm2-libs-iso/ConvTypes.mod:
	* gm2/gm2-libs-iso/EXCEPTIONS.mod:
	* gm2/gm2-libs-iso/ErrnoCategory.c:
	* gm2/gm2-libs-iso/ErrnoCategory.def:
	* gm2/gm2-libs-iso/IOChan.mod:
	* gm2/gm2-libs-iso/IOConsts.mod:
	* gm2/gm2-libs-iso/IOLink.mod:
	* gm2/gm2-libs-iso/IOResult.mod:
	* gm2/gm2-libs-iso/LongComplexMath.mod:
	* gm2/gm2-libs-iso/LongConv.mod:
	* gm2/gm2-libs-iso/LongMath.mod:
	* gm2/gm2-libs-iso/LongStr.mod:
	* gm2/gm2-libs-iso/M2RTS.def:
	* gm2/gm2-libs-iso/M2RTS.mod:
	* gm2/gm2-libs-iso/ProgramArgs.mod:
	* gm2/gm2-libs-iso/RTdata.def:
	* gm2/gm2-libs-iso/RTdata.mod:
	* gm2/gm2-libs-iso/RTentity.def:
	* gm2/gm2-libs-iso/RTentity.mod:
	* gm2/gm2-libs-iso/RTfio.def:
	* gm2/gm2-libs-iso/RTfio.mod:
	* gm2/gm2-libs-iso/RTgen.def:
	* gm2/gm2-libs-iso/RTgen.mod:
	* gm2/gm2-libs-iso/RTgenif.def:
	* gm2/gm2-libs-iso/RTgenif.mod:
	* gm2/gm2-libs-iso/RTio.def:
	* gm2/gm2-libs-iso/RTio.mod:
	* gm2/gm2-libs-iso/RawIO.mod:
	* gm2/gm2-libs-iso/RealConv.mod:
	* gm2/gm2-libs-iso/RealMath.mod:
	* gm2/gm2-libs-iso/RealStr.mod:
	* gm2/gm2-libs-iso/RndFile.mod:
	* gm2/gm2-libs-iso/SIOResult.mod:
	* gm2/gm2-libs-iso/SLongIO.mod:
	* gm2/gm2-libs-iso/SRawIO.mod:
	* gm2/gm2-libs-iso/SRealIO.mod:
	* gm2/gm2-libs-iso/STextIO.mod:
	* gm2/gm2-libs-iso/SWholeIO.mod:
	* gm2/gm2-libs-iso/SYSTEM.mod:
	* gm2/gm2-libs-iso/SeqFile.mod:
	* gm2/gm2-libs-iso/ServerSocket.def:
	* gm2/gm2-libs-iso/ServerSocket.mod:
	* gm2/gm2-libs-iso/ShortComplexMath.mod:
	* gm2/gm2-libs-iso/SimpleCipher.def:
	* gm2/gm2-libs-iso/SimpleCipher.mod:
	* gm2/gm2-libs-iso/StdChans.mod:
	* gm2/gm2-libs-iso/Storage.mod:
	* gm2/gm2-libs-iso/StreamFile.mod:
	* gm2/gm2-libs-iso/StringChan.def:
	* gm2/gm2-libs-iso/StringChan.mod:
	* gm2/gm2-libs-iso/Strings.mod:
	* gm2/gm2-libs-iso/SysClock.mod:
	* gm2/gm2-libs-iso/TERMINATION.mod:
	* gm2/gm2-libs-iso/TermFile.mod:
	* gm2/gm2-libs-iso/TextIO.mod:
	* gm2/gm2-libs-iso/WholeConv.mod:
	* gm2/gm2-libs-iso/WholeIO.mod:
	* gm2/gm2-libs-iso/WholeStr.mod:
	* gm2/gm2-libs-iso/wrapsock.c:
	* gm2/gm2-libs-iso/wrapsock.def:
	* gm2/gm2-libs-iso/wraptime.c:
	* gm2/gm2-libs-iso/wraptime.def:
	* gm2/gm2-libs-min/M2RTS.def:
	* gm2/gm2-libs-min/M2RTS.mod:
	* gm2/gm2-libs-min/SYSTEM.def:
	* gm2/gm2-libs-min/SYSTEM.mod:
	* gm2/gm2-libs-min/libc.def:
	* gm2/gm2-libs-pim/BitBlockOps.def:
	* gm2/gm2-libs-pim/BitBlockOps.mod:
	* gm2/gm2-libs-pim/BitByteOps.def:
	* gm2/gm2-libs-pim/BitByteOps.mod:
	* gm2/gm2-libs-pim/BitWordOps.def:
	* gm2/gm2-libs-pim/BitWordOps.mod:
	* gm2/gm2-libs-pim/BlockOps.def:
	* gm2/gm2-libs-pim/BlockOps.mod:
	* gm2/gm2-libs-pim/Break.c:
	* gm2/gm2-libs-pim/Break.def:
	* gm2/gm2-libs-pim/CardinalIO.def:
	* gm2/gm2-libs-pim/CardinalIO.mod:
	* gm2/gm2-libs-pim/Conversions.def:
	* gm2/gm2-libs-pim/Conversions.mod:
	* gm2/gm2-libs-pim/DebugPMD.def:
	* gm2/gm2-libs-pim/DebugPMD.mod:
	* gm2/gm2-libs-pim/DebugTrace.def:
	* gm2/gm2-libs-pim/DebugTrace.mod:
	* gm2/gm2-libs-pim/Delay.def:
	* gm2/gm2-libs-pim/Delay.mod:
	* gm2/gm2-libs-pim/Display.def:
	* gm2/gm2-libs-pim/Display.mod:
	* gm2/gm2-libs-pim/ErrorCode.def:
	* gm2/gm2-libs-pim/ErrorCode.mod:
	* gm2/gm2-libs-pim/FileSystem.def:
	* gm2/gm2-libs-pim/FileSystem.mod:
	* gm2/gm2-libs-pim/FloatingUtilities.def:
	* gm2/gm2-libs-pim/FloatingUtilities.mod:
	* gm2/gm2-libs-pim/InOut.def:
	* gm2/gm2-libs-pim/InOut.mod:
	* gm2/gm2-libs-pim/Keyboard.def:
	* gm2/gm2-libs-pim/Keyboard.mod:
	* gm2/gm2-libs-pim/LongIO.def:
	* gm2/gm2-libs-pim/LongIO.mod:
	* gm2/gm2-libs-pim/Random.def:
	* gm2/gm2-libs-pim/Random.mod:
	* gm2/gm2-libs-pim/RealConversions.mod:
	* gm2/gm2-libs-pim/RealInOut.def:
	* gm2/gm2-libs-pim/RealInOut.mod:
	* gm2/gm2-libs-pim/Strings.def:
	* gm2/gm2-libs-pim/Strings.mod:
	* gm2/gm2-libs-pim/Termbase.def:
	* gm2/gm2-libs-pim/Termbase.mod:
	* gm2/gm2-libs-pim/Terminal.def:
	* gm2/gm2-libs-pim/Terminal.mod:
	* gm2/gm2-libs-pim/TimeDate.def:
	* gm2/gm2-libs-pim/TimeDate.mod:
	* gm2/man/Makefile.in:
	* gm2/p2c/Makefile.in:
	* gm2/p2c/p2c.h:
	* gm2/p2c/p2c-src/Makefile.in:
	* gm2/p2c/p2c-src/auto-host.h.in:
	* gm2/p2c/p2c-src/include/config.h:
	* gm2/p2c/p2c-src/include/system.h:
	* gm2/p2c/p2c-src/src/Makefile.in:
	* gm2/p2c/p2c-src/src/citmods.c:
	* gm2/p2c/p2c-src/src/comment.c:
	* gm2/p2c/p2c-src/src/decl.c:
	* gm2/p2c/p2c-src/src/dir.c:
	* gm2/p2c/p2c-src/src/expr.c:
	* gm2/p2c/p2c-src/src/funcs.c:
	* gm2/p2c/p2c-src/src/hpmods.c:
	* gm2/p2c/p2c-src/src/lex.c:
	* gm2/p2c/p2c-src/src/loc.p2clib.c:
	* gm2/p2c/p2c-src/src/makeproto.c:
	* gm2/p2c/p2c-src/src/out.c:
	* gm2/p2c/p2c-src/src/p2c-config.h:
	* gm2/p2c/p2c-src/src/p2c.h:
	* gm2/p2c/p2c-src/src/p2clib.c:
	* gm2/p2c/p2c-src/src/parse.c:
	* gm2/p2c/p2c-src/src/pexpr.c:
	* gm2/p2c/p2c-src/src/stuff.c:
	* gm2/p2c/p2c-src/src/trans.c:
	* gm2/p2c/p2c-src/src/trans.h:
	* gm2/tools-src/def2texi.py:
	* gm2/tools-src/mklink.c:
	* gm2/ulm-lib-gm2/processes/CoExpressions.def:
	* gm2/ulm-lib-gm2/processes/CoExpressions.mod:
	* gm2/ulm-lib-gm2/processes/Processes.def:
	* gm2/ulm-lib-gm2/processes/Processes.mod:
	* gm2/ulm-lib-gm2/std/ASCII.def:
	* gm2/ulm-lib-gm2/std/ASCII.mod:
	* gm2/ulm-lib-gm2/std/Archive.def:
	* gm2/ulm-lib-gm2/std/Archive.mod:
	* gm2/ulm-lib-gm2/std/Arguments.def:
	* gm2/ulm-lib-gm2/std/Arguments.mod:
	* gm2/ulm-lib-gm2/std/Calendar.def:
	* gm2/ulm-lib-gm2/std/Calendar.mod:
	* gm2/ulm-lib-gm2/std/CallShell.def:
	* gm2/ulm-lib-gm2/std/CallShell.mod:
	* gm2/ulm-lib-gm2/std/Clock.def:
	* gm2/ulm-lib-gm2/std/Clock.mod:
	* gm2/ulm-lib-gm2/std/Conversions.def:
	* gm2/ulm-lib-gm2/std/Conversions.mod:
	* gm2/ulm-lib-gm2/std/Directories.def:
	* gm2/ulm-lib-gm2/std/Directories.mod:
	* gm2/ulm-lib-gm2/std/Environment.def:
	* gm2/ulm-lib-gm2/std/Environment.mod:
	* gm2/ulm-lib-gm2/std/EtcGroup.def:
	* gm2/ulm-lib-gm2/std/EtcGroup.mod:
	* gm2/ulm-lib-gm2/std/Files.def:
	* gm2/ulm-lib-gm2/std/Files.mod:
	* gm2/ulm-lib-gm2/std/FtdIO.def:
	* gm2/ulm-lib-gm2/std/FtdIO.mod:
	* gm2/ulm-lib-gm2/std/Functions.def:
	* gm2/ulm-lib-gm2/std/Functions.mod:
	* gm2/ulm-lib-gm2/std/GetPass.def:
	* gm2/ulm-lib-gm2/std/GetPass.mod:
	* gm2/ulm-lib-gm2/std/InOut.def:
	* gm2/ulm-lib-gm2/std/InOut.mod:
	* gm2/ulm-lib-gm2/std/M2EXCEPTION.mod:
	* gm2/ulm-lib-gm2/std/M2RTS.mod:
	* gm2/ulm-lib-gm2/std/MathLib.def:
	* gm2/ulm-lib-gm2/std/MathLib.mod:
	* gm2/ulm-lib-gm2/std/Passwd.def:
	* gm2/ulm-lib-gm2/std/Passwd.mod:
	* gm2/ulm-lib-gm2/std/PipeIO.def:
	* gm2/ulm-lib-gm2/std/PipeIO.mod:
	* gm2/ulm-lib-gm2/std/Plot.def:
	* gm2/ulm-lib-gm2/std/Plot.mod:
	* gm2/ulm-lib-gm2/std/RTErrors.def:
	* gm2/ulm-lib-gm2/std/RTErrors.mod:
	* gm2/ulm-lib-gm2/std/RTExceptions.mod:
	* gm2/ulm-lib-gm2/std/RandomGenerator.def:
	* gm2/ulm-lib-gm2/std/RandomGenerator.mod:
	* gm2/ulm-lib-gm2/std/ReadIntCard.def:
	* gm2/ulm-lib-gm2/std/ReadIntCard.mod:
	* gm2/ulm-lib-gm2/std/RealConv.def:
	* gm2/ulm-lib-gm2/std/RealConv.mod:
	* gm2/ulm-lib-gm2/std/RealInOut.def:
	* gm2/ulm-lib-gm2/std/RealInOut.mod:
	* gm2/ulm-lib-gm2/std/ScanPwfile.def:
	* gm2/ulm-lib-gm2/std/ScanPwfile.mod:
	* gm2/ulm-lib-gm2/std/StdFuncs.def:
	* gm2/ulm-lib-gm2/std/StdFuncs.mod:
	* gm2/ulm-lib-gm2/std/StdIO.def:
	* gm2/ulm-lib-gm2/std/StdIO.mod:
	* gm2/ulm-lib-gm2/std/Storage.def:
	* gm2/ulm-lib-gm2/std/Storage.mod:
	* gm2/ulm-lib-gm2/std/StrSpec.def:
	* gm2/ulm-lib-gm2/std/StrSpec.mod:
	* gm2/ulm-lib-gm2/std/StrToNum.def:
	* gm2/ulm-lib-gm2/std/StrToNum.mod:
	* gm2/ulm-lib-gm2/std/StrToReal.def:
	* gm2/ulm-lib-gm2/std/StrToReal.mod:
	* gm2/ulm-lib-gm2/std/Strings.def:
	* gm2/ulm-lib-gm2/std/Strings.mod:
	* gm2/ulm-lib-gm2/std/SysConf.def:
	* gm2/ulm-lib-gm2/std/SysConf.mod:
	* gm2/ulm-lib-gm2/std/SysPerror.def:
	* gm2/ulm-lib-gm2/std/SysPerror.mod:
	* gm2/ulm-lib-gm2/std/Terminal.def:
	* gm2/ulm-lib-gm2/std/Terminal.mod:
	* gm2/ulm-lib-gm2/std/TimeIO.def:
	* gm2/ulm-lib-gm2/std/TimeIO.mod:
	* gm2/ulm-lib-gm2/sys/Errno.def:
	* gm2/ulm-lib-gm2/sys/Errno.mod:
	* gm2/ulm-lib-gm2/sys/SYSTEM.def:
	* gm2/ulm-lib-gm2/sys/Sys.def:
	* gm2/ulm-lib-gm2/sys/Sys.mod:
	* gm2/ulm-lib-gm2/sys/SysAccess.def:
	* gm2/ulm-lib-gm2/sys/SysAccess.mod:
	* gm2/ulm-lib-gm2/sys/SysAlarm.def:
	* gm2/ulm-lib-gm2/sys/SysAlarm.mod:
	* gm2/ulm-lib-gm2/sys/SysBreak.def:
	* gm2/ulm-lib-gm2/sys/SysBreak.mod:
	* gm2/ulm-lib-gm2/sys/SysClose.def:
	* gm2/ulm-lib-gm2/sys/SysClose.mod:
	* gm2/ulm-lib-gm2/sys/SysCreat.def:
	* gm2/ulm-lib-gm2/sys/SysCreat.mod:
	* gm2/ulm-lib-gm2/sys/SysDup.def:
	* gm2/ulm-lib-gm2/sys/SysDup.mod:
	* gm2/ulm-lib-gm2/sys/SysExec.def:
	* gm2/ulm-lib-gm2/sys/SysExec.mod:
	* gm2/ulm-lib-gm2/sys/SysExit.def:
	* gm2/ulm-lib-gm2/sys/SysExit.mod:
	* gm2/ulm-lib-gm2/sys/SysFcntl.def:
	* gm2/ulm-lib-gm2/sys/SysFcntl.mod:
	* gm2/ulm-lib-gm2/sys/SysFork.def:
	* gm2/ulm-lib-gm2/sys/SysFork.mod:
	* gm2/ulm-lib-gm2/sys/SysGetpid.def:
	* gm2/ulm-lib-gm2/sys/SysGetpid.mod:
	* gm2/ulm-lib-gm2/sys/SysGetuid.def:
	* gm2/ulm-lib-gm2/sys/SysGetuid.mod:
	* gm2/ulm-lib-gm2/sys/SysIoctl.def:
	* gm2/ulm-lib-gm2/sys/SysIoctl.mod:
	* gm2/ulm-lib-gm2/sys/SysKill.def:
	* gm2/ulm-lib-gm2/sys/SysKill.mod:
	* gm2/ulm-lib-gm2/sys/SysLink.def:
	* gm2/ulm-lib-gm2/sys/SysLink.mod:
	* gm2/ulm-lib-gm2/sys/SysLocations.def:
	* gm2/ulm-lib-gm2/sys/SysLocations.mod:
	* gm2/ulm-lib-gm2/sys/SysLseek.def:
	* gm2/ulm-lib-gm2/sys/SysLseek.mod:
	* gm2/ulm-lib-gm2/sys/SysOpen.def:
	* gm2/ulm-lib-gm2/sys/SysOpen.mod:
	* gm2/ulm-lib-gm2/sys/SysPanic.def:
	* gm2/ulm-lib-gm2/sys/SysPanic.mod:
	* gm2/ulm-lib-gm2/sys/SysPause.def:
	* gm2/ulm-lib-gm2/sys/SysPause.mod:
	* gm2/ulm-lib-gm2/sys/SysPipe.def:
	* gm2/ulm-lib-gm2/sys/SysPipe.mod:
	* gm2/ulm-lib-gm2/sys/SysRead.def:
	* gm2/ulm-lib-gm2/sys/SysRead.mod:
	* gm2/ulm-lib-gm2/sys/SysSetuid.def:
	* gm2/ulm-lib-gm2/sys/SysSetuid.mod:
	* gm2/ulm-lib-gm2/sys/SysSignal.def:
	* gm2/ulm-lib-gm2/sys/SysSignal.mod:
	* gm2/ulm-lib-gm2/sys/SysStat.def:
	* gm2/ulm-lib-gm2/sys/SysStat.mod:
	* gm2/ulm-lib-gm2/sys/SysTermIO.def:
	* gm2/ulm-lib-gm2/sys/SysTermIO.mod:
	* gm2/ulm-lib-gm2/sys/SysTime.def:
	* gm2/ulm-lib-gm2/sys/SysTime.mod:
	* gm2/ulm-lib-gm2/sys/SysUnlink.def:
	* gm2/ulm-lib-gm2/sys/SysUnlink.mod:
	* gm2/ulm-lib-gm2/sys/SysWait.def:
	* gm2/ulm-lib-gm2/sys/SysWait.mod:
	* gm2/ulm-lib-gm2/sys/SysWrite.def:
	* gm2/ulm-lib-gm2/sys/SysWrite.mod:
	* gm2/ulm-lib-gm2/sys/SystemTypes.def:
	* gm2/ulm-lib-gm2/sys/SystemTypes.mod:
	* gm2/ulm-lib-gm2/sys/UnixString.def:
	* gm2/ulm-lib-gm2/sys/UnixString.mod:
	* gm2/ulm-lib-gm2/sys/test.mod:
	* gm2/www/Makefile.in:
	* gm2/www/index.ms:

2010-09-21       Gaius Mulley <gaius@gnu.org>

	* gm2/www/index.ms:  updated information for the 0.98 release.
	* gm2/gm2-compiler/M2Quads.mod:  fixed bug reported by
          DragiÅ¡a DuriÄ (dragisa-duric/testcase16/pass/TermIO.mod)
	  and also DragiÅ¡a DuriÄ
	  (dragisa-duric/testcase15/pass/testcase15.mod).
	* gm2/gm2-compiler/P2SymBuild.def:  (New procedure) SkipConst.
	* gm2/gm2-compiler/P2SymBuild.mod:  (New procedure) SkipConst
	  implemented.
	* gm2/gm2-compiler/PCSymBuild.mod:  call FixupConstExpr if a
	  constant is assigned to a procedure.
	* gm2/Make-lang.in:  fixed dates for the following files.
	* gm2/Makefile.in:
	* gm2/configure.in:
	* gm2/gm2-common.c:
	* gm2/gm2-common.h:
	* gm2/gm2-lang.c:
	* gm2/gm2-lang.h:
	* gm2/gm2-tree.def:
	* gm2/gm2-tree.h:
	* gm2/gm2builtins.c:
	* gm2/gm2config.h.in:
	* gm2/gm2except.c:
	* gm2/gm2spec.c:
	* gm2/gm2version.h:
	* gm2/lang-options.h:
	* gm2/m2pp.c:
	* gm2/m2pp.h:
	* gm2/bnf/gm2l.bnf:
	* gm2/bnf/gm2m.bnf:
	* gm2/bnf/h2def.bnf:
	* gm2/bnf/m2-2.bnf:
	* gm2/bnf/m2-3.bnf:
	* gm2/bnf/m2-h.bnf:
	* gm2/bnf/m2.bnf:
	* gm2/examples/callingC/Makefile.in:
	* gm2/examples/callingC/hello.mod:
	* gm2/examples/callingC/libprintf.def:
	* gm2/examples/cplusplus/cppcatchm2/cpp.def:
	* gm2/examples/cplusplus/cppcatchm2/m2.def:
	* gm2/examples/cplusplus/cppcatchm2/m2.mod:
	* gm2/examples/cplusplus/m2catchcpp/cpp.def:
	* gm2/examples/cplusplus/m2catchcpp/m2.mod:
	* gm2/examples/cpp/hello.mod:
	* gm2/examples/cppDef/a.def:
	* gm2/examples/cppDef/a.mod:
	* gm2/examples/cppDef/b.mod:
	* gm2/examples/executive/testexecutive.mod:
	* gm2/examples/executive/testtime.mod:
	* gm2/examples/executive/winexec.mod:
	* gm2/examples/gravity/deviceGnuPic.def:
	* gm2/examples/gravity/deviceGnuPic.mod:
	* gm2/examples/gravity/gsl.def:
	* gm2/examples/gravity/test.mod:
	* gm2/examples/gravity/twoDsim.def:
	* gm2/examples/hello/Makefile.in:
	* gm2/examples/hello/hello.mod:
	* gm2/examples/iso/files/rot13.mod:
	* gm2/examples/iso/hello/hello.mod:
	* gm2/examples/iso/socket/client.mod:
	* gm2/examples/map/AdvMap.def:
	* gm2/examples/map/AdvMap.mod:
	* gm2/examples/map/BoxMap.def:
	* gm2/examples/map/BoxMap.mod:
	* gm2/examples/map/Chance.def:
	* gm2/examples/map/Chance.mod:
	* gm2/examples/map/Find.def:
	* gm2/examples/map/Find.mod:
	* gm2/examples/map/Geometry.def:
	* gm2/examples/map/Geometry.mod:
	* gm2/examples/map/MakeBoxes.def:
	* gm2/examples/map/MakeBoxes.mod:
	* gm2/examples/map/Makefile.in:
	* gm2/examples/map/Map.mod:
	* gm2/examples/map/RoomMap.def:
	* gm2/examples/map/RoomMap.mod:
	* gm2/examples/map/Semantic.mod:
	* gm2/examples/map/StoreCoord.def:
	* gm2/examples/map/StoreCoord.mod:
	* gm2/examples/map/StoreCoords.def:
	* gm2/examples/map/StoreCoords.mod:
	* gm2/examples/map/WriteMap.def:
	* gm2/examples/map/WriteMap.mod:
	* gm2/examples/map/testch2.mod:
	* gm2/examples/map/testchan.mod:
	* gm2/examples/map/testcoor.mod:
	* gm2/examples/map/old-src/GenMap.mod:
	* gm2/examples/map/old-src/MakeMap.mod:
	* gm2/examples/map/old-src/MonMap.def:
	* gm2/examples/map/old-src/MonMap.mod:
	* gm2/examples/map/old-src/testboxes.mod:
	* gm2/examples/min/minhello.mod:
	* gm2/examples/ncurses/ColorText.def:
	* gm2/examples/ncurses/ColorText.mod:
	* gm2/examples/ncurses/Makefile.in:
	* gm2/examples/ncurses/WindowDevice.def:
	* gm2/examples/ncurses/WindowDevice.mod:
	* gm2/examples/ncurses/ncurses.def:
	* gm2/examples/ncurses/shortc.c:
	* gm2/examples/ncurses/shortc.def:
	* gm2/examples/ncurses/test.c:
	* gm2/examples/ncurses/test.mod:
	* gm2/examples/ncurses/testcolor.mod:
	* gm2/examples/ncurses/testmove.mod:
	* gm2/examples/ncurses/testshort.mod:
	* gm2/examples/ncurses/testwin.mod:
	* gm2/examples/pthread/fullpth.def:
	* gm2/examples/pthread/libcextra.def:
	* gm2/examples/pthread/libcwrap.c:
	* gm2/examples/pthread/libcwrap.def:
	* gm2/examples/pthread/testselect.mod:
	* gm2/examples/server/server.mod:
	* gm2/examples/svga/DisplayBuffer.def:
	* gm2/examples/svga/DisplayBuffer.mod:
	* gm2/examples/svga/Matrix3D.def:
	* gm2/examples/svga/Matrix3D.mod:
	* gm2/examples/svga/Transform.def:
	* gm2/examples/svga/Transform.mod:
	* gm2/examples/svga/testbox.mod:
	* gm2/examples/svga/vga.def:
	* gm2/examples/swig/exceptions/tiny.def:
	* gm2/examples/swig/exceptions/tiny.mod:
	* gm2/examples/swig/strlen/MyStrLib.def:
	* gm2/examples/swig/strlen/MyStrLib.mod:
	* gm2/examples/swig/strlib/MyStrLib.def:
	* gm2/examples/swig/strlib/MyStrLib.mod:
	* gm2/examples/swig/tiny/tiny.def:
	* gm2/examples/swig/tiny/tiny.mod:
	* gm2/gm2-compiler/CLexBuf.def:
	* gm2/gm2-compiler/CLexBuf.mod:
	* gm2/gm2-compiler/FifoQueue.def:
	* gm2/gm2-compiler/FifoQueue.mod:
	* gm2/gm2-compiler/Lists.def:
	* gm2/gm2-compiler/Lists.mod:
	* gm2/gm2-compiler/M2ALU.def:
	* gm2/gm2-compiler/M2ALU.mod:
	* gm2/gm2-compiler/M2AsmUtil.def:
	* gm2/gm2-compiler/M2AsmUtil.mod:
	* gm2/gm2-compiler/M2Base.def:
	* gm2/gm2-compiler/M2Base.mod:
	* gm2/gm2-compiler/M2BasicBlock.def:
	* gm2/gm2-compiler/M2BasicBlock.mod:
	* gm2/gm2-compiler/M2Batch.def:
	* gm2/gm2-compiler/M2Batch.mod:
	* gm2/gm2-compiler/M2Bitset.def:
	* gm2/gm2-compiler/M2Bitset.mod:
	* gm2/gm2-compiler/M2CaseList.def:
	* gm2/gm2-compiler/M2CaseList.mod:
	* gm2/gm2-compiler/M2Code.def:
	* gm2/gm2-compiler/M2Code.mod:
	* gm2/gm2-compiler/M2Comp.def:
	* gm2/gm2-compiler/M2Comp.mod:
	* gm2/gm2-compiler/M2Configure.def:
	* gm2/gm2-compiler/M2Configure.mod:
	* gm2/gm2-compiler/M2Constants.def:
	* gm2/gm2-compiler/M2Constants.mod:
	* gm2/gm2-compiler/M2Debug.def:
	* gm2/gm2-compiler/M2Debug.mod:
	* gm2/gm2-compiler/M2Defaults.def:
	* gm2/gm2-compiler/M2Defaults.mod:
	* gm2/gm2-compiler/M2Depth.def:
	* gm2/gm2-compiler/M2Depth.mod:
	* gm2/gm2-compiler/M2Entity.def:
	* gm2/gm2-compiler/M2Entity.mod:
	* gm2/gm2-compiler/M2Error.def:
	* gm2/gm2-compiler/M2Error.mod:
	* gm2/gm2-compiler/M2EvalSym.def:
	* gm2/gm2-compiler/M2FileName.def:
	* gm2/gm2-compiler/M2FileName.mod:
	* gm2/gm2-compiler/M2GCCDeclare.def:
	* gm2/gm2-compiler/M2GCCDeclare.mod:
	* gm2/gm2-compiler/M2GenGCC.def:
	* gm2/gm2-compiler/M2Inline.def:
	* gm2/gm2-compiler/M2Inline.mod:
	* gm2/gm2-compiler/M2Lex.def:
	* gm2/gm2-compiler/M2Lex.mod:
	* gm2/gm2-compiler/M2LexBuf.def:
	* gm2/gm2-compiler/M2LexBuf.mod:
	* gm2/gm2-compiler/M2MetaError.def:
	* gm2/gm2-compiler/M2MetaError.mod:
	* gm2/gm2-compiler/M2Optimize.def:
	* gm2/gm2-compiler/M2Optimize.mod:
	* gm2/gm2-compiler/M2Options.def:
	* gm2/gm2-compiler/M2Options.mod:
	* gm2/gm2-compiler/M2Pass.mod:
	* gm2/gm2-compiler/M2Preprocess.def:
	* gm2/gm2-compiler/M2Preprocess.mod:
	* gm2/gm2-compiler/M2Printf.def:
	* gm2/gm2-compiler/M2Printf.mod:
	* gm2/gm2-compiler/M2Quads.def:
	* gm2/gm2-compiler/M2Quads.mod:
	* gm2/gm2-compiler/M2Quiet.def:
	* gm2/gm2-compiler/M2Quiet.mod:
	* gm2/gm2-compiler/M2Range.def:
	* gm2/gm2-compiler/M2Range.mod:
	* gm2/gm2-compiler/M2Reserved.def:
	* gm2/gm2-compiler/M2Reserved.mod:
	* gm2/gm2-compiler/M2Scope.def:
	* gm2/gm2-compiler/M2Scope.mod:
	* gm2/gm2-compiler/M2Search.def:
	* gm2/gm2-compiler/M2Search.mod:
	* gm2/gm2-compiler/M2Size.def:
	* gm2/gm2-compiler/M2Size.mod:
	* gm2/gm2-compiler/M2StackAddress.def:
	* gm2/gm2-compiler/M2StackAddress.mod:
	* gm2/gm2-compiler/M2StackWord.def:
	* gm2/gm2-compiler/M2StackWord.mod:
	* gm2/gm2-compiler/M2Students.def:
	* gm2/gm2-compiler/M2Students.mod:
	* gm2/gm2-compiler/M2SubExp.def:
	* gm2/gm2-compiler/M2SubExp.mod:
	* gm2/gm2-compiler/M2Swig.def:
	* gm2/gm2-compiler/M2Swig.mod:
	* gm2/gm2-compiler/M2System.def:
	* gm2/gm2-compiler/M2Version.def:
	* gm2/gm2-compiler/NameKey.def:
	* gm2/gm2-compiler/NameKey.mod:
	* gm2/gm2-compiler/P1SymBuild.def:
	* gm2/gm2-compiler/P1SymBuild.mod:
	* gm2/gm2-compiler/P1SyntaxCheck.def:
	* gm2/gm2-compiler/P2Build.def:
	* gm2/gm2-compiler/P2SymBuild.def:
	* gm2/gm2-compiler/P2SymBuild.mod:
	* gm2/gm2-compiler/P3Build.def:
	* gm2/gm2-compiler/P3SymBuild.def:
	* gm2/gm2-compiler/P3SymBuild.mod:
	* gm2/gm2-compiler/PCBuild.def:
	* gm2/gm2-compiler/PCSymBuild.def:
	* gm2/gm2-compiler/PCSymBuild.mod:
	* gm2/gm2-compiler/PHBuild.def:
	* gm2/gm2-compiler/Sets.def:
	* gm2/gm2-compiler/Sets.mod:
	* gm2/gm2-compiler/SymbolConversion.def:
	* gm2/gm2-compiler/SymbolConversion.mod:
	* gm2/gm2-compiler/SymbolKey.def:
	* gm2/gm2-compiler/SymbolKey.mod:
	* gm2/gm2-compiler/SymbolTable.def:
	* gm2/gm2-compiler/SymbolTable.mod:
	* gm2/gm2-compiler/bnflex.def:
	* gm2/gm2-compiler/bnflex.mod:
	* gm2/gm2-compiler/cflex.def:
	* gm2/gm2-compiler/gccgm2.def:
	* gm2/gm2-compiler/gm2.mod:
	* gm2/gm2-compiler/gm2builtins.def:
	* gm2/gm2-compiler/gm2except.def:
	* gm2/gm2-compiler/gm2lcc.mod:
	* gm2/gm2-compiler/gm2lgen.mod:
	* gm2/gm2-compiler/gm2lorder.mod:
	* gm2/gm2-compiler/m2flex.def:
	* gm2/gm2-compiler/ppg.mod:
	* gm2/gm2-libiberty/choosetemp.def:
	* gm2/gm2-libiberty/pexecute.def:
	* gm2/gm2-libs/ASCII.def:
	* gm2/gm2-libs/ASCII.mod:
	* gm2/gm2-libs/Args.def:
	* gm2/gm2-libs/Args.mod:
	* gm2/gm2-libs/Assertion.def:
	* gm2/gm2-libs/Assertion.mod:
	* gm2/gm2-libs/Break.def:
	* gm2/gm2-libs/Break.mod:
	* gm2/gm2-libs/Builtins.def:
	* gm2/gm2-libs/COROUTINES.def:
	* gm2/gm2-libs/COROUTINES.mod:
	* gm2/gm2-libs/CmdArgs.def:
	* gm2/gm2-libs/CmdArgs.mod:
	* gm2/gm2-libs/Debug.def:
	* gm2/gm2-libs/Debug.mod:
	* gm2/gm2-libs/DynamicStrings.def:
	* gm2/gm2-libs/DynamicStrings.mod:
	* gm2/gm2-libs/Environment.def:
	* gm2/gm2-libs/Environment.mod:
	* gm2/gm2-libs/FIO.def:
	* gm2/gm2-libs/FIO.mod:
	* gm2/gm2-libs/FormatStrings.def:
	* gm2/gm2-libs/FormatStrings.mod:
	* gm2/gm2-libs/FpuIO.def:
	* gm2/gm2-libs/FpuIO.mod:
	* gm2/gm2-libs/Indexing.def:
	* gm2/gm2-libs/Indexing.mod:
	* gm2/gm2-libs/LMathLib0.def:
	* gm2/gm2-libs/LMathLib0.mod:
	* gm2/gm2-libs/LegacyReal.def:
	* gm2/gm2-libs/LegacyReal.mod:
	* gm2/gm2-libs/M2EXCEPTION.mod:
	* gm2/gm2-libs/M2RTS.def:
	* gm2/gm2-libs/M2RTS.mod:
	* gm2/gm2-libs/MathLib0.def:
	* gm2/gm2-libs/MathLib0.mod:
	* gm2/gm2-libs/MemUtils.def:
	* gm2/gm2-libs/MemUtils.mod:
	* gm2/gm2-libs/NumberIO.def:
	* gm2/gm2-libs/NumberIO.mod:
	* gm2/gm2-libs/PushBackInput.def:
	* gm2/gm2-libs/PushBackInput.mod:
	* gm2/gm2-libs/RTExceptions.def:
	* gm2/gm2-libs/RTExceptions.mod:
	* gm2/gm2-libs/RTint.def:
	* gm2/gm2-libs/RTint.mod:
	* gm2/gm2-libs/SArgs.def:
	* gm2/gm2-libs/SArgs.mod:
	* gm2/gm2-libs/SEnvironment.def:
	* gm2/gm2-libs/SEnvironment.mod:
	* gm2/gm2-libs/SFIO.def:
	* gm2/gm2-libs/SFIO.mod:
	* gm2/gm2-libs/SMathLib0.def:
	* gm2/gm2-libs/SMathLib0.mod:
	* gm2/gm2-libs/SYSTEM.def:
	* gm2/gm2-libs/SYSTEM.mod:
	* gm2/gm2-libs/Scan.def:
	* gm2/gm2-libs/Scan.mod:
	* gm2/gm2-libs/Selective.def:
	* gm2/gm2-libs/StdIO.def:
	* gm2/gm2-libs/StdIO.mod:
	* gm2/gm2-libs/Storage.def:
	* gm2/gm2-libs/Storage.mod:
	* gm2/gm2-libs/StrCase.def:
	* gm2/gm2-libs/StrCase.mod:
	* gm2/gm2-libs/StrIO.def:
	* gm2/gm2-libs/StrIO.mod:
	* gm2/gm2-libs/StrLib.def:
	* gm2/gm2-libs/StrLib.mod:
	* gm2/gm2-libs/SysExceptions.def:
	* gm2/gm2-libs/SysStorage.def:
	* gm2/gm2-libs/SysStorage.mod:
	* gm2/gm2-libs/TimeString.def:
	* gm2/gm2-libs/TimeString.mod:
	* gm2/gm2-libs/UnixArgs.def:
	* gm2/gm2-libs/cxxabi.def:
	* gm2/gm2-libs/dtoa.def:
	* gm2/gm2-libs/errno.def:
	* gm2/gm2-libs/gm2-libs-host.h.in:
	* gm2/gm2-libs/ldtoa.def:
	* gm2/gm2-libs/libc.def:
	* gm2/gm2-libs/libm.def:
	* gm2/gm2-libs/sckt.def:
	* gm2/gm2-libs/termios.def:
	* gm2/gm2-libs/wrapc.def:
	* gm2/gm2-libs-boot/SYSTEM.def:
	* gm2/gm2-libs-ch/Selective.c:
	* gm2/gm2-libs-ch/StdIO.c:
	* gm2/gm2-libs-ch/Storage.c:
	* gm2/gm2-libs-ch/SysExceptions.c:
	* gm2/gm2-libs-ch/UnixArgs.c:
	* gm2/gm2-libs-ch/choosetemp.c:
	* gm2/gm2-libs-ch/dtoa.c:
	* gm2/gm2-libs-ch/errno.c:
	* gm2/gm2-libs-ch/ldtoa.c:
	* gm2/gm2-libs-ch/libc.c:
	* gm2/gm2-libs-ch/sckt.c:
	* gm2/gm2-libs-ch/wrapc.c:
	* gm2/gm2-libs-ch/xlibc.c:
	* gm2/gm2-libs-coroutines/Debug.def:
	* gm2/gm2-libs-coroutines/Debug.mod:
	* gm2/gm2-libs-coroutines/Executive.def:
	* gm2/gm2-libs-coroutines/Executive.mod:
	* gm2/gm2-libs-coroutines/KeyBoardLEDs.c:
	* gm2/gm2-libs-coroutines/KeyBoardLEDs.def:
	* gm2/gm2-libs-coroutines/SYSTEM.def:
	* gm2/gm2-libs-coroutines/SYSTEM.mod:
	* gm2/gm2-libs-coroutines/TimerHandler.def:
	* gm2/gm2-libs-coroutines/TimerHandler.mod:
	* gm2/gm2-libs-iso/ChanConsts.h:
	* gm2/gm2-libs-iso/ChanConsts.mod:
	* gm2/gm2-libs-iso/CharClass.mod:
	* gm2/gm2-libs-iso/ClientSocket.def:
	* gm2/gm2-libs-iso/ClientSocket.mod:
	* gm2/gm2-libs-iso/ComplexMath.mod:
	* gm2/gm2-libs-iso/ConvStringLong.def:
	* gm2/gm2-libs-iso/ConvStringLong.mod:
	* gm2/gm2-libs-iso/ConvStringReal.def:
	* gm2/gm2-libs-iso/ConvStringReal.mod:
	* gm2/gm2-libs-iso/ConvTypes.mod:
	* gm2/gm2-libs-iso/EXCEPTIONS.mod:
	* gm2/gm2-libs-iso/ErrnoCategory.c:
	* gm2/gm2-libs-iso/ErrnoCategory.def:
	* gm2/gm2-libs-iso/IOChan.mod:
	* gm2/gm2-libs-iso/IOConsts.mod:
	* gm2/gm2-libs-iso/IOLink.mod:
	* gm2/gm2-libs-iso/IOResult.mod:
	* gm2/gm2-libs-iso/LongComplexMath.mod:
	* gm2/gm2-libs-iso/LongConv.mod:
	* gm2/gm2-libs-iso/LongMath.mod:
	* gm2/gm2-libs-iso/LongStr.mod:
	* gm2/gm2-libs-iso/M2RTS.def:
	* gm2/gm2-libs-iso/M2RTS.mod:
	* gm2/gm2-libs-iso/ProgramArgs.mod:
	* gm2/gm2-libs-iso/RTdata.def:
	* gm2/gm2-libs-iso/RTdata.mod:
	* gm2/gm2-libs-iso/RTentity.def:
	* gm2/gm2-libs-iso/RTentity.mod:
	* gm2/gm2-libs-iso/RTfio.def:
	* gm2/gm2-libs-iso/RTfio.mod:
	* gm2/gm2-libs-iso/RTgen.def:
	* gm2/gm2-libs-iso/RTgen.mod:
	* gm2/gm2-libs-iso/RTgenif.def:
	* gm2/gm2-libs-iso/RTgenif.mod:
	* gm2/gm2-libs-iso/RTio.def:
	* gm2/gm2-libs-iso/RTio.mod:
	* gm2/gm2-libs-iso/RawIO.mod:
	* gm2/gm2-libs-iso/RealConv.mod:
	* gm2/gm2-libs-iso/RealMath.mod:
	* gm2/gm2-libs-iso/RealStr.mod:
	* gm2/gm2-libs-iso/RndFile.mod:
	* gm2/gm2-libs-iso/SIOResult.mod:
	* gm2/gm2-libs-iso/SLongIO.mod:
	* gm2/gm2-libs-iso/SRawIO.mod:
	* gm2/gm2-libs-iso/SRealIO.mod:
	* gm2/gm2-libs-iso/STextIO.mod:
	* gm2/gm2-libs-iso/SWholeIO.mod:
	* gm2/gm2-libs-iso/SYSTEM.mod:
	* gm2/gm2-libs-iso/SeqFile.mod:
	* gm2/gm2-libs-iso/ServerSocket.def:
	* gm2/gm2-libs-iso/ServerSocket.mod:
	* gm2/gm2-libs-iso/ShortComplexMath.mod:
	* gm2/gm2-libs-iso/SimpleCipher.def:
	* gm2/gm2-libs-iso/SimpleCipher.mod:
	* gm2/gm2-libs-iso/StdChans.mod:
	* gm2/gm2-libs-iso/Storage.mod:
	* gm2/gm2-libs-iso/StreamFile.mod:
	* gm2/gm2-libs-iso/StringChan.def:
	* gm2/gm2-libs-iso/StringChan.mod:
	* gm2/gm2-libs-iso/Strings.mod:
	* gm2/gm2-libs-iso/SysClock.mod:
	* gm2/gm2-libs-iso/TERMINATION.mod:
	* gm2/gm2-libs-iso/TermFile.mod:
	* gm2/gm2-libs-iso/TextIO.mod:
	* gm2/gm2-libs-iso/WholeConv.mod:
	* gm2/gm2-libs-iso/WholeIO.mod:
	* gm2/gm2-libs-iso/WholeStr.mod:
	* gm2/gm2-libs-iso/wrapsock.c:
	* gm2/gm2-libs-iso/wrapsock.def:
	* gm2/gm2-libs-iso/wraptime.c:
	* gm2/gm2-libs-iso/wraptime.def:
	* gm2/gm2-libs-min/M2RTS.def:
	* gm2/gm2-libs-min/M2RTS.mod:
	* gm2/gm2-libs-min/SYSTEM.def:
	* gm2/gm2-libs-min/SYSTEM.mod:
	* gm2/gm2-libs-min/libc.def:
	* gm2/gm2-libs-pim/BitBlockOps.def:
	* gm2/gm2-libs-pim/BitBlockOps.mod:
	* gm2/gm2-libs-pim/BitByteOps.def:
	* gm2/gm2-libs-pim/BitByteOps.mod:
	* gm2/gm2-libs-pim/BitWordOps.def:
	* gm2/gm2-libs-pim/BitWordOps.mod:
	* gm2/gm2-libs-pim/BlockOps.def:
	* gm2/gm2-libs-pim/BlockOps.mod:
	* gm2/gm2-libs-pim/Break.c:
	* gm2/gm2-libs-pim/Break.def:
	* gm2/gm2-libs-pim/CardinalIO.def:
	* gm2/gm2-libs-pim/CardinalIO.mod:
	* gm2/gm2-libs-pim/Conversions.def:
	* gm2/gm2-libs-pim/Conversions.mod:
	* gm2/gm2-libs-pim/DebugPMD.def:
	* gm2/gm2-libs-pim/DebugPMD.mod:
	* gm2/gm2-libs-pim/DebugTrace.def:
	* gm2/gm2-libs-pim/DebugTrace.mod:
	* gm2/gm2-libs-pim/Delay.def:
	* gm2/gm2-libs-pim/Delay.mod:
	* gm2/gm2-libs-pim/Display.def:
	* gm2/gm2-libs-pim/Display.mod:
	* gm2/gm2-libs-pim/ErrorCode.def:
	* gm2/gm2-libs-pim/ErrorCode.mod:
	* gm2/gm2-libs-pim/FileSystem.def:
	* gm2/gm2-libs-pim/FileSystem.mod:
	* gm2/gm2-libs-pim/FloatingUtilities.def:
	* gm2/gm2-libs-pim/FloatingUtilities.mod:
	* gm2/gm2-libs-pim/InOut.def:
	* gm2/gm2-libs-pim/InOut.mod:
	* gm2/gm2-libs-pim/Keyboard.def:
	* gm2/gm2-libs-pim/Keyboard.mod:
	* gm2/gm2-libs-pim/LongIO.def:
	* gm2/gm2-libs-pim/LongIO.mod:
	* gm2/gm2-libs-pim/Random.def:
	* gm2/gm2-libs-pim/Random.mod:
	* gm2/gm2-libs-pim/RealConversions.mod:
	* gm2/gm2-libs-pim/RealInOut.def:
	* gm2/gm2-libs-pim/RealInOut.mod:
	* gm2/gm2-libs-pim/Strings.def:
	* gm2/gm2-libs-pim/Strings.mod:
	* gm2/gm2-libs-pim/Termbase.def:
	* gm2/gm2-libs-pim/Termbase.mod:
	* gm2/gm2-libs-pim/Terminal.def:
	* gm2/gm2-libs-pim/Terminal.mod:
	* gm2/gm2-libs-pim/TimeDate.def:
	* gm2/gm2-libs-pim/TimeDate.mod:
	* gm2/man/Makefile.in:
	* gm2/p2c/Makefile.in:
	* gm2/p2c/p2c.h:
	* gm2/p2c/p2c-src/Makefile.in:
	* gm2/p2c/p2c-src/auto-host.h.in:
	* gm2/p2c/p2c-src/include/config.h:
	* gm2/p2c/p2c-src/include/system.h:
	* gm2/p2c/p2c-src/src/Makefile.in:
	* gm2/p2c/p2c-src/src/citmods.c:
	* gm2/p2c/p2c-src/src/comment.c:
	* gm2/p2c/p2c-src/src/decl.c:
	* gm2/p2c/p2c-src/src/dir.c:
	* gm2/p2c/p2c-src/src/expr.c:
	* gm2/p2c/p2c-src/src/funcs.c:
	* gm2/p2c/p2c-src/src/hpmods.c:
	* gm2/p2c/p2c-src/src/lex.c:
	* gm2/p2c/p2c-src/src/loc.p2clib.c:
	* gm2/p2c/p2c-src/src/makeproto.c:
	* gm2/p2c/p2c-src/src/out.c:
	* gm2/p2c/p2c-src/src/p2c-config.h:
	* gm2/p2c/p2c-src/src/p2c.h:
	* gm2/p2c/p2c-src/src/p2clib.c:
	* gm2/p2c/p2c-src/src/parse.c:
	* gm2/p2c/p2c-src/src/pexpr.c:
	* gm2/p2c/p2c-src/src/stuff.c:
	* gm2/p2c/p2c-src/src/trans.c:
	* gm2/p2c/p2c-src/src/trans.h:
	* gm2/tools-src/def2texi.py:
	* gm2/tools-src/mklink.c:
	* gm2/ulm-lib-gm2/processes/CoExpressions.def:
	* gm2/ulm-lib-gm2/processes/CoExpressions.mod:
	* gm2/ulm-lib-gm2/processes/Processes.def:
	* gm2/ulm-lib-gm2/processes/Processes.mod:
	* gm2/ulm-lib-gm2/std/ASCII.def:
	* gm2/ulm-lib-gm2/std/ASCII.mod:
	* gm2/ulm-lib-gm2/std/Archive.def:
	* gm2/ulm-lib-gm2/std/Archive.mod:
	* gm2/ulm-lib-gm2/std/Arguments.def:
	* gm2/ulm-lib-gm2/std/Arguments.mod:
	* gm2/ulm-lib-gm2/std/Calendar.def:
	* gm2/ulm-lib-gm2/std/Calendar.mod:
	* gm2/ulm-lib-gm2/std/CallShell.def:
	* gm2/ulm-lib-gm2/std/CallShell.mod:
	* gm2/ulm-lib-gm2/std/Clock.def:
	* gm2/ulm-lib-gm2/std/Clock.mod:
	* gm2/ulm-lib-gm2/std/Conversions.def:
	* gm2/ulm-lib-gm2/std/Conversions.mod:
	* gm2/ulm-lib-gm2/std/Directories.def:
	* gm2/ulm-lib-gm2/std/Directories.mod:
	* gm2/ulm-lib-gm2/std/Environment.def:
	* gm2/ulm-lib-gm2/std/Environment.mod:
	* gm2/ulm-lib-gm2/std/EtcGroup.def:
	* gm2/ulm-lib-gm2/std/EtcGroup.mod:
	* gm2/ulm-lib-gm2/std/Files.def:
	* gm2/ulm-lib-gm2/std/Files.mod:
	* gm2/ulm-lib-gm2/std/FtdIO.def:
	* gm2/ulm-lib-gm2/std/FtdIO.mod:
	* gm2/ulm-lib-gm2/std/Functions.def:
	* gm2/ulm-lib-gm2/std/Functions.mod:
	* gm2/ulm-lib-gm2/std/GetPass.def:
	* gm2/ulm-lib-gm2/std/GetPass.mod:
	* gm2/ulm-lib-gm2/std/InOut.def:
	* gm2/ulm-lib-gm2/std/InOut.mod:
	* gm2/ulm-lib-gm2/std/M2EXCEPTION.mod:
	* gm2/ulm-lib-gm2/std/M2RTS.mod:
	* gm2/ulm-lib-gm2/std/MathLib.def:
	* gm2/ulm-lib-gm2/std/MathLib.mod:
	* gm2/ulm-lib-gm2/std/Passwd.def:
	* gm2/ulm-lib-gm2/std/Passwd.mod:
	* gm2/ulm-lib-gm2/std/PipeIO.def:
	* gm2/ulm-lib-gm2/std/PipeIO.mod:
	* gm2/ulm-lib-gm2/std/Plot.def:
	* gm2/ulm-lib-gm2/std/Plot.mod:
	* gm2/ulm-lib-gm2/std/RTErrors.def:
	* gm2/ulm-lib-gm2/std/RTErrors.mod:
	* gm2/ulm-lib-gm2/std/RTExceptions.mod:
	* gm2/ulm-lib-gm2/std/RandomGenerator.def:
	* gm2/ulm-lib-gm2/std/RandomGenerator.mod:
	* gm2/ulm-lib-gm2/std/ReadIntCard.def:
	* gm2/ulm-lib-gm2/std/ReadIntCard.mod:
	* gm2/ulm-lib-gm2/std/RealConv.def:
	* gm2/ulm-lib-gm2/std/RealConv.mod:
	* gm2/ulm-lib-gm2/std/RealInOut.def:
	* gm2/ulm-lib-gm2/std/RealInOut.mod:
	* gm2/ulm-lib-gm2/std/ScanPwfile.def:
	* gm2/ulm-lib-gm2/std/ScanPwfile.mod:
	* gm2/ulm-lib-gm2/std/StdFuncs.def:
	* gm2/ulm-lib-gm2/std/StdFuncs.mod:
	* gm2/ulm-lib-gm2/std/StdIO.def:
	* gm2/ulm-lib-gm2/std/StdIO.mod:
	* gm2/ulm-lib-gm2/std/Storage.def:
	* gm2/ulm-lib-gm2/std/Storage.mod:
	* gm2/ulm-lib-gm2/std/StrSpec.def:
	* gm2/ulm-lib-gm2/std/StrSpec.mod:
	* gm2/ulm-lib-gm2/std/StrToNum.def:
	* gm2/ulm-lib-gm2/std/StrToNum.mod:
	* gm2/ulm-lib-gm2/std/StrToReal.def:
	* gm2/ulm-lib-gm2/std/StrToReal.mod:
	* gm2/ulm-lib-gm2/std/Strings.def:
	* gm2/ulm-lib-gm2/std/Strings.mod:
	* gm2/ulm-lib-gm2/std/SysConf.def:
	* gm2/ulm-lib-gm2/std/SysConf.mod:
	* gm2/ulm-lib-gm2/std/SysPerror.def:
	* gm2/ulm-lib-gm2/std/SysPerror.mod:
	* gm2/ulm-lib-gm2/std/Terminal.def:
	* gm2/ulm-lib-gm2/std/Terminal.mod:
	* gm2/ulm-lib-gm2/std/TimeIO.def:
	* gm2/ulm-lib-gm2/std/TimeIO.mod:
	* gm2/ulm-lib-gm2/sys/Errno.def:
	* gm2/ulm-lib-gm2/sys/Errno.mod:
	* gm2/ulm-lib-gm2/sys/SYSTEM.def:
	* gm2/ulm-lib-gm2/sys/Sys.def:
	* gm2/ulm-lib-gm2/sys/Sys.mod:
	* gm2/ulm-lib-gm2/sys/SysAccess.def:
	* gm2/ulm-lib-gm2/sys/SysAccess.mod:
	* gm2/ulm-lib-gm2/sys/SysAlarm.def:
	* gm2/ulm-lib-gm2/sys/SysAlarm.mod:
	* gm2/ulm-lib-gm2/sys/SysBreak.def:
	* gm2/ulm-lib-gm2/sys/SysBreak.mod:
	* gm2/ulm-lib-gm2/sys/SysClose.def:
	* gm2/ulm-lib-gm2/sys/SysClose.mod:
	* gm2/ulm-lib-gm2/sys/SysCreat.def:
	* gm2/ulm-lib-gm2/sys/SysCreat.mod:
	* gm2/ulm-lib-gm2/sys/SysDup.def:
	* gm2/ulm-lib-gm2/sys/SysDup.mod:
	* gm2/ulm-lib-gm2/sys/SysExec.def:
	* gm2/ulm-lib-gm2/sys/SysExec.mod:
	* gm2/ulm-lib-gm2/sys/SysExit.def:
	* gm2/ulm-lib-gm2/sys/SysExit.mod:
	* gm2/ulm-lib-gm2/sys/SysFcntl.def:
	* gm2/ulm-lib-gm2/sys/SysFcntl.mod:
	* gm2/ulm-lib-gm2/sys/SysFork.def:
	* gm2/ulm-lib-gm2/sys/SysFork.mod:
	* gm2/ulm-lib-gm2/sys/SysGetpid.def:
	* gm2/ulm-lib-gm2/sys/SysGetpid.mod:
	* gm2/ulm-lib-gm2/sys/SysGetuid.def:
	* gm2/ulm-lib-gm2/sys/SysGetuid.mod:
	* gm2/ulm-lib-gm2/sys/SysIoctl.def:
	* gm2/ulm-lib-gm2/sys/SysIoctl.mod:
	* gm2/ulm-lib-gm2/sys/SysKill.def:
	* gm2/ulm-lib-gm2/sys/SysKill.mod:
	* gm2/ulm-lib-gm2/sys/SysLink.def:
	* gm2/ulm-lib-gm2/sys/SysLink.mod:
	* gm2/ulm-lib-gm2/sys/SysLocations.def:
	* gm2/ulm-lib-gm2/sys/SysLocations.mod:
	* gm2/ulm-lib-gm2/sys/SysLseek.def:
	* gm2/ulm-lib-gm2/sys/SysLseek.mod:
	* gm2/ulm-lib-gm2/sys/SysOpen.def:
	* gm2/ulm-lib-gm2/sys/SysOpen.mod:
	* gm2/ulm-lib-gm2/sys/SysPanic.def:
	* gm2/ulm-lib-gm2/sys/SysPanic.mod:
	* gm2/ulm-lib-gm2/sys/SysPause.def:
	* gm2/ulm-lib-gm2/sys/SysPause.mod:
	* gm2/ulm-lib-gm2/sys/SysPipe.def:
	* gm2/ulm-lib-gm2/sys/SysPipe.mod:
	* gm2/ulm-lib-gm2/sys/SysRead.def:
	* gm2/ulm-lib-gm2/sys/SysRead.mod:
	* gm2/ulm-lib-gm2/sys/SysSetuid.def:
	* gm2/ulm-lib-gm2/sys/SysSetuid.mod:
	* gm2/ulm-lib-gm2/sys/SysSignal.def:
	* gm2/ulm-lib-gm2/sys/SysSignal.mod:
	* gm2/ulm-lib-gm2/sys/SysStat.def:
	* gm2/ulm-lib-gm2/sys/SysStat.mod:
	* gm2/ulm-lib-gm2/sys/SysTermIO.def:
	* gm2/ulm-lib-gm2/sys/SysTermIO.mod:
	* gm2/ulm-lib-gm2/sys/SysTime.def:
	* gm2/ulm-lib-gm2/sys/SysTime.mod:
	* gm2/ulm-lib-gm2/sys/SysUnlink.def:
	* gm2/ulm-lib-gm2/sys/SysUnlink.mod:
	* gm2/ulm-lib-gm2/sys/SysWait.def:
	* gm2/ulm-lib-gm2/sys/SysWait.mod:
	* gm2/ulm-lib-gm2/sys/SysWrite.def:
	* gm2/ulm-lib-gm2/sys/SysWrite.mod:
	* gm2/ulm-lib-gm2/sys/SystemTypes.def:
	* gm2/ulm-lib-gm2/sys/SystemTypes.mod:
	* gm2/ulm-lib-gm2/sys/UnixString.def:
	* gm2/ulm-lib-gm2/sys/UnixString.mod:
	* gm2/ulm-lib-gm2/sys/test.mod:
	* gm2/www/Makefile.in:
	* gm2/www/index.ms:

2010-09-16       Gaius Mulley <gaius@gnu.org>

	* Built and released debian package 0.98.
	* gm2/version.c:  updated to 0.99 now that the debian
	  package 0.98 has been produced.
	* gm2/www/index.ms:  updated news of 0.98 release and
	  updated information around latest bug fixes.
	* gm2/gm2-libs/configure.in:  updated to 0.99.
	* gm2/gm2-libs/configure:  rebuilt.
	* gm2/examples/ncurses/Makefile:  removed.
	* gm2/examples/ncurses/Makefile.in:  added.
	* gm2/gm2.texi:  fixed documentation on building hello
	  world after building gm2 (bug reported by Christoph
	  Schlegel <modula2@gmx.net>)
	* gm2/examples/ncurses/ColorText.mod:  changed call to
	  InstallTerminationProcedure given it is now a procedure
	  function.  (Example build failure reported by Christoph
	  Schlegel <modula2@gmx.net>)

2010-09-14       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  turn off canonicalize_array in
	  gm2_finish_build_array_type.  This fixes a bug reported by
	  James Cox (exposed by Truss2.mod).
	* gm2/gm2-compiler/M2Quads.mod:  test for LessGreaterTok
	  which fixes a bug reported by
          DragiÅ¡a DuriÄ (dragisa-duric/testcase08/pass/testcase8.mod).
	  Inequality as expressed by <> was not handled.

2010-09-09       Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/m2-3.bnf:  improved Qualident to include much stricter
	  checking of imported idents.
	* gm2/bnf/m2.bnf:  place imported modules into a separate list
	  in definition modules.
	* gm2/gm2-compiler/P1SymBuild.def:  introduce parameter to
	  BuildImportOuterModule to indicate whether a definition
	  module is being compiled.
	* gm2/gm2-compiler/P1SymBuild.mod:  implement above.
	* gm2/gm2-compiler/P3SymBuild.mod:  modified
	  CheckImportListOuterModule to include a check for
	  ImplicitlyExported symbols.
	* gm2/gm2-compiler/SymbolTable.def:  (New procedures)
	  PutIncludedByDefinition and IsIncludedByDefinition.
	* gm2/gm2-compiler/SymbolTable.mod:  (New procedures
	  implemented) PutIncludedByDefinition and IsIncludedByDefinition.

2010-09-08       Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/m2-3.bnf:  strict checking has been inforced on
	  imported symbols both on FROM x IMPORT y and also on
	  Qualidents.  Separated Import into FromImport and
	  WithoutFromImport and use appropriate productions.
	* gm2/gm2-compiler/P3SymBuild.def:  (New procedures)
          CheckCanBeImported, CheckImportListOuterModule.
	* gm2/gm2-compiler/P3SymBuild.def:  (New procedures)
	  implemented CheckCanBeImported, CheckImportListOuterModule.
	* gm2/gm2-compiler/SymbolTable.def:  (New procedure)
          IsImplicityExported.
	* gm2/gm2-compiler/SymbolTable.mod:  (New procedure)
          implemented IsImplicityExported.

2010-09-06       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2ALU.mod:  (New procedure) IsSolvedGCC.
	  Used instead of IsValueSolved.  This fixes a bug reported by
	  DragiÅ¡a DuriÄ (dragisa-duric/testcase12/pass/testcase12b.mod).
	* gm2/gm2-compiler/M2GenGCC.mod:  skip the type of a
	  procedure variable.
	* gm2/gm2-compiler/M2Quads.mod:  skip the type of a
	  procedure variable held in OperandF.  Ensure that
	  assignment compatibility is only checked for procedure
	  variables in pass 3.  Leaving fuller assignment checking
	  to be done during tree conversion.  This fixes a bug reported by
	  DragiÅ¡a DuriÄ (dragisa-duric/testcase05/pass/testcase5.mod).

2010-09-03       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/libc.def:  added definition for ttyname.
	* gm2/gm2-libs-iso/TermFile.mod:  reimplement getname to use
	  ttyname instead of assigning /dev/tty.

2010-08-27       Gaius Mulley <gaius@gnu.org>

	* gm2/testsuite/gm2/pim/pass/subrange7.mod:  corrected testcase
	  in light of new changes.
	* gm2/testsuite/gm2/pim/pass/wordconst.mod:  corrected testcase
	  in light of new changes which make gm2 stricter.
	* gm2/testsuite/gm2/pim/run/pass/str6.mod:  use HALT rather than
	  Terminate, exit.
	* The following changes are bug fixes to a series of bugs reported
	  by DragiÅ¡a DuriÄ, many of which relate to constants, their
	  types, agregates and qualidents in constants.
        * gm2/gm2/bnf/m2-3.bnf:  introduce a production for
	  SilentConstructor which removes a constructor from the fifo queue.
	* gm2/gm2/bnf/m2-c.bnf:  create constant symbols and fill in aggregates
	  with their associated types before pass 3.
	* gm2/gm2/bnf/m2-h.bnf:  introduce a production for
	  SilentConstructor which removes a constructor from the fifo queue.
	* gm2/gm2/gm2-compiler/M2ALU.mod:  initialise aggregates and test for
	  the special case of string.
	* gm2/gm2/gm2-compiler/M2Code.mod:  make a call to ResolveConstTypes
	  and ResolveConstructorTypes at the end of DoPassC.
	* gm2/gm2/gm2-compiler/M2GenGCC.mod:  improve debugging of PrintVerbose.
	* gm2/gm2/gm2-compiler/M2Quads.def:  (New procedures) SilentBuildConstructor,
          SilentBuildConstructorStart, BuildConstructor.
	* gm2/gm2/gm2-compiler/M2Quads.mod:  (implement new procedures)
	  SilentBuildConstructor, SilentBuildConstructorStart, BuildConstructor.
	  Change to BuildDesignator array now that the aggregate type will be known.
	* gm2/gm2/gm2-compiler/P2SymBuild.def:  (New procedures) FixupConstAsString,
          FixupConstType, FixupConstExpr.
	* gm2/gm2/gm2-compiler/P2SymBuild.mod:  (New procedures) findConstMeta,
	  findConstType, fixupConstCast, fixupConstMeta, addToConstList.
	* gm2/gm2/gm2-compiler/P3SymBuild.mod:  remove import of
	  GetConstructorFromFifoQueue.
	* gm2/gm2/gm2-compiler/PCSymBuild.mod:  many changes.  New procedures
	  StartCurrentConst, EndCurrentConst, SetCurrentConstToString,
	  SetCurrentConstType, SetConstTypeOrExpr.

2010-08-16       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  modified to include PCBuild.mod, PCBuild.def
	  PCSymBuild.def and PCSymBuild.mod.
	* gm2/README:  corrected and simplified the build, install and
	  test instructions.
        * gm2/bnf/m2-3.bnf:  removed BuildImportOuterModule
	  BuildImportInnerModule from grammar file.  Also changed
	  Import to silently parse the tokens.
	* gm2/gm2-compiler/M2Comp.mod:  (New procedure) DoPassC,
	  invoke the constructor, import/export pass.
	* gm2/gm2-compiler/M2Pass.def:  (New procedures) SetPassToPassC,
	  IsPassC.
	* gm2/gm2-compiler/P3SymBuild.def:  removed BuildImportOuterModule
	  and BuildImportInnerModule.
	* gm2/gm2-compiler/P3SymBuild.mod:  removed BuildImportOuterModule
	  and BuildImportInnerModule.
	* gm2/init/gm2-gccinit:  added PCSymBuild and PCBuild to the list
	  of modules.

2010-08-12       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Base.mod:  added INT procedure functions
	  to the list of functions in IsISOPseudoBaseFunction.  This
	  fixes a bug reported by DragiÅ¡a DuriÄ
	  <http://lists.gnu.org/archive/html/gm2/2010-07/msg00047.html>

2010-08-05       Gaius Mulley <gaius@gnu.org>

	* gm2/TODO:  included note to implement LENGTH inline post
 	  gm2 1.0.
	* gm2/gm2-compiler/SymbolTable.mod:  GetScopeSym has a second
	  parameter, throughProcedure.  (New procedure) CanLookThroughScope.
          Added second actual parameter to calls of GetScopeSym.
          This fixes a bug reported by DragiÅ¡a DuriÄ
          <http://lists.gnu.org/archive/html/gm2/2010-07/msg00030.html>
	* gm2/gm2-compiler/M2Range.mod:  check to see if expr is a
	  procedure before obtaining the type.  This fixes a bug reported
	  by DragiÅ¡a DuriÄ
          <http://lists.gnu.org/archive/html/gm2/2010-07/msg00029.html>

2010-08-04       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/M2RTS.def:  (New procedure) Terminate.
	* gm2/gm2-libs/M2RTS.mod:  (New procedure) Terminate.
	* gm2/gm2-libs/StrLib.mod:  new faster implementation of
	  StrEqual.
	* gm2/gm2/gm2-libs-iso/Strings.mod:  fixed bug in Delete
	  as reported by Scott Iverson.
	* gm2/gm2-libs-min/M2RTS.mod:  added comment.
	* gm2/gm2-libs-min/SYSTEM.mod:  tidied up GPL comment.
	* gm2/ulm-lib-gm2/std/M2RTS.mod:  (New procedure) Terminate.
	* gm2/TODO:  included note to implement LENGTH inline post
	  gm2 1.0.

2010-08-03       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/gm2.mod:  removed unnecessary import of
	  Terminate from M2RTS.
	* gm2/p2c/p2c-src/src/parse.c:  replaced call to M2RTS_Terminate
	  with M2RTS_ExecuteTerminationProcedures.
	* gm2/gm2-compiler/M2Preprocess.mod:  removed import of Terminate.
	  Check the return value of the new procedure function
	  InstallTerminationProcedure.
	* gm2/gm2-libs-pim/FileSystem.mod:  check the return value of
	  the new procedure function InstallTerminationProcedure.

2010-08-02       Gaius Mulley <gaius@gnu.org>

	* gm2/TODO:  included note to add variadics post gm2 1.0.
	* gm2/lang-specs.h:  updated dates.
	* gm2/gm2-compiler/gm2lgen.mod:  added -initial switch which
	  generates code to invoke M2RTS_ExecuteInitialProcedures.
	  Renamed Terminate to ExecuteTerminationProcedures.
	* gm2/gm2-libs/FIO.mod:  call ExecuteTerminationProcedures
	  instead of Termination.
	* gm2/gm2-libs/M2RTS.def:  (New procedures)
	  ExecuteTerminationProcedures, InstallTerminationProcedure,
	  ExecuteInitialProcedures, InstallInitialProcedure.
	  Removed Terminate.
	* gm2/gm2-libs/M2RTS.mod:  implement above.
	* gm2/gm2-libs-iso/M2RTS.def:  (New procedures)
	  ExecuteTerminationProcedures, InstallTerminationProcedure,
	  ExecuteInitialProcedures, InstallInitialProcedure.
	  Removed Terminate.
	* gm2/gm2-libs-iso/M2RTS.mod:  implement above.
	* gm2/gm2-libs-min/M2RTS.def:  (New dummy procedures)
	  ExecuteTerminationProcedures, ExecuteInitialProcedures.
	  Removed Terminate.
	* gm2/gm2-libs-min/M2RTS.mod:  implement above.
	* gm2/ulm-lib-gm2/std/M2RTS.mod:  implemented
	  ExecuteTerminationProcedures, InstallTerminationProcedure,
	  ExecuteInitialProcedures, InstallInitialProcedure.
	  Removed Terminate.

2010-07-31       Gaius Mulley <gaius@gnu.org>

 	* gm2/gccgm2.c:  replaced OPT_fcheck_all with
	  OPT_fsoft_check_all.

2010-07-30       Gaius Mulley <gaius@gnu.org>

	* gm2/lang-options.h:  added -fclean as a legal option.
	* gm2/lang-specs.h:  modified so that -fclean -fmakeall will first
	  clean all objects and secondly build the application.
	* gm2/lang.opt:  added -fclean as a legal option.
	* gm2/bnf/gm2m.bnf:  added new target clean which removes all
	  objects.
	* gm2/gm2-compiler/M2Options.mod:  added -fclean as a legal option.
	* gm2/gm2.texi:  added documentation describing -fclean.

2010-07-29       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  tidied up newfile.
	* gm2/gm2/gm2.texi:  (New section) Exception implementation.
	* gm2/gm2-libs/Builtins.def:  added space.
	* gm2/Make-lang.in:  replaced -fcheck-all with -fsoft-check-all.
	* gm2/gm2.texi:  replaced -fcheck-all with -fsoft-check-all.
	* gm2/lang-options.h:  replaced -fcheck-all with -fsoft-check-all.
	* gm2/lang.opt:  replaced -fcheck-all with -fsoft-check-all.
	* gm2/gm2-compiler/M2Options.mod:  replaced -fcheck-all with
	  -fsoft-check-all.
	* gm2/gm2-libs/Builtins.def:  replaced -fcheck-all with -fsoft-check-all.
	* gm2/man/gm2.man:  replaced -fcheck-all with -fsoft-check-all.

2010-07-12       Gaius Mulley <gaius@gnu.org>

	* All major arrays are now dynamic within gm2.
	* gm2/gm2-libs/FIO.mod:  corrected spelling mistake.
	* gm2/gm2-compiler/SymbolTable.mod:  large number of changes
	  replacing static arrays, Symbol, and ScopeCallFrame
	  with Indexing.Index dynamic arrays.  Also fixed a number
	  of uninitialized fields in the symbol table.
	* gm2/tools-src/array2index.py:  tool used to replace the
	  static arrays with their dynamic equivalent.
	* gm2/gm2-compiler/SymbolTable.mod:  fixed another
	  uninitialised Scope field in MakeHiddenType.

2010-07-08       Gaius Mulley <gaius@gnu.org>

	* gm2/www/index.ms:  updated news of 0.92 release.
	* gm2/version.c:  updated to 0.93 now that the debian
	  0.92 has been produced.
	* gm2/gm2-libs/configure.in:  updated to 0.93.
	* gm2/gm2-libs/configure:  rebuilt.
	* gm2/gm2-compiler/M2Quads.mod:  pass ArraySym rather than
	  Sym to InitDynamicArraySubscriptRangeCheck.  Fixes a bug
	  while checking multidimensional unbounded array bounds
	  for all dimensions > 1.

2010-07-07       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/ConvStringReal.mod:  initialise offset to 0.
	* gm2/gm2-libs-iso/ConvStringLong.mod:  initialise offset to 0.
        * fixes a bug exposed by i386 bit port (and others).

2010-07-05       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  gccgm2_BuildBinarySetDo convert parameters
	  into their respective types.  Fixes bugs in the i386 port
	  when manipulating large sets.

2010-07-02       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  fixes for MakeAddr and CodeAddr.
	  Incorrect definition of GetSizeOfInBits and incorrect type of
	  max, bits now fixed.
	* gm2/gm2-compiler/gccgm2.def:  corrected return type of
	  GetSizeOfInBits.

2010-07-01       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  added test for procedure type
	  parameter which is coerced if it is not a procedure.
	* Fixed bug reported by Scott Iverson
	  (http://lists.gnu.org/archive/html/gm2/2010-06/msg00047.html)
	* gm2/gm2-compiler/M2GenGCC.mod:  (New procedure)
	  IsCoerceableParameter is now used to decide whether the
	  parameter type can be coersed.
	* gm2/gm2-compiler/M2System.mod:  removed SetN(64) from the
	  list of possible fixed sized data types.

2010-06-30       Gaius Mulley <gaius@gnu.org>

	* Fixed bug reported by Scott Iverson
	  (http://lists.gnu.org/archive/html/gm2/2010-06/msg00045.html)
	* gm2/gm2-libs/FIO.def:  added new parameter to OpenForRandom.
	* gm2/gm2-libs/FIO.mod:  made corresponding changes to
	  implementation.  Allows a file to be opened in write mode
	  without destroying earlier contents.
	* gm2/gm2-libs-iso/RndFile.mod:  seek to previous location
	  using SetPos.  Use toWrite rather than toRead.  Modify
	  newCid accordingly and all callees.
	* gm2/gm2-libs/SFIO.def:  added newfile parameter to
	  OpenForRandom.
	* gm2/gm2-libs/SFIO.mod:  added newfile parameter to
	  OpenForRandom.

2010-06-29       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2BasicBlock.mod:  do not throw away
	  quadruples which are initialising a constant.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  added debug symbol
	  comment.
	* gm2/gm2-compiler/M2Quads.def:  export and declare
	  IsInitialisingConst.
	* gm2/gm2-compiler/M2Quads.mod:  (New procedure)
	  IsInitialisingConst.
	* Fixed bug reported by Scott Iverson.  An early
	  return statement could prevent constants from being
	  initialised.

2010-06-28       Gaius Mulley <gaius@gnu.org>

        * gm2/gm2/gccgm2.c:  corrected dates.  is_string_type
	  and is_of_string_type are now static.  (New procedures)
	  convert_to_string, gccgm2_BuildNumberOfArrayElements.
	* gm2/gm2-compiler/M2ALU.mod:  (New procedures)
	  IsString, StringFitsArray.  ConstructArrayConstant
	  checks to see whether a string can fit into an array of
	  char.
	* gm2/gm2-compiler/gccgm2.def:  BuildNumberOfArrayElements
	  declare new procedure for export.
	* gm2/www/index.ms:  updated news of 0.91 release.

2010-06-23       Gaius Mulley <gaius@gnu.org>

	* gm2/version.c:  updated to 0.92 now that the debian
	  0.91 has been produced.
	* gm2/gm2-libs/configure.in:  updated to 0.92.
	* gm2/gm2-libs/configure:  rebuilt.
	* gm2/gm2-compiler/M2Quads.mod:  (New procedure)
	  PopTFD.  BuildDesignatorArray corrected to handle
	  accessing elements of a constant array constructor.
	  Fixed bug reported by Scott Iverson.

2010-06-21       Gaius Mulley <gaius@gnu.org>

	* gm2/patches/gcc/4.1.2/12.gaius_patch_tree_flow_inline_h:
	  (New file).  Fixes an optimization bug reported by
	  Scott Iverson.
	* gm2/gccgm2.c:  commented out INDIRECT_REF
	  gimplification code which is unnecessary given the
	  correct patch above.  Also fixes another optimization
	  bug reported by Scott Iverson.

2010-06-15       Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/m2.bnf:  removed the Alignment non-terminal from
	  ArrayType and PointerType.
	* gm2/bnf/m2-3.bnf:  removed the Alignment non-terminal from
	  ArrayType and PointerType.
	* gm2/bnf/m2-h.bnf:  removed the Alignment non-terminal from
	  ArrayType and PointerType.
	* gm2/gccgm2.c:  new implementation of gccgm2_SetAlignment.
	* gm2/gm2/gm2.texi:  more alignment examples.
	* gm2/bnf/m2-2.bnf:  removed redundant grammar sentances around
	  Alignment and fix production rules.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  SetAlignment now returns
	  a Tree.
	* gm2/gm2-compiler/P2SymBuild.def:  (New procedure)
	  BuildVarAlignment.  Fixed comments for BuildTypeAlignment.
	* gm2/gm2-compiler/P2SymBuild.def:  (New procedure)
	  BuildVarAlignment.  Fixed BuildTypeAlignment.
	* gm2/gm2-compiler/gccgm2.def:  SetAlignment now returns
	  a Tree.

2010-06-14       Gaius Mulley <gaius@gnu.org>

	* testsuite/gm2/extensions/run/pass/align6.mod:  fixes
	  below allow this test to pass.
	* gm2/bnf/m2-2.bnf:  fixed comments and dates.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  (New function)
	  PrintAlignment.
	* gm2/gm2-compiler/P2SymBuild.mod:  create pseudonym
	  for a type so that other instances of the type are
	  not also aligned.
	* gm2/gccgm2.c:  enable type copying code.

2010-06-10       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Quads.mod:  bug fix so that it builds
	  under MacOS X.  Compiling Executive.mod would cause it to
	  fail.
	* gm2/bnf/m2-2.bnf:  test bug fix for field alignment.
	* gm2/gm2-compiler/M2Quads.mod:  import IsLegal and
	  create asserts when OperandMergeRW is used.  An attempt
	  at laying a trap to catch the bug exposed on the MacOS X
	  platform.
	* gm2/gm2-compiler/P2SymBuild.def:  add alignment to the
	  BuildFieldRecord.
	* gm2/gm2-compiler/SymbolTable.def:  define and export IsLegal.
	* gm2/gm2-compiler/SymbolTable.mod:  implement IsLegal.

2010-06-09       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/gccgm2.def:  renamed BuildAlignment to
	  SetAlignment.
	* gm2/gccgm2.c:  renamed BuildAlignment to SetAlignment.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  renamed BuildAlignment
	  to SetAlignment.
	* gm2/gm2.texi:  corrected prev field.
	* gm2/gm2.texi:  corrected next field.
	* gm2/gm2.texi:  data alignment content now has its own section.
	* gm2/bnf/m2-h.bnf:  Alignment rule is the same as pass 3.
	* gm2/gm2.texi:  fix bad next field.
	* gm2/gccgm2.c:  BuildAlignment (New procedure).
	* gm2/gm2.texi:  new section describing the how to use the
	  alignment extension.
	* gm2/bnf/m2-2.bnf:  add rules to build the alignment
	  values into the data structures.  This is done by
	  creating a temporary constant and associating it with
	  the required data structure.
	* gm2/bnf/m2-3.bnf:  during pass 3 the same constant is
	  initialised with the constant expression.
	* gm2/bnf/m2.bnf:  ensure that the constant expression
	  inside the alignment statement does not effect the
	  compile time stack.
	* gm2/gm2-compiler/FifoQueue.def:  define and export
	  two new procedures PutConstIntoFifoQueue,
	  GetConstFromFifoQueue.
	* gm2/gm2-compiler/FifoQueue.mod:  (New procedures)
	  PutConstIntoFifoQueue, GetConstFromFifoQueue.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  (New procedure)
	  CheckAlignment which is called when creating a record,
	  pointer, array, type or variable.
	* gm2/gm2-compiler/M2Quads.def:  (New procedure)
	  BuildAlignment.
	* gm2/gm2-compiler/M2Quads.mod:  (New procedure)
	  BuildAlignment implemented.
	* gm2/gm2-compiler/P2SymBuild.def:  (New procedures)
	  BuildAligned and BuildTypeAlignment.
	* gm2/gm2-compiler/P2SymBuild.mod:  implemented the
	  two procedures BuildAligned and BuildTypeAlignment.
	* gm2/gm2-compiler/SymbolTable.def:  (New procedures)
	  PutAlignment, GetAlignment.
	* gm2/gm2-compiler/SymbolTable.mod:  (New procedures)
	  PutAlignment, GetAlignment implemented.  These
	  only work with type, record, array, recordfield
	  and pointer data types.
	* gm2/gm2-compiler/gccgm2.def:  (New procedure)
	  BuildAlignment.

2010-06-07       Gaius Mulley <gaius@gnu.org>

	* gm2/examples/gravity/Makefile.in:  post-install fixed
	  paths.
	* gm2/version.c:  updated to 0.91 now that the debian
	  0.90 has been produced.
	* gm2/gm2-libs/configure.in:  updated to 0.91.
	* gm2/gm2-libs/configure:  rebuilt.
	* gm2/www/index.ms:  updated to reflect new release number
	  and latest changes.
	* gm2/gm2.texi:  fixed a few bugs (cross references and
	  section links).
	* gm2/texi:  commented out gm2-internals.texi and
	  introduced a new section "Producing a Python module".
	* gm2/gm2-internals.texi:  new file.
	* gm2/TODO:  updated to do list.
	* gm2/version.c:  updated version to 0.90
	* gm2/gm2-libs/FIO.def:  getFileName, getFileNameLength
	  (New Procedures).
	* gm2/gm2-libs/FIO.mod:  getFileName, getFileNameLength
	  (New Procedures).
	* gm2/gm2-libs/configure:  rebuilt.
	* gm2/gm2-libs/configure.in:  updated to 0.90
	* gm2/gm2-libs-iso/RndFile.mod:  fixed bug to allow a
	  file to be written and read.  Reported by Scott Iverson.

2010-06-05       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/IOLink.def:  corrected comment for
	  DeviceTablePtrValue.
	* gm2/gm2-libs-iso/IOLink.mod:  corrected comment for
	  DeviceTablePtrValue.
	* gm2/Make-lang.in:  added gm2-libs-iso to the end of the
	  search path for gm2-libs so that gm2/gm2-libs-iso/pth.def
	  can be found.
	* fixed definition of DeviceTablePtrValue to comply with
	  the ISO standard, bug reported by Martin KalbfuÃ.
	* gm2/gm2-libs-iso/ClientSocket.mod:  changed to comply with
	  the correct ISO definition.
	* gm2/gm2-libs-iso/IOChan.mod:  changed to comply with
	  the correct ISO definition.
	* gm2/gm2-libs-iso/IOLink.def:  changed to comply with
	  the correct ISO definition.
	* gm2/gm2-libs-iso/IOLink.mod:  changed to comply with
	  the correct ISO definition.
	* gm2/gm2-libs-iso/ProgramArgs.mod:  changed to comply with
	  the correct ISO definition.
	* gm2/gm2-libs-iso/RTgen.mod:  changed to comply with
	  the correct ISO definition.
	* gm2/gm2-libs-iso/RndFile.mod:  changed to comply with
	  the correct ISO definition.
	* gm2/gm2-libs-iso/SeqFile.mod:  changed to comply with
	  the correct ISO definition.
	* gm2/gm2-libs-iso/SimpleCipher.mod:  changed to comply with
	  the correct ISO definition.
	* gm2/gm2-libs-iso/StreamFile.mod:  changed to comply with
	  the correct ISO definition.
	* gm2/gm2-libs-iso/TermFile.mod:  changed to comply with
	  the correct ISO definition.

2010-06-04       Gaius Mulley <gaius@gnu.org>

	* removed multiple copies of pth.def, bug reported by
	  John O Goyo.
	* gm2/gm2-libs-coroutines/testtransfer.mod:  moved
	  file into testsuite/gm2/coroutines/pim/run/pass.
	* gm2/gm2-libs-coroutines/testiotransfer.mod:  moved
	  file into testsuite/gm2/coroutines/pim/run/pass.
	* gm2/gm2-libs-coroutines/Makefile:  removed file.
	* gm2/gm2-libs/pth.def:  removed file.
	* gm2/gm2-libs-coroutines/pth.def:  removed file.
	* gm2/examples/pthread/pth.def:  removed file.
	* gm2/examples/pthread/fullpth.def:  renamed pth.def to
	  fullpth.def so as to avoid confusion with
	  gm2/gm2-libs-iso/pth.def.

2010-06-03       Gaius Mulley <gaius@gnu.org>

	* gm2/examples/gravity/README:  New file.
	* These changes fix a critical shared library bug which was exposed
	  if an indirect procedure call was ever made.  It also changes
	  (fixes) the method whereby procedures are declared to gcc.
	* gm2/gm2/gccgm2.c:  function gccgm2_BuildEndFunctionDeclaration
	  has an additional parameter, ispublic.  Changes to
          gccgm2_BuildEndFunctionDeclaration to check consistency of
	  the three boolean parameters.  New procedure
	  (function_to_pointer_conversion)
	* gm2/gm2/gm2except.c:  changed to reflect new
          gccgm2_BuildEndFunctionDeclaration prototype.
	* gm2/gm2/m2.flex:  fixed bug found using valgrind
	  (uninitialised field in structure).
	* gm2/m2pp.c:  m2pp_comment_header prints out the a header
	  comment which contains the public, static, external tree
	  booleans.
	* gm2/bnf/m2-3.bnf:  completed the Alignment ebnf changes.
	* gm2/bnf/m2-h.bnf:  completed the Alignment ebnf changes.
	* gm2/bnf/m2.bnf:  completed the Alignment ebnf changes.
	* gm2/el/g-mode.el:  close parenthesis detected.
	* gm2/examples/gravity/Makefile.in:  fixed rules and allow
	  example to be built using post-install or pre-installed gm2.
	* gm2/examples/gravity/testsim.py:  fixed circle position.
	* gm2/examples/gravity/twoDsim.mod:  tidied up comments.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  changes to reflect new
	  gccgm2_BuildEndFunctionDeclaration prototype.  Also fixed a
	  bug in IsEffectivelyImported which would attempt to declare
	  a procedure if it were declared in another imported module.
	* gm2/gm2-compiler/SymbolTable.def:  tidied up declaration.
	* gm2/gm2-compiler/gccgm2.def:  new BuildEndFunctionDeclaration
	  declaration.

2010-05-26       Gaius Mulley <gaius@gnu.org>

	* gm2/examples/gravity:  more changes and fixes to the demo.

2010-05-25       Gaius Mulley <gaius@gnu.org>

	* gm2/m2.flex:  fixed bug picked up by valgrind, uninitialized
	  field (column) in currentLine.

2010-05-22       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/StdChans.mod:  flush stdout, stderr
	  buffers rather than close them.
	* gm2/gm2-libs/FIO.mod:  flush stdout, stderr rather than
	  close them.  This fixes the problem of a shared library
	  shutting down file descriptors, 1, 2.  This is now
          left to the underlying operating system.  Fixes a bug
	  reported by Scott Iverson.
	* gm2/gm2-libs/FIO.mod:  reintroduced the
	  InstallTerminationProcedure to flush the stdout, stderr.

2010-05-20       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/Builtins.def:  atan2, atan2f, atan2l (New
	  procedures).
	* gm2/gm2-libs/Builtins.mod:  atan2, atan2f, atan2l
	  implemented new procedure functions.
	* gm2/gm2-libs/cbuiltin.def:  declare atan2f, atan2l,
	  atan2 procedure functions.
	* gm2/gm2-libs/libm.def:  declare atan2f, atan2l,
	  atan2 procedure functions.
	* gm2/gm2builtins.c:  exposed new builtins
	  atan2, atan2f, atan2l.
	* gm2/bnf/m2-2.bnf:  changed grammar to include
	  alignment of data types.
	* gm2/examples/gravity/Makefile.in:  added test rule and fixed
	  final rule to allow testing of python code.
	* gm2/examples/gravity/test.mod:  changed x value of circle.
	* gm2/examples/gravity/testsim.py:  added another circle.
	* gm2/examples/gravity/twoDsim.mod:  added debugging and fixed
	  collision prediction equations.  Now using roots.def rather than
	  libgsl as a stress test for GNU Modula-2 complex numbers.
	  Also added a hack to ignore multiple collisions over a tiny time.
	* gm2/examples/gravity/roots.def:  New file.
	* gm2/examples/gravity/roots.mod:  New file.

2010-05-13       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  fixed bad next node and
	  added a menu entry for the new section,
	  how to build a Modula-2 shared library.
	* gm2/gm2-compiler/M2Range.mod:  (InitDecRangeCheck)
	  fixed typo inc should have been dec.  Fixes a bug
	  reported by James Cox.
	* gm2/gm2-compiler/M2Quads.mod:  new value of BreakAtQuad
	  used for internal debugging.

2010-05-12       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2spec.c:  fixed a xrealloc size bug in
	  gm2_link_args.
	* gm2/gm2.texi:  introduced a new section on how
	  to build a Modula-2 shared library.

2010-05-10       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2/gm2-libs-pim/FIO.mod:  IsNoError returns
	  TRUE if the file state is successful or endoffile.
	  ReadString checks IsNoError.
	* gm2/gm2/gm2-libs-pim/InOut.mod:  set done to
	  True if IsNoError and not end of file.
	* gm2/gm2-libs-iso/RTfio.mod:  dorbytes returns
	  IsNoError.

2010-05-05       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-ch/wrapc.c:  changed signbitl, signbitf
	  to signbit as signbit is a macro which tests its
	  parameter type and calls the correct underlying function.
	* gm2/gm2-compiler/M2Options.mod:  added -fno-check-all
	  -fno-case, -fexceptions options.
	* gm2/lang-options.h:  added -fno-nil, -fno-return,
	  -fno-case, -fno-check-all, -fexceptions.
	* gm2/gm2-libs/FIO.mod:  allow a character to be pushed
	  back even if eof has been seen.
	* gm2/gm2-libs-iso/RTgen.mod:  check for eof in doLook
	  and set result accordingly.

2010-05-04       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/FIO.mod:  more bugs fixes.  Removed
	  used MaxNoOfFiles.  Set endoffile if read returns 0.
	  Replaced f<MaxNoOfFiles by f#Error and only UnReadChar
	  in EOLN if the previous read is successful.

2010-05-03       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/FIO.mod:  forgot to copy osfd into unixfd.
	  Which meant that the default files: stdin, stdout, stderr
	  were assigned to 1, 2, 3, rather than 0, 1, 2.
	* gm2/gm2-libs/FIO.mod:  reimplemented EOF using a new state
	  which is detected upon a failed read.

2010-05-01       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/FIO.mod:  huge number of changes so that it
	  uses a dynamic array to allow an operating system specific
	  number of files to be opened simultaneously.  Fixes a
	  limitation reported by Scott Iverson.

2010-04-30       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  ensure that we do attempt
	  to fold an indirect procedure function call.
	* gm2/gm2-compiler/M2Quads.mod:  ensure that the symbol is
	  a procedure sym before checking if it has a builtin
	  alternative.
	* gm2/gm2-compiler/M2GenGCC.mod:  doParam (New procedure).
	  FoldBuiltin (New procedure).  Changes allow gcc builtins
	  to be called from constant expressions.
	* gm2/gm2-compiler/M2Quads.mod:  modified
	  BuildConstFunctionCall to allow gcc builtins to be called.
	* gm2/gm2-compiler/gccgm2.def:  export SetLastFunction.
	* This fixes a bug reported by Steve Giess.

2010-04-30       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/Indexing.def:  moved to
	* gm2/gm2-libs/Indexing.def:  new file.
	* gm2/gm2-compiler/Indexing.mod:  moved to
	* gm2/gm2-libs/Indexing.mod:  new file.
	* gm2/gm2-compiler/M2Quads.def:  PushInConstExpression,
	  PopInConstExpression, IsInConstExpression (New procedures).
	* gm2/gm2-compiler/M2Quads.mod:  PushInConstExpression,
	  PopInConstExpression, IsInConstExpression (implemented new
	  procedures).
	* gm2/bnf/m2-3.bnf:  test for calling procedure functions
	  during a constant declaration and check the procedure is
	  allowed.

2010-04-27       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2builtins.c:  added definitions for signbit, signbitf,
	  signbitl, significand, significandf, significandl, mod, modff,
	  modfl, nextafter, nextafterf, nextafterl, nexttoward, nexttowardf,
	  nexttowardl, scalb, scalbf, scalbl, scalbln, scalblnf, scalblnl,
	  scalbln, scalblnf, scalblnl.
	* gm2/gm2-libs/cbuiltin.def:  removed signbit, signbitl, signbitf
	  as in C these are implemented as macros.  We use builtins if they
	  are available and if not then use our wrapped versions in:
	* gm2/gm2-libs/wrapc.def:  added signbit, signbitl, signbitf.
	* gm2/gm2-libs-ch/wrapc.c:  wrapped signbit, signbitl, signbitf.

2010-04-26       Gaius Mulley <gaius@gnu.org>

	* ISO libraries are now completely implemented.
	* gm2/Make-lang.in:  new entries to build ISO modules
	  LowLong, LowShort and LowReal.
	* gm2/gm2builtins.c:  many changes to implement obtaining
	  float point type attributes.  New exported procedures
	  GetBuiltinTypeInfoType and GetBuiltinTypeInfo.
	  New functions:  doradix, doplaces, doexponentmin, doexponentmax,
	  computeLarge, dolarge, computeSmall, dosmall, doiec559, dolia1,
	  doiso, doieee, dorounds, dogUnderflow, doexception, doextend,
	  donModes.
	* gm2/bnf/m2-2.bnf:  modified ConstAttribute to allow
	  __ATTRIBUTE__ __BUILTIN__ ((<QUALIDENT, Ident>))
	* gm2/bnf/m2.bnf:  modified ConstAttribute to allow
	  __ATTRIBUTE__ __BUILTIN__ ((<QUALIDENT, Ident>))
	* gm2/bnf/m2-3.bnf:  modified ConstAttribute to allow
	  __ATTRIBUTE__ __BUILTIN__ ((<QUALIDENT, Ident>))
	* gm2/bnf/m2-h.bnf:  modified ConstAttribute to allow
	  __ATTRIBUTE__ __BUILTIN__ ((<QUALIDENT, Ident>))
	* gm2/bnf/gm2l.bnf:  modified ConstAttribute to allow
	  __ATTRIBUTE__ __BUILTIN__ ((<QUALIDENT, Ident>))
	* gm2/gm2-compiler/M2GenGCC.mod:  FoldBuiltinTypeInfo
	  (New Procedure).
	* gm2/gm2-compiler/M2Quads.def:  export BuildBuiltinTypeInfo
	  and add new quadruple operator BuiltinTypeInfoOp.
	* gm2/gm2-compiler/M2Quads.def:  implement BuildBuiltinTypeInfo.
	* gm2/gm2-compiler/gm2builtins.def:  export and declare
	  GetBuiltinTypeInfoType and GetBuiltinTypeInfo.
	* gm2/gm2-libs/Builtins.def:  added more intrinsic procedure
	  functions (significand, significandf, significandl, modf,
	  modff, modfl, signbit, signbitf, signbitl, nextafter,
	  nextafterf, nextafterl, nexttoward, nexttowardf,
	  nexttowardl, scalb, scalbf, scalbl, scalbln, scalblnf,
	  scalblnl, scalbn, scalbnf, scalbnl).
	* gm2/gm2-libs/Builtins.mod:  implemented intrinsic procedure
	  functions (significand, significandf, significandl, modf,
	  modff, modfl, signbit, signbitf, signbitl, nextafter,
	  nextafterf, nextafterl, nexttoward, nexttowardf,
	  nexttowardl, scalb, scalbf, scalbl, scalbln, scalblnf,
	  scalblnl, scalbn, scalbnf, scalbnl).
	* gm2/gm2-libs/cbuiltin.def:  provided the libm alternatives
	  to builtins just in case the target does not have the
	  builtin.  Additional definitions for:
	  significand, significandf, significandl, modf,
	  modff, modfl, signbit, signbitf, signbitl, nextafter,
	  nextafterf, nextafterl, nexttoward, nexttowardf,
	  nexttowardl, scalb, scalbf, scalbl, scalbln, scalblnf,
	  scalblnl, scalbn, scalbnf, scalbnl.
	* gm2/gm2-libs-iso/LowLong.def:  to use __ATTRIBUTE__ __BUILTIN__
	  method of obtaining properties of LONGREAL.
	* gm2/gm2-libs-iso/LowReal.def:  to use __ATTRIBUTE__ __BUILTIN__
	  method of obtaining properties of LONGREAL.
	* gm2/gm2-libs-iso/LowShort.def:  new file.
	* gm2/gm2-libs-iso/LowShort.mod:  new file.
	* gm2/gm2-libs-iso/LowLong.mod:  new file.
	* gm2/gm2-libs-iso/LowReal.mod:  new file.

2010-04-26       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/wraptime.c:  bug fix reported by Scott
	  Iverson, return m->tm_sec.
	* gm2/gm2-libs-iso/Strings.mod:  bug fix reported by Scott
	  Iverson, i := startIndex.

2010-04-10       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  fixed a bug reported by Scott Iverson
	  http://lists.gnu.org/archive/html/gm2/2010-04/msg00002.html.
	  Converted index and low to the pointer type before subtraction.

2010-04-09       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/configure.in:  corrected dates and added
	  test to detect presence of libpth.
	* gm2/gm2-libs/configure.in:  corrected test.
	* gm2/gm2-libs/configure:  rebuilt configure.
	* gm2/configure.in:  corrected release number.
	* gm2/configure:  rebuilt configure.
	* gm2/Make-lang.in:  added target.c to list of C files
	  to be built into the libgm2.a.  Added rules for all
	  combinations of supported flags.
	* gm2/configure:  rebuilt configure.
	* gm2/gm2-libs/configure.in:  added tests for math.h,
	  exp10, exp10f and exp10l.
	* gm2/gm2-libs/gm2-libs-host.h.in:  added entries for
	  HAVE_EXP10, HAVE_EXP10F and HAVE_EXP10L.

2010-04-08       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Quads.mod:  doIndrX (New Procedure).
	  Use doIndrX instead of GenQuad(IndrXOp..) to force conversion
	  of operands as they are dereferenced.  Fixes a bug reported
	  by Scott Iverson.
	  http://lists.gnu.org/archive/html/gm2/2010-04/msg00007.html

2010-04-07       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added GeneralUserExceptions.mod and
	  Processes.mod.
	* gm2/gm2.texi:  corrected startup filename.
	* gm2/gm2-compiler/M2Quads.mod:  call SkipType when checking
	  procedure parameters (CheckProcTypeAndProcedure).
	* gm2/gm2-libs/Assertion.def:  added space.
	* gm2/gm2-libs/Assertion.mod:  corrected copyright notice
	  and altered halt message.
	* gm2/gm2-libs/RTExceptions.def:  SetExceptionSource,
	  GetExceptionSource (New Procedures).
	* gm2/gm2-libs/RTExceptions.mod:  implement SetExceptionSource
	  and GetExceptionSource.
	* gm2/gm2-libs/SYSTEM.mod:  removed commented out redundant
	  comment __INLINE__.
	* gm2/gm2-libs-iso/COROUTINES.mod:  TRANSFER and initMain
	  must save and restore the ExceptionBlock, ExceptionState
	  and ExceptionSource.
	* gm2/gm2-libs-iso/EXCEPTIONS.mod:  use RTExceptions to retrieve
	  the ExceptionSource associated with the current COROUTINE to
	  ensure that the exception mechanism is COROUTINE safe.
	* gm2/gm2-libs-iso/Processes.mod:  first full implementation.
	* gm2/ulm-lib-gm2/std/RTExceptions.mod:  SetExceptionSource
	  GetExceptionSource (New procedures).
	* gm2/www/index.ms:  removed URLs.
	* gm2/examples/callingC/Makefile:  removed file.
	* gm2/TODO:  removed Processes.mod and GeneralUserExceptions.mod
	  from the list.
	* gm2/TODO:  removed Semaphores.mod from the list.
	* gm2/TODO:  added LowReal.mod, LowLong.mod, LowShort.mod to the list.
	* gm2/gm2-libs-iso/Semaphores.mod:  (New file).

2010-03-29       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  corrected dates and revised release map
	  in light of ISO language completion.
	* gm2/version.c:  updated version number to 0.78.
	* gm2/el/g-mode.el:  fixed copyright date.
	* gm2/gm2-libs/configure.in:  updated version number to 0.78.
	* gm2/gm2-libs-iso/COROUTINES.mod:  corrected bug.
	* gm2/gm2-libs-iso/M2EXCEPTION.mod:  updated dates.
	* gm2/www/index.ms:  updated homepage in light of the
	  completed ISO dialect.
	* gm2/gm2-libs-iso/pth.def:  (New file).
	* gm2/gm2-libs-iso/Processes.mod:  (New file).
	  (Intermediate checkin).
	* gm2/examples/cplusplus/cppcatchm2/Makefile:  (Removed file).
	* gm2/examples/cplusplus/cppcatchm2/Makefile.in:  (New file).
	* gm2/examples/cpp/cppcatchm2/Makefile:  (Removed file).
	* gm2/examples/cpp/Makefile.in:  (New file).

2010-03-27       Gaius Mulley <gaius@gnu.org>

	* gm2/examples/swig/tiny/Makefile:  (Removed file).
	* gm2/examples/swig/tiny/Makefile.in:  (New file).
	* gm2/examples/swig/exceptions/Makefile:  (Removed file).
	* gm2/examples/swig/exceptions/Makefile.in:  (New file).
	* gm2/examples/swig/strlib/Makefile:  (Removed file).
	* gm2/examples/swig/strlib/Makefile.in:  (New file).

2010-03-26       Gaius Mulley <gaius@gnu.org>

	* gm2/examples/c:  removed broken example.
	* cplusplus/m2catchcpp/Makefile.in:  new file.
	* cplusplus/m2catchcpp/Makefile:  removed file.
	* gm2/Make-lang.in:  added first completed version of
	  COROUTINES.mod.
	* gm2/TODO:  removed COROUTINES from the list.
	* gm2/config-lang.in:  tidied up the list of Makefiles
	  and added more examples to be built in the build
	  directories.
	* gm2/examples/cplusplus/m2catchcpp/Makefile.in:  (New file).
	* gm2/gm2-libs-iso/COROUTINES.mod:  completed first
	  implementation.

2010-03-25       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added new rule to test specific
	  dejagnu tests.
	* gm2/gccgm2.c:  gm2_tree_inlining_walk_subtrees
	  (New function).  gm2_gimplify_function_parameters
	  (New function).  gm2_gimplify_function_node
	  (New function) which correctly gimplifies
	  nested functions.
	* gm2/gm2-common.h:  gm2_tree_inlining_walk_subtrees
	  new prototype.
	* gm2/gm2-lang.c:  comment out gm2_tree_inlining_walk_subtrees.
	* gm2/m2pp.c:  corrected GetVoidType.
	* gm2/gm2-compiler/M2GenGCC.mod:  corrected
	  CheckConvertCoerceParameter so that set parameters are not
	  cast to constants.  Fixes a bug reported by
	  Scott Iverson.
	* gm2/gm2-libs-iso/COROUTINES.mod:  removed unused code.
	  (Temporary checkin).
	* gm2/gm2/config-lang.in:  added examples/map/Makefile
	  examples/gravity/Makefile examples/hello/Makefile
	  to the list of files to be built by configure.
	* gm2/examples/hello/Makefile.in:  (New file).
	* gm2/examples/gravity/Makefile.in:  (New file).
	* gm2/examples/map/Makefile.in:  (New file).
	* gm2/examples/callingC/Makefile.in:  (New file).

2010-03-17       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2ALU.def:  CheckOrResetOverflow
          (New procedure) replaces CheckOverflow.
	* gm2/gm2-compiler/M2ALU.mod:  implement
	  CheckOrResetOverflow.
	* gm2/gm2-compiler/M2GenGCC.mod:  replace CheckOverflow
	  with CheckOrResetOverflow.
	* gm2/gm2-compiler/M2Quads.def:  export and declare
	  MustCheckOverflow (New procedure).
	* gm2/gm2-compiler/M2Quads.mod:  implement
	  MustCheckOverflow.  Modify doBuildAssignment,
	  doBuildBinaryOp to take an extra parameter, overflow.
	  PutQuadO, GenQuadO (New procedures).
	* gm2/gm2/gm2-libs/RTint.mod:  turn off debugging.
	* gm2/gm2-libs-ch/sckt.c:  turn off debugging.
	* above changes fix bug reported by Scott Iverson
	  <http://lists.gnu.org/archive/html/gm2/2010-03/msg00016.html>
	* gm2/gm2-compiler/M2ALU.mod:  corrected import (RemoveOverflow).

2010-03-11       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  removed duplicate rules to build
	  KeyBoardLEDs.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  fixed bug as reported
	  by Scott Iverson
	  <http://lists.gnu.org/archive/html/gm2/2010-03/msg00007.html>
	* gm2/gm2-libs/libc.def:  added atexit.
	* gm2/gm2-libs-ch/libc.c:  provided wrapper for atexit.
	* gm2/gm2-libs-ch/sckt.c:  improved debugging for accept.
	* gm2/gm2-libs-iso/WholeIO.mod:  fixed bug reported by
	  Martin KalbfuÃ.
	  <http://lists.gnu.org/archive/html/gm2/2010-03/msg00004.html>
	* gm2/gm2-libs-iso/WholeIO.mod:  and also fixed same bug in
	  ReadInt.

2010-03-06       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  FindSize extended to find
	  the size of a undeclared variables so long as its type is known.
	* gm2/gm2-compiler/M2Quads.mod:  use MetaError2 instead of
	  FailParameter when incorrect number of parameters are given.
	* gm2/gm2-compiler/M2ALU.def:  PushTypeOfTree (New procedure).
	* gm2/gm2/gm2-compiler/M2ALU.mod:  PushTypeOfTree,
	  PushGCCArrayType, PushGCCSetTree, PushGCCRecordTree new
	  procedures implemented which take a GCC tree and push it to
	  the ALU stack and assign the front end type ALU tag.
	* gm2/gm2-compiler/SymbolConversion.mod:  use PushTypeOfTree.
	* gm2/gm2-compiler/SymbolTable.mod:  modified debugging hooks.
	* gm2/gm2/gm2-compiler/M2ALU.mod:  PushTypeOfTree test whether
	  symbols type is NulSym and if so call PushIntegerTree.

2010-03-04       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  now build and install O2, SO, SO_O2
	  versions of the coroutines libraries.
	* gm2/TODO:  removed INT and added allocation of dynamic arrays
	  using alloca.
	* gm2/examples/swig/strlib/Makefile:  use PYTHON_VERSION.
	* gm2/gm2-libs-pim/Strings.def:  corrected parameter names
	  source and dest in Assign.
	* gm2/gm2-libs-pim/Strings.mod:  corrected parameter names
	  source and dest in Assign.

2010-02-26       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Base.mod:  IsArrayUnboundedCompatible
	  (New procedure).  Use IsArrayUnboundedCompatible to
	  check type equivalence during parameter passing.
	* gm2/gm2-compiler/M2Quads.mod:  IsSameUnbounded
	  (New procedure).  Use IsSameUnbounded to check
	  type equivalence during parameter passing.
	  These two procedures differ in their assumptions.
	* gm2/gm2-libs-iso/RTgen.mod:  allow doReadText to
	  be implemented with multiple calls to doRBytes.

2010-02-25       Gaius Mulley <gaius@gnu.org>

	* calling-c/datatypes/unbounded/run/pass/gm2.exp:
	* complex/run/pass/gm2.exp:
	* examples/callingC/run/pass/gm2.exp:
	* exceptions/run/pass/gm2.exp:
	* extensions/run/fail/gm2.exp:
	* extensions/run/pass/gm2.exp:
	* iso/run/pass/gm2.exp:
	* isolib/run/pass/gm2.exp:
	* linking/libarchive/pass/gm2.exp:
	* pim/options/optimize/run/pass/gm2.exp:
	* pim/run/fail/gm2.exp:
	* pim/run/pass/gm2.exp:
	* pimlib/base/run/pass/gm2.exp:
	* pimlib/logitech/run/pass/gm2.exp:
	* pimlib/run/pass/gm2.exp:
	* pimlib/ulm/run/pass/gm2.exp:
	* quads/run/pass/gm2.exp:
	* switches/check-all/run/pass/gm2.exp:
	* switches/iso/run/pass/gm2.exp:
	* switches/pim2/run/pass/gm2.exp:
	* switches/pim3/run/pass/gm2.exp:
	* switches/pim4/run/pass/gm2.exp:
	* types/run/pass/gm2.exp:  all have their link paths
	  corrected.  Tests should now run on machines without
	  a preinstalled gm2.
	* gm2/gm2spec.c:  construct -Lpaths for the various libraries
	  needed and use -llibname, rather than explicitly referencing
	  the absolute library though a path.
	* gm2/gm2-libs-iso/RTgen.mod:  added loop to detect if a short
	  read occurs and use successive reads until an error or the
	  required number of bytes are read.  Fixes a bug reported by
	  Scott Iverson
	  (http://lists.gnu.org/archive/html/gm2/2010-01/msg00030.html)
	* gm2/gm2-compiler/M2GenGCC.mod:  skip type of the designator.
	* gm2/gm2-compiler/M2Quads.mod:  skip type when testing
	  for an unbounded array type.

2010-02-24       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  corrected dates and removed unnecessary
	  duplication of source code installation of libraries in
	  O2, SO and SO_O2 directories.
	* gm2/gm2/gm2spec.c:  add a default include path determining
	  where the one copy of the library source files exists.
	* gm2/gm2-compiler/M2Base.def:  define INT, INTS and INTL
	  ISO functions.  Also provide FLOATL, FLOATS, TRUNCS, TRUNCL
	  pervasive procedure functions.
	* gm2/gm2-compiler/M2Base.mod:  implement INT, INTS and INTL
	  ISO functions.
	* gm2/gm2-compiler/M2Quads.mod:  BuildIntFunction new procedure.
	  Fix error recovery bug reported by Scott Iverson which was
	  exposed by foo(ADR(undefinedvar)).
	* gm2/gm2-compiler/M2Range.mod:  convert High value to Integer
	  type before index out of range comparison is performed.
	* gm2/gm2.texi:  update documentation to include FLOATL, FLOATS,
	  TRUNCS and TRUNCL pervasive procedure functions.

2010-02-20       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  turn on optimization for the O2
	  versions of the libraries.
	* gm2/gm2/m2pp.c:  improved debugging of the integer type
	  nodes.
	* gm2/gm2-compiler/M2GenGCC.mod:  convert high calculation
	  to an integer type.

2010-02-18       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2spec.c:  corrected library name: libgm2iso.

2010-02-18       Michael Lambert <lambert@psc.edu>

	* gm2/patches/gcc/4.1.2/11.michael_snowleopard2
	  removed patch to mklink.c
	* gm2/tools-src/mklink.c:  applied patch to file.
	  (CC environment variable will override gcc for the
	   link command)

2010-02-18       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added many new rules to build
	  optimization versions of the logitech, ulm and
	  iso libraries.  Also modified so that the libraries
	  are archived and the archive installed rather than
	  all the objects.
	* gm2/TODO:  updated TODO, removed the linking request
	  by Martin KalbfuÃ.  Added a missed intrinsic function.
	* gm2/gm2/gm2.texi:  updated documentation to include
	  FLOAT, LFLOAT, SFLOAT, TRUNC, STRUNC, LTRUNC, RE, IM,
	  ODD.  Ordered all functions alphabetically.
	* gm2/gm2spec.c:  modified so that the linker includes
	  archives of the gm2 libraries at the end of the link
	  command.
	* gm2/gm2-compiler/M2Base.mod:  changed TRUNCS to STRUNC,
          TRUNCL to LTRUNC, FLOATL to LFLOAT, FLOATS to SFLOAT
	  to match the ISO naming scheme.

2010-02-13       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/StringConvert.mod:  fixed bug reported by
	  Carl Glassberg, number to string routines ignored, base,
	  parameter and always used a constant, 10.

2010-02-05       Gaius Mulley <gaius@gnu.org>

	* gm2/README:  tidied up spacing.
	* gm2/gm2-compiler/M2Base.def:  declare and export
	  ExceptionShift, ExceptionRotate.
	* gm2/gm2-compiler/M2Base.mod:  assign ExceptionShift
	  and ExceptionRotate.
	* gm2/gm2-compiler/M2Quads.mod:  insert runtime checks
	  to both SHIFT and ROTATE.
	* gm2/gm2-compiler/M2Range.def:  declared and export
	  InitRotateCheck, InitShiftCheck.
	* gm2/gm2-compiler/M2Range.mod:  implement InitShiftCheck
	  and InitRotateCheck.
	* gm2/gm2-libs/M2RTS.def:  declare and export
	  ShiftException and RotateException.
	* gm2/gm2-libs/M2RTS.mod:  implement ShiftException
	  and RotateException.
	* gm2/gm2-libs-iso/M2RTS.def:  declare and export
	  ShiftException and RotateException.
	* gm2/gm2-libs-iso/M2RTS.mod:  implement ShiftException
	  and RotateException.
	* gm2/ulm-lib-gm2/std/M2RTS.mod:  implement ShiftException
	  and RotateException.
	* gm2/gm2-compiler/M2Range.mod:  fixed bugs in FoldShift
	  FoldRotate, CodeShiftRotate so that the subrange of the
	  set rather than the set type is range tested.
	* gm2/TODO:  removed the SHIFT and ROTATE range checking
	  entry.
	* gm2/TODO:  removed the linking restriction entry.
	* gm2/gm2-compiler/gm2lcc.mod:  allow object files not
	  to be present when generating the link command.  This
	  allows users to supply private libraries or objects
	  which satisfy all gm2 module references.  A feature
	  request by a number of users, Martin KalbfuÃ and
          John O Goyo.

2010-02-03       Gaius Mulley <gaius@gnu.org>

	* gm2/TODO:  updated.
	* gm2/gm2builtins.c:  added many missing builtins necessary
	  to complete ComplexMath, LongComplexMath and ShortComplexMath.
	  carg, cargf, cargl, conj, conjf, conjl, cpow, cpowf, cpowl,
	  csqrt, csqrtf, csqrtl, cexp, cexpf, cexpl, cln, clnf, clnl,
	  csin, csinf, csinl, ccos, ccosf, ccosl, ctan, ctanf, ctanl,
	  casin, casinf, casinl, cacos, cacosf, cacosl,
	  catan, catanf, catanl.
	* gm2/gm2-libs/Builtins.mod:   fixed cpow, cpowl, cpowf, clog
	  clogf, clogl, casin, casinf, casinl, cacos, cacosf, cacosl,
	  catan, catanf, catanl.
	* gm2/gm2-libs/cbuiltin.def:  include procedure functions in
	  the export list and also declare them in the definition
	  module:  carg, cargf, cargl, conj, conjf, conjl,
	  cpow, cpowf, cpowl, csqrt, csqrtf, csqrtl, cexp, cexpf,
	  cexpl, cln, clnf, clnl, csin, csinf, csinl, ccos, ccosf,
	  ccosl, ctan, ctanf, ctanl, casin, casinf, casinl, cacos,
	  cacosf, cacosl, catan, catanf, catanl.
	* gm2/gm2-libs-iso/ComplexMath.mod:  fixed calls to
	  cpow, clog, casin, cacos, catan.
	* gm2/gm2-libs-iso/ShortComplexMath.mod:  fixed calls to
	  cpowf, clogf, casinf, cacosf, catanf.
	* gm2/gm2-libs-iso/LongComplexMath.mod:  fixed calls to
	  cpowl, clogl, casinl, cacosl, catanl.

2010-01-29       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  bug fix applied to BuildRe and BuildIm.
	* gm2/m2pp.c:  new functions (m2pp_complex),
	  (m2pp_complex_expr), (m2pp_imagpart_expr),
	  (m2pp_realpart_expr).
	* gm2/m2pp.c:  added conditional compilation around
	  gm2 COMPLEX data types referenced in gccgm2.
	* gm2/gm2-libs/Builtins.def:  fixed parameters to
	  cpower, cpowerf and cpowerl.
	* gm2/gm2-libs/Builtins.mod:  added implementations
	  for all new procedure functions.
	* gm2/el/g-mode.el:  added COMPLEX, LONGCOMPLEX and
	  SHORTCOMPLEX to the list of base Modula-2 data types.
	* gm2/TODO:  removed implementation of ComplexMath,
	  LongComplexMath and ShortComplexMath from the list
	  of modules to complete.
	* gm2/gm2-libs-iso/ShortComplexMath.def: new file.
	* gm2/gm2-libs-iso/ShortComplexMath.mod: new file.
	* gm2/gm2-libs-iso/SysClock.mod:  fixed Posix month to
	  ISO Modula-2 conversion 1..12 rather than 0..11.

2010-01-28       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added ComplexMath.mod
	  LongComplexMath.mod and ShortComplexMath.mod to the
	  iso library list.
	* gm2/gm2-libs/Builtins.def:  new function procedures
	  cargf, carg, cargl, conjf, conf, confl,
	  cpowerf, cpower, cpowerl, csqrtf, csqrt, csqrtl,
	  cexpf, cexp, cexpl, clnf, cln, clnl,
	  csinf, csin, csinl, ccosf, ccos, ccosl,
	  ctanf, ctan, ctanl, carcsinf, carcsin, carcsinl,
	  carctanf, carctan, carctanl.
	* gm2/gm2-libs-iso/ComplexMath.def:  tidied up comments.
	* gm2/gm2-libs-iso/ComplexMath.mod:  fixed call to
	  carg, corrected ccos and corrected the implementation
	  of polarToComplex.
	* gm2/gm2-libs-iso/LongComplex.def:  removed.
	* gm2/gm2-libs-iso/LongComplexMath.def:  new file.
	* gm2/gm2-libs-iso/LongComplexMath.mod:  new file.

2010-01-26       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/gccgm2.c:  modified debugging
	  handles.
	* gm2/gm2builtins.c:  declared new COMPLEX prototypes
	  for the complex builtins.  Introduced cabs, cabsf, cabsl.
	* gm2/gm2-compiler/M2Base.mod:  removed the assignment of
	  zero to pointer NIL via M2ALU, prefering to declare it
	  explicitly in M2GCCDeclare.mod.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  import GetPointerZero.
	  Type cast constants at declaration time.
	  DeclareDefaultConstants (New function).
	* gm2/gm2-libs/Builtins.def:  new procedure function
	  declarations, cabsf, cabs, cabsl.
	* gm2/gm2-libs/Builtins.mod:  new procedure function
	  implemented, cabsf, cabs, cabsl.
	* gm2/gm2-libs/RTExceptions.mod:  corrected spelling for
	  InitExceptionHandlers.
	* gm2/gm2-libs/SysExceptions.def:  corrected spelling for
	  InitExceptionHandlers.
	* gm2/gm2-libs/cbuiltin.def:  new procedure functions:
          cabsf, cabs, cabsl.
	* gm2/gm2-libs-ch/SysExceptions.c:  corrected spelling for
	  SysExceptions_InitExceptionHandlers.
	* gm2/gm2-libs-iso/ComplexMath.def:  new procedure function
	  definitions for abs, arg, conj, power, sqrt, exp, ln,
	  sin, cos, tan, arcsin, arccos, arctan.
	* gm2/gm2-libs-iso/ComplexMath.mod:  initial implementation.

2010-01-16       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-pim/RealConversions.mod:  intemediate
	  checkin of catching nans and other non fpnormals.
	* The following changes fix a bug reported by
	  Scott Iverson
	  (http://lists.gnu.org/archive/html/gm2/2010-01/msg00022.html)
	* gm2/gm2-compiler/M2GCCDeclare.mod:  improved
	  debugging for variant tags.  Only walk variant tags
	  which are necessary in the final production of the
	  equivalent C struct passed to the GCC backend.
	  Ignore dummy ELSE END inside variant records during
	  the construction of the equivalent C struct.
	* gm2/gm2-compiler/SymbolTable.def:  new procedures
	  (IsRecordFieldAVarientTag) and (IsEmptyFieldVarient).
	* gm2/gm2-compiler/SymbolTable.mod:  implement
	  new procedures (IsRecordFieldAVarientTag) and
	  (IsEmptyFieldVarient).
	* gm2/gm2-compiler/P2SymBuild.mod:  improved error
	  messages if duplication record fields are declared.

2010-01-15       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2builtins.c:  introduced __builtin_ilogbf,
	  __builtin_ilogbl and __builtin_ilogbl.
	* gm2/gm2-libs/Builtins.def:  introduced definitions
	  for ilogb, ilobl and ilobf.
	* gm2/gm2-libs/Builtins.mod:  implemented references
	  for builtins.
	* gm2/gm2-libs/cbuiltin.def:  introduced non builtin
	  definitions for ilogb, ilobl and ilobf.
	* gm2/gm2-libs-pim/RealConversions.mod:  doPowerOfTen
	  reimplemented and added comment.  LongRealToString
	  broken up into two procedures and it now tests for
	  NaN.
	* gm2/gm2-libs-pim/RealConversions.def:  updated
          comment for LongRealToString.
	* gm2/gm2-libs-pim/RealConversions.mod:  doPowerOfTen
	  reimplemented.

2010-01-14       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-pim/RealConversions.mod:  fixed bug in
	  exponent length and ensure that no white space is
	  created.  Corrected name of procedure
	  SetNoOfExponentDigits.

2010-01-13       Gaius Mulley <gaius@gnu.org>

	* gm2/TODO:  updated

2010-01-12       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-pim/RealInOut.def:  defined
	  DefaultDecimalPlaces to 6.
	* gm2/gm2-libs-pim/RealInOut.mod:  implemented
	  DefaultDecimalPlaces and integrated it into the
	  WriteReal, WriteLongReal, WriteShortReal.

2010-01-11       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-pim/RealConversions.def:
	  SetNoOfExponentialDigits (new procedure) to set the
	  number of exponential digits.
	* gm2/gm2-libs-pim/RealConversions.mod:  implement
	  SetNoOfExponentialDigits (new procedure).
        * gm2/gm2-libs-pim/RealInOut.mod:  tidied up comments.
	* gm2/gm2-libs/M2RTS.def:  export ErrorMessage.
	* gm2/gm2-libs/StringConvert.mod:  use ErrorMessage
	  rather than printf and added a prototype for
	  doDecimalPlaces.
	* gm2/gm2-libs-iso/M2RTS.def:  export ErrorMessage.

2010-01-10       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/StringConvert.mod:  fixed parameters to
	  printf.

2010-01-09       Gaius Mulley <gaius@gnu.org>

	* gm2/examples/gravity/test.mod:  gravitational constant
	  with greater accuracy.
	* gm2/gm2-libs/StringConvert.def:  corrected dates.
	  ToDecimalPlaces (new procedure).
	* gm2/gm2-libs/StringConvert.mod:  corrected dates.
	  Assert, ToDecimalPlaces, doDecimalPlaces
	  (new procedures).
	* gm2/gm2-libs-pim/RealConversions.mod:  doPowerOfTen
	  (new procedure).  Fixes a bug reported by James Cox
	  <jvcox@sandia.gov>.
	* gm2/gm2-libs-pim/RealInOut.mod:  SetNoOfDecimalPlaces
	  (new procedure).

2009-12-27       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/configure.in:  updated to 0.73
	* gm2/tools-src/makeversion:  modified to detect GNU date
	  or FreeBSD date or fall back to date in ChangeLog format
	  if neither are present.

2009-12-24       Gaius Mulley <gaius@gnu.org>

	* gm2/configure.in:  updated to 0.73
	* gm2/version.c:  updated to 0.73
	* GM2 Release 0.72

2009-12-23       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-pim/InOut.def:  altered specification of
	  ReadS to match ReadString.
	* gm2/gm2-libs-pim/InOut.mod:  reimplemented ReadS
	  to ignore leading white space.  This fixes a bug
	  reported by Steve Giess.  <scgiess@hotmail.com>.
	  Where reading a real number ' 3.14' would yield 0.0.
	* testsuite/gm2/pimlib/run/pass/realinput.mod:  new
	  regression test.

2009-12-22       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-pim/CardinalIO.mod:  strip white space
	  from start of strings.
	* gm2/gm2-libs-pim/LongIO.mod:  strip white space
	  from start of strings.
	* gm2/gm2-libs-pim/RealInOut.mod:  strip white space
	  from start of strings.
	* gm2/Make-file.in:  added gm2-libs to the path when
	  invoking makeSystem.
	* gm2/config-lang.in:  fixed dates.
	* gm2/configure:  regenerated.
	* gm2/gm2-libs/configure:  regenerated.
	* gm2/gm2-libs/configure.in:  fixed dates.
	* gm2/p2c/p2c-src/configure:  regenerated.
	* gm2/p2c/p2c-src/configure.in:  fixed dates.
	* gm2/configure.in:  updated to 0.72
	* gm2/version.c:  updated to 0.72
	* GM2 Release 0.71

2009-12-21       Gaius Mulley <gaius@gnu.org>

	* GNU Modula-2 passes all tests on LP64 debian stable.
	* gm2/iso/run/pass/shift[45].mod:  (New files).
	* gm2/Make-lang.in:  makeSystem now uses the last argument
	  for the destination filename.
	* gm2/gccgm2.c:  removed tabs.
	* gm2/gm2-libs/SYSTEM.mod:  use memcpy, memset if shifting
	  a whole number of words.  Also fixed bugs in ShiftLeft and
	  ShiftRight.
	* gm2/gm2-libs-iso/SYSTEM.mod:  use memcpy, memset if shifting
	  a whole number of words.  Also fixed bugs in ShiftLeft and
	  ShiftRight.
	* gm2/gm2-libs-min/SYSTEM.mod:  fixed dates.
	* gm2/tools-src/makeSystem:  modified so that the last argument
	  now contains the destination filename.  Thus allowing compile
	  errors to be emitted sensibly.

2009-12-21       Michael Lambert <lambert@psc.edu>

	* gm2/patches/gcc/4.1.2/10.michael_snowleopard1:  (new file).
	* gm2/patches/gcc/4.1.2/11.michael_snowleopard2:  (new file).
	* GNU Modula-2 now builds under Snow Leopard.

2009-12-19       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/SYSTEM.mod:  fixed an off by one bug in
	  ShiftLeft and ShiftRight.
	* gm2.paranoid builds on LP64
	* gm2/patches/gcc/4.1.2/01.gaius_patch_gcc:  removed
	  m2pp.o from being linked in with cc1 and cc1dummy.
	* gm2/gm2-compiler/M2GenGCC.mod:  (CodeEndFile) remove
	  PopScope again as the quadruple coding ordering needs to
	  be fixed before this code will work.  The CodeStartDefFile,
	  CodeStartModFile, CodeEndFile need to be placed at the start
	  and end of the module and collected in the CodeScope.
	  Renamed CompilingMainModule to CompilingMainModuleStack.
	* gm2/gm2-compiler/M2Quads.mod:  (doConvert) New function.
	  BuildForToByDo call doConvert to convert expressions e1 and
	  e2 before they are used to calculate the iteration final
	  value.  Fixes a bug reported by James Cox <jvcox@sandia.gov>.
	  (testsuite/gm2/switches/check-all/run/pass/forcheck.mod).
	* gm2/m2pp.c:  new function (m2pp_integer).  m2pp_type and
	  m2pp_simple_type call m2pp_integer.  (m2pp_simple_expression)
	  corrected '-' binary operator written.
	* gm2/bnf/m2-3.bnf:  removed unused procedure
	  (CollectConstructor).
	* gm2/bnf/m2-h.bnf:  fixed ConstSetOrQualidentOrFunction
	  to use ConstActualParameters.

2009-12-18       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  (CodeEndFile) call
	  PopScope to ensure that we generate the correct
	  runtime scope error message.

2009-12-17       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/libc.def:  added setenv.
	* gm2/gm2-libs/StringConvert.mod:  fixed precision bug
	  reported by Steve Giess.  <scgiess@hotmail.com>.
	* gm2/gm2/gm2-libs-ch/dtoa.c:  fixed incorrect placing
	  of '0'.
	* gm2/gm2-libs/StringConvert.mod:  added TotalWidth test
	  in LongrealToString.
	* gm2/gm2-libs/StringConvert.mod:  corrected slice of
	  final string.
	* gm2/gm2-libs/M2RTS.mod:  improved runtime error message.
	* gm2/gm2-compiler/M2Range.mod:  corrected comment.

2009-12-16       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/StringConvert.mod:  LongrealToString fix
	  to correct leading zeros after the '.'.  Fixes a bug
	  reported by Steve Giess.  <scgiess@hotmail.com>.

2009-12-15       Gaius Mulley <gaius@gnu.org>

	* The following changes fix a bug reported by Martin KalbfuÃ
	  (see testsuite/gm2/iso/run/pass/nestediso.mod).
	* gm2/gm2-compiler/M2Quads.mod:  use IsAssignmentCompatible
	  rather than equality of constructor types.
	* gm2/bnf/m2-2.bnf:  removed commented out code.  Removed
	  SimpleSet rule and replaced it by calls to Constructor.
	* gm2/bnf/m2-3.bnf:  removed SimpleSet and replaced it
	  by Constructor.  Removed SilentSimpleSet and replaced it
	  by SilentConstructor.  Removed CollectConstructor (a noop)
	  from SilentConstructor.  Removed SilentSimpleSet from
	  SilentConstSetOrQualidentOrFunction and replaced it
	  by SilentConstructor.
	* gm2/bnf/m2-h.bnf:  removed ConstSimpleSet by Constructor
	  and replace SilentSimpleSet by SilentConstructor.
	  Removed SilentSimpleSet, ConstSimpleSet.
	* gm2/bnf/m2.bnf:  ConstSetOrQualidentOrFunction uses
	  Constructor instead of SimpleSet.  Removed SimpleSet.
	* gm2/gm2-compiler/M2Quads.def:  removed CollectConstructor.
	* gm2/gm2-compiler/M2Quads.mod:  removed CollectConstructor.
	* gm2/gm2-compiler/M2ALU.mod:  (GetConstructorElement)
	  ensure that upon an error NulSym is returned.  Also
	  allow 0C to be returned if an CHAR ARRAY is being
	  created and the initial string is shorter than
	  the actual array size.
	* gm2/gm2-compiler/M2GenGCC.mod:  tidied up comment.
	* gm2/gm2-compiler/M2Quads.def:  corrected comment for
	  BuildConstructorEnd.  New functions (NextConstructorField),
	  (BuildTypeForConstructor).
	* gm2/gm2-compiler/M2Quads.mod:  new data structure
	  ConstructorFrame.  New function (BuildTypeForConstructor),
	  (PushConstructor), (PopConstructor), (NextConstructorField).
	  BuildConstructorEnd reimplemented.
	* gm2/gm2-compiler/SymbolTable.mod:  changed debugging watch
	  values.
	* gm2/examples/gravity:  many changes, an intemediate checkin.

2009-12-13       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Students.mod:  fixed bug reported
	  by Martin KalbfuÃ which occurred if -fstudents is used.
	  The parameters to Sprintf2 must not be Name types but
	  String types.  Modified accordingly.

2009-12-12       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/RTExceptions.mod:  fix so that
	  the default handler will write the exception
	  message to stderr.  Also add a nul terminator
	  to the exception string.

2009-12-09       Gaius Mulley <gaius@gnu.org>

	* gm2/examples/gravity/gsl.def:  new file.
	* gm2/examples/gravity/Makefile:  added -lgsl -lblas
	  to the linking rule and fixed the clean rule.
	* gm2/examples/gravity/deviceGnuPic.def:  defines
	  four colours and allows entities to be drawn in
	  different colours.
	* gm2/examples/gravity/deviceGnuPic.mod:  implemented
	  above and will now invoke mencode to generate movie.avi.
	* gm2/examples/gravity/test.mod:  extended test example.
	* gm2/examples/gravity/twoDsim.mod:  completed circle
	  collision detection code.
	* gm2/gm2-libs/StringConvert.mod:  fixed bug when
	  printing fixed width value of 0.0.
	* gm2/gm2-libs-iso/ConvStringReal.mod:  added a
	  configurable debugging printf.
	* gm2/examples/gravity:  many fixes.

2009-12-08       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/FIO.mod:  fixed bug in WriteNBytes.  The
	  cached seek position was not updated after a write.
	* gm2/gm2-libs/FIO.mod:  fixed bug in WriteNBytes.  The
	  cached seek position was not updated after a write.

2009-12-06       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Quads.mod:  fixed a bug reported by
	  Martin KalbfuÃ (both this bug and the one below required
	  fixes to BuildAdrFunction, which should return a
	  RightValue rather than a LeftValue).

2009-12-01       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Quads.mod:  fixed a bug reported by
	  Scott Iverson
	  (http://lists.gnu.org/archive/html/gm2/2009-11/msg00022.html).

2009-11-29       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  now builds and installs shared library
	  and O2 optimized versions of the ISO libraries.
	* gm2/examples/gravity/testsim.py:  no longer need to specify
	  the module name in the Python test module due to fixes
	  to the UNQUALIFIED extension.
	* gm2/examples/gravity/twoDsim.def:  EXPORT UNQUALIFED
	  added to all exported entities.
	* gm2/gm2-compiler/M2AsmUtil.mod:  fixes to
	  GetFullScopePrefix to honour the IsExportQuafified boolean.
	* gm2/gm2-compiler/M2Quads.mod:  changes to watch trigger.
	* gm2/gm2-libs-iso/Storage.def:  tidied up comments and also
	  added REALLOCATE procedure.
	* gm2/gm2-libs-iso/Storage.mod:  fixed dates and implemented
	  the REALLOCATE procedure.
	* gm2/examples/gravity/twoDsim.py:  removed automatically
	  generated file.

2009-11-27       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/RTExceptions.mod:  fixed DefaultErrorCatch
	  so that it THROWs an exception rather than calls HALT.
	* gm2/gm2-libs-iso/Storage.def:  added REALLOCATE procedure.

2009-11-26       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Quads.mod: fixed bug reported by Martin
	  KalbfuÃ <ma.kalbfuss@web.de> an unbounded actual parameter
	  being passed to unbounded formal parameter in
	  a DEFINITION MODULE FOR "C" module was not converted into
	  the address of its data.
	* gm2/gccgm2.c:  added garbage collector tags to
	  all tree structure fields.  Use local variable, s,
          rather than, t1, in global_constant.
	  New function (gccgm2_DumpGlobalConstants).
	  Dont pushdecl constants as they are placed onto
	  the global_binding_level and never deallocated.
	* gm2/examples/gravity/twoDsim.mod:  intemediate checkin.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  changed debugging
	  watch symbol.
	* gm2/gm2-compiler/SymbolConversion.mod:  corrected
	  misleading internal error message.  Only poison
	  non constant symbols as constants remain declared
	  in the global_binding_level.
	* gm2/gm2-libs/M2RTS.def:  HALT now has an optional
	  parameter.
	* gm2/gm2-libs/M2RTS.mod:  implement optional parameter
	  (exit code).
	* gm2/gm2-libs/StdIO.def:  added new line.
	* gm2/gm2-libs-ch/StdIO.c:  changed HALT extern.
	* gm2/gm2-libs-iso/M2RTS.def:  HALT now has an optional
	  parameter.
	* gm2/gm2-libs-iso/M2RTS.mod:  implement optional parameter
	  (exit code).
	* gm2/ulm-lib-gm2/std/M2RTS.mod:  implement optional parameter
	  (exit code).
	* gm2/www/index.ms:  fixed apt/sources.list information for
	  the latest binaries of gm2.  Also fixed release numbers.
	* gm2/p2c/p2c-src/src/lex.c:  change getline to
	  pgetline to avoid a name clash with
	  /usr/include/stdio.h.  Call pgetline rather
	  than getline.
	* gm2/p2c/p2c-src/src/parse.c:  call pgetline
	  rather than getline.
	* gm2/p2c/p2c-src/src/decl.c:  allow HALT to
	  take an optional exit code parameter.  If absent
	  the parameter defaults to -1.
	* gm2/p2c/p2c-src/src/funcs.c:  modify the parsing
	  of procedure declarations to allow an optional
	  parameter using the GNU Modula-2 syntax.
	* gm2/p2c/p2c-src/src/trans.c:  tidied up dates in
	  comments.

2009-11-17       Gaius Mulley <gaius@gnu.org>

	* gm2/configure:  rebuilt.
	* gm2/gm2/configure.in:  updated to 0.71.
	* gm2/gm2-libs/configure:  rebuilt.
	* gm2/gm2-libs/configure.in:  rebuilt.

2009-11-09       Gaius Mulley <gaius@gnu.org>

	* gm2/version.c:  updated to 0.71

2009-11-09       Gaius Mulley <gaius@gnu.org>

	* GM2 Release 0.70
	* gm2/gm2.texi:  fixed download url and fixed
	  debian repository information.
	* All regression tests pass on LP64 (x86_64) platform.

2009-11-08       Gaius Mulley <gaius@gnu.org>

	* rename SysVec to RTint and introduce a tiny module
	  COROUTINES for the pim libraries which just define
	  PROTECTION.  Thus gm2 is able to share RTint between
	  iso and pim libraries.
	* gm2/Make-lang.in:  added RTint.def COROUTINES.def
	  RTint.def COROUTINES.mod to the list of pim libraries.
	  Removed SysVec.mod from list of pim coroutine libraries.
	* gm2/examples/executive/Makefile:  improve clean rule.
	* gm2/examples/executive/testexecutive.mod:  replace
	  PRIORITY with PROTECTION and change imports.
	* gm2/examples/executive/testtime.mod:  replace
	  PRIORITY with PROTECTION and change imports.
	* gm2/examples/executive/winexec.mod:  replace
	  PRIORITY with PROTECTION and change imports.
	* gm2/examples/hello/Makefile:  improve clean rule.
	* gm2/examples/min/Makefile:  improve clean rule.
	* gm2/examples/ncurses/WindowDevice.mod:  replace
	  PRIORITY with PROTECTION and change imports.
	* gm2/examples/server/server.mod:  replace
	  PRIORITY with PROTECTION and change imports.
	* gm2/gm2-compiler/M2Quads.mod:  New function
	  (GetTurnInterrupts).
	* gm2/gm2-libs-coroutines/Executive.mod:  replace
	  PRIORITY with PROTECTION and change imports.
	* gm2/gm2-libs-coroutines/SYSTEM.def:  remove PRIORITY,
	  import PROTECTION, tidied up comments.
	* gm2/gm2-libs-coroutines/SYSTEM.mod:  replace
	  PRIORITY with PROTECTION and change imports.
	* gm2/gm2-libs-coroutines/TimerHandler.mod:  replace
	  PRIORITY with PROTECTION and change imports.
	* gm2/gm2-libs-iso/COROUTINES.mod:  intemediate checkin.

2009-11-07       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/FIO.mod:  ReadFromBuffer return total
	  when data is taken from the buffer, rather than
	  attempting to read more data from the file.
	* gm2/gm2-libs-iso/RTgen.mod:  checkPreRead has an
	  extra parameter, raw, which stops the procedure
	  from testing whether end of line is seen if in
	  raw mode.
	* gm2/gm2-libs-iso/TextIO.mod:  SkipLine new
	  implementation.
	* fixes two bugs reported by Scott Iverson
	  (http://lists.gnu.org/archive/html/gm2/2009-11/msg00005.html)
	  (http://lists.gnu.org/archive/html/gm2/2009-11/msg00004.html).
	* gm2/patches/gcc/4.1.2/09.gaius_patch_config:
	  new patch file so that various configures
	  detect new texinfo versions correctly.  This
	  allows info documentation to be built and installed.

2009-11-05       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/RndFile.def:  corrected dates.
	* gm2/gm2-libs-iso/RndFile.mod:  corrected boolean
	  expression bugs.
	* gm2/gm2-libs-iso/SeqFile.mod:  corrected boolean
	  expression bug.
	* gm2/gm2-libs-iso/StreamFile.mod:  corrected boolean
	  expression bug.

2009-11-01       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  IsTypeQ check to
	  see that we are not trying to declare a PartialUnbounded
	  symbol.  (IncludePartialUnbounded) New procedure.
	  PrintVerboseFromList call IncludePartialUnbounded if
	  necessary and check for GnuAsm symbols.
	* gm2/gm2-compiler/SymbolTable.mod:  MakePointer, MakeSet,
	  MakeProcType must also call ForeachOAFamily.  GetScope
	  to call InternalError if trying to get the scope of
	  a PartialUnbounded symbol.
	* fixes a bug reported by Scott Iverson
	  (http://lists.gnu.org/archive/html/gm2/2009-10/msg00048.html).

2009-10-30       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  new default initialization ordering
	  of modules, documented, and explained in more detail.
	* gm2/lang-specs.h:  bug fixes to -fuselist, -fmakelist.
	* gm2/gm2-compiler/gm2lorder.mod:  new value for
	  DefaultRuntimeModules.
	* gm2/gm2-libs-coroutines/SysVec.def:  updated dates.
	* gm2/gm2-libs-iso/COROUTINES.def:  updated dates.
	* gm2/gm2-libs-iso/COROUTINES.mod:  new implementation
	  (partially complete).
	* gm2/gm2-libs-iso/TextIO.def:  updated dates.
	* gm2/gm2-libs-iso/TextIO.mod:  fixes to bugs reported
	  by Scott Iverson
	  (http://lists.gnu.org/archive/html/gm2/2009-10/msg00043.html).
	* testsuite/gm2/isolib/run/pass/testio.mod:   new test.
	* testsuite/gm2/isolib/run/pass/testio2.mod:   new test.
	* testsuite/gm2/isolib/run/pass/testinput:   new file.

2009-10-28       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  gccgm2_DeclareKnownVariable set
	  DECL_ARTIFICIAL and DECL_IGNORED_P to 0.
	* gm2/gm2-libs-iso/RTdata.mod:  assign data to NIL
	  once freedata has been called.
	* gm2/gm2-libs-iso/TermFile.mod:  removed commented
	  out code and completed initialization of t in
	  openTerm.
	* gm2/gm2-libs-iso/TermFile.def:  removed commented
	  out code.
	* gm2/gccgm2.c:  gccgm2_DeclareKnownVariable set
	  DECL_ARTIFICIAL to 0 and DECL_IGNORED_P to
	  istemporary which fixes the regression test failure:
	  testsuite/gm2/iso/run/pass/shift3.mod.
	* All 8328 regression tests pass on the Debian Stable
	  Lenny LP64 x86_64 platform.

2009-10-23       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-ch/dtoa.c:  fixes to dtoa_calcdecimal
	  so that the correct number of digits after the decimal
	  place is returned.  Fixes a bug reported by James
	  Cox <jvcox@sandia.gov>.
	* gm2/gm2-libs-pim/RealConversions.mod:  turn debugging
	  off.

2009-10-22       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Range.mod:  allow second argument
	  to DEC and INC to be >=0 rather than MIN(des).  Fixes
	  a bug reported by James Cox <jvcox@sandia.gov>.
	* gm2/gm2-libs-ch/ldtoa.c:  reordered the headers to
	  ensure that _ISOC99_SOURCE is set before stdlib.h is
	  read so that the prototypes for strtold are correct.
	  Fixes a long real numeric conversion bug reported by
	  James Cox <jvcox@sandia.gov>.

2009-10-16       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/FIO.mod:  fixed bug in FIO.FindPosition
	  as reported by James Cox <jvcox@sandia.gov>.

2009-10-15       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  removed options which are not yet
	  implemented -fwholevalue, -fno-wholevalue.
	* gm2/lang-options.h:  removed options which are not yet
	  implemented -fwholevalue, -fno-wholevalue.
	* gm2/gm2-compiler/M2Quads.mod:  add Convert to
	  (MoveWithMode) if the types are different when moving
	  data indirectly.  New function (doVal) which is used to
	  change type during indirection if necessary.
	* gm2/gm2-compiler/M2Base.mod:  fix bug in unbounded array
	  dimension checking reported by
	  Scott Iverson (testsuite/gm2/pim/pass/ptrarray3.mod).
	* gm2/gm2-compiler/M2Quads.mod:  fix bug in unbounded array
	  dimension checking reported by
	  Scott Iverson (testsuite/gm2/pim/pass/ptrarray3.mod).

2009-10-14       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Base.mod:  allow sized SYSTEM types
	  (which are really pseudonyms of pervasive type to be
	   VAR parameter compatible).  Call IsSameSizePervasiveType.
	* gm2/gm2-compiler/M2System.def:  define and export
	  IsSameSizePervasiveType.
	* gm2/gm2-compiler/M2System.mod:  implement
	  IsSameSizePervasiveType.
	* gm2/gm2.texi:  removed -fbounds and introduced -fno-nil
	  -fwholediv, -fno-wholediv, -fwholevalue, -fno-wholevalue,
	  -findex, -fno-index, -frange and -fno-range.
	* gm2/lang-options.h:  removed -fbounds and introduced options
          -fno-nil, -fwholediv, -fno-wholediv, -fwholevalue,
	  -fno-wholevalue, -findex, -fno-index, -frange and -fno-range.
	* gm2/gm2-compiler/M2Base.mod:  removed BoundsChecking and
	  DivModRemChecking.  Use RangeChecking, IndexChecking and
          WholeDivChecking instead.
	* gm2/gm2-compiler/M2Options.def:  removed BoundsChecking and
	  DivModRemChecking.  Use RangeChecking, IndexChecking and
          WholeDivChecking instead.
	* gm2/gm2/gm2-compiler/M2Options.mod:  enable the detection of
	  -fwholevalue, -fno-wholevalue, -fno-nil, -fwholediv, -fno-wholediv,
	  -findex, -fno-index, -frange, -fno-range.
	* gm2/gm2-compiler/M2Quads.mod:  replace BoundChecking with
	  WholeValueChecking.

2009-10-07       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added SysExceptions.c and SysExceptions.def
	  to the list of library modules.  Also included the appropriate
	  build rules.
	* gm2/gm2.texi:  added space.
	* gm2/el/g-mode.el:  added all ISO and PIM built-in Modula-2
	  procedures and procedure functions.
	* gm2/gm2-libs/RTExceptions.mod:  new procedure functions
	  (indexf), (range), (casef), (invalidloc), (function),
	  (wholevalue), (wholediv), (realvalue), (realdiv),
	  (complexvalue), (complexdiv), (protection), (systemf),
	  (coroutine), (exception).  Call
	  SysException.InitExceptionHandlers to init the signal
	  call backs.o
	* gm2/init/gm2-gccinit:  add SysExceptions to the list of
	  modules.
	* gm2/init/gm2lccinit:  add SysExceptions to the list of
	  modules.
	* gm2/init/gm2lgeninit:  add SysExceptions to the list of
	  modules.
	* gm2/init/gm2linit:  add SysExceptions to the list of
	  modules.
	* gm2/init/gm2lorderinit:  add SysExceptions to the list of
	  modules.
	* gm2/init/gm2minit:  add SysExceptions to the list of
	  modules.
	* gm2/init/h2definit:  add SysExceptions to the list of
	  modules.
	* gm2/init/ppginit:  add SysExceptions to the list of
	  modules.

2009-10-01       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  fixed bug reported by Martin
	  KalbfuÃ <ma.kalbfuss@web.de>,
	  (see testsuite/gm2/iso/run/pass/constructor2.mod) which did not
	  allow a constructor to be passed as an actual parameter to an
	  unbounded array formal parameter.  Procedure CodeUnbounded
	  extended to include a case when a constructor appears as op3.
	* gm2/gm2-compiler/M2Quads.mod:  ManipulateParameters to merge
	  the rw information and mark a parameter as read if passed by
	  value and write/read if passed by address.

2009-09-30       Gaius Mulley <gaius@gnu.org>

	* gm2/el/g-mode.el:  added colour to GNU Modula-2 lisp mode.
	* gm2/gm2-compiler/M2Quads.mod:  tidied up some of the error
	  messages (using MetaError2).  Also enabled -Wpedantic to catch
	  using a variable which is never initialised.

2009-09-29       Gaius Mulley <gaius@gnu.org>

	* gm2/examples/swig/exceptions/Makefile:  introduce PYTHON_VERSION
	  and complete the clean target.
	* gm2/examples/swig/full-strlib/Makefile:  introduce PYTHON_VERSION
	  and complete the clean target.
	* gm2/examples/swig/strio/Makefile:  introduce PYTHON_VERSION
	  and complete the clean target.
	* gm2/examples/swig/strlen/Makefile:  introduce PYTHON_VERSION
	  and complete the clean target.
	* gm2/examples/swig/tiny/Makefile:  introduce PYTHON_VERSION
	  and complete the clean target.
	* gm2/gm2-compiler/M2Quads.mod:  introduce, rw, field into the
	  BoolFrame so that during pass 3 we can check whether arrays,
          records, parameters and variables are modified when indexed,
	  or by using ADR, or indirection.  New functions (MarkAsRead),
	  (MarkAsWrite), (OperandRW), (OperandMergeRW), (PushTFADrw),
	  (PushTFDrw), (PushTFrw), (PopTFrw), (PushTrw), (PopTrw).
	* gm2/gm2-libs/RTExceptions.mod:  removed redundant import of
	  type ADDRESS.

2009-09-26       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  ensure that record and field
	  symbols are CompletelyResolved in FoldOffset, FoldSize, FoldHigh.
	  Fixes a bug reported by James Cox.

2009-09-17       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/NameKey.mod:  added tests to ensure that out of
	  bound names do not cause the compiler to crash.  This fixes a bug
	  reported by Scott Iverson.
	* gm2/gm2/gm2-libs-iso/ProgramArgs.mod:  completed module and fixed
	  bugs to allow the channel to be reset and read.
	* gm2/gm2-libs-iso/ProgramArgs.def:  tidied up comments.
	* gm2/gm2-libs-iso/ProgramArgs.mod:  fixed bug in NextArg which
	  skipped every other argument.

2009-09-14       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Quads.mod:  RepeatStack, WhileStack, ForStack
	  new stacks for respective loops.  PushFor, PopFor (New Procedures).
	  REPEAT, FOR and WHILE loops no longer allow EXIT to terminate the
	  loop as EXIT is only allowed to terminate LOOP statements (as per
	  ISO and PIM Modula-2).
	* gm2/gm2-libs/FIO.mod:  corrected order of parameters to memcpy.
	  Ensure that calls to EOF do not alter the file state.
	* gm2/gm2-libs-iso/SimpleCipher.mod:  use early RETURN and not EXIT
	  as EXITs are only allowed inside LOOP statements.
	* gm2/gm2-libs-iso/TextIO.mod:  remove EXIT statement from WHILE loop.

2009-09-03       Gaius Mulley <gaius@gnu.org>

	* gm2/TODO:  removed completed items.
	* gm2/gccgm2.c:  modified documentation in light of completing
	  ISO Modula-2 language.  Also rewritten the descriptions of
	  INC and DEC.
	* gm2/gm2-compiler/M2CaseList.mod:  bug fixes in the missing
	  range checking.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  fixes so that cyclic array
	  declarations are canonicalised by their front end type and the
	  GCC index type.
	* gm2/gm2-compiler/gccgm2.def:  BuildStartArrayType new parameter,
	  type.
	* gm2/patches/gcc/4.1.2/06.gaius_patch_tree:  new version of
	  tree.[ch] patches.
	* gm2/gm2/tools-src/makeversion:  corrected date.
	* gm2/gm2-compiler/M2CaseList.mod:  use IsEqual to test identity
	  of constants rather than =.

2009-08-22       Gaius Mulley <gaius@gnu.org>

	* Make-lang.in:  added SMathLib0.def to list of library
	  modules.
	* gm2.texi:  added build log for macports description.
	* gm2-compiler/M2CaseList.mod:  only test case ranges if
	  the high field is used, otherwise test equality.  Check
	  that case types are also known and their maximum and
	  minimum values.
	* gm2-compiler/SymbolTable.mod:  only place record fields
	  into the Record.LocalSymbol tree if the name is not NulName.
	* gm2-libs/SMathLib0.mod:  many fixes to SMathLib0 using the
	  correct libm function name expf, sqrtf etc.
	* gm2-libs-iso/Processes.def:  tidied up comment formatting.
	* gm2/gm2.texi:  improved the building under macports section.

2009-08-21       Gaius Mulley <gaius@gnu.org>

	* gm2/www/index.ms:  updated to reflect recent changes.
	  Removed older build platforms.

2009-08-20       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  added macport section.  Also updated
	  state of gm2 within the documentation.  The languages
	  are complete, libraries are incomplete.

2009-08-18       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added dependency on
	  $(objdir)/gm2/gm2-libs for gm2/gm2-libs/gm2-libs-host.h.
	  Added dependencies on cc1gm2$(exeext) when creating
	  SYSTEM.def.  Explicitly invoke bash to run bash scripts
	  rather than assume that the developers SHELL is bash.

2009-08-17       Gaius Mulley <gaius@gnu.org>

        * gm2/gm2spec.c:  fixed an off by one bug when scanning
	  arguments.  This manifested itself as a linking bug
	  (as reported by John O Goyo <jgoyo@ca.inter.net>)
	  when arguments were presented in a different order.
	  '-o' skipped one to many arguments.

2009-08-16       Gaius Mulley <gaius@gnu.org>

	* gm2/m2.flex:  corrected dates.  Added changes for
	  ISO lexical completeness '(!' pseudonym for '[',
	  '!)' pseudonym for ']', '@' pseudonym for '^', '(:'
	  pseudonym for '{', ':)' pseudonym for '}', '!' pseudonym
	  for '|'.  The source code directives <* *> have been
	  implemented some time ago.

2009-08-15       Gaius Mulley <gaius@gnu.org>

        * gm2/gm2-compiler/M2CaseList.mod:  tidied up formatting of
	  error message.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  IncludeGetParent (New
	  function).  Use IncludeGetParent with appropriate symbols.
	* gm2/gm2-compiler/M2Quads.mod:  use GetParent and GetRecord
	  together now that the specification for GetParent has changed.
	* gm2/gm2-compiler/P2SymBuild.mod:  GetParent now returns the
	  parent of the field or varient.  GetRecord returns the
	  record of varient.  PutFieldRecord returns the field created
	  so that it can be recorded as the tag via PutVarientTag if
	  neccesary.  Modified BuildFieldRecord,
	  BuildVarientSelector, StartBuildVarientFieldRecord and
	  EndBuildVarientFieldRecord.
	* gm2/gm2-compiler/SymbolTable.def:  export GetRecord.
	* gm2/gm2-compiler/SymbolTable.mod:   GetParent now returns
	  the parent of the field or varient.  GetRecord returns the
	  record of varient.  PutFieldRecord returns the field created
	  so that it can be recorded as the tag via PutVarientTag if
	  neccesary.  EnsureOrder (New function) used by
	  PutVarientTag.
	* gm2/ulm-lib-gm2/std/RTErrors.def:  include two ELSE clauses.
	* gm2/ulm-lib-gm2/std/TimeIO.mod:  include ELSE clause.

2009-08-04       Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/m2-2.bnf:  modified so that the variant tag is
	  remembered in the symbol table.
	* gm2/bnf/m2-3.bnf:  variant record grammar rules
	  matches m2-2.bnf.
	* gm2/bnf/m2.bnf:  variant record grammar rules
	  matches m2-2.bnf.
	* gm2/bnf/m2-h.bnf:  variant record grammar rules
	  matches m2-2.bnf.
	* gm2/gm2-compiler/M2ALU.def:  corrected comment.
	* gm2/gm2-compiler/M2CaseList.def:  MissingCaseBounds (New
	  function).
	* gm2/gm2-compiler/M2CaseList.mod:  introduce SetRange
	  data structure and implement MissingCaseBounds using
	  (New functions) NewSet, DisposeRanges, SubBitRange,
	  ExcludeCaseRanges, DoEnumValues, ErrorRange, ErrorRanges.
	* gm2/gm2-compiler/M2GenGCC.mod:  reimplemented SizeOp
	  to effectively ignore the second and subsequent parameters
	  to TSIZE.  Much safer and considerably simpler.
	* gm2/gm2-compiler/M2Quads.def:  AddVarientToList (New function).
	* gm2/gm2-compiler/M2Quads.mod:  implement AddVarientToList
	  (New function).  Modify BuildNewProcedure and
	  BuildDisposeProcedure so they can take two or more parameters.
	  These parameters are effectively ignored as the union type
	  is TSIZEd via sizeof.
	* gm2/gm2/gm2-compiler/M2Range.def:  export IsEqual,
	  IsGreaterOrEqual and IsGreater.
	* gm2/gm2-compiler/M2Range.mod:  FoldCase and CodeCase now
	  introduce an additional check using MissingCaseBounds.
	* gm2/gm2-compiler/P2SymBuild.mod:  BuildVarientSelector
	  record the varient tag into the symbol table.
	* gm2/gm2-compiler/SymbolTable.def:  export GetVarientTag
	  and PutVarientTag.
	* gm2/gm2-compiler/SymbolTable.mod:  GetVarientTag
	  and PutVarientTag (New procedures).
	* gm2/gm2-compiler/ppg.mod:  removed debugging print.

2009-07-30       Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/m2-3.bnf:  place the actions in the Varient rule
	  rather than in the FieldList rule.
	* gm2/gm2/gm2-compiler/M2CaseList.def:  ElseCase now has a
	  single parameter.
	* gm2/gm2-compiler/M2CaseList.mod:  add new elseField to
	  CaseDesc, record ElseCase parameter in elseField.
	* gm2/gm2-compiler/M2GenGCC.mod:  check that, s, is resolved
	  and known to the GCC backend before attempting to find
	  the size of, s.  Fixed bugs in FoldSize, CodeSize.
	* gm2/gm2-compiler/M2Quads.def:  New procedure function
	  (ElseVarient).
	* gm2/gm2-compiler/M2Quads.mod:  fixed BuildTSizeFunction
	  so that it now works out the maximum size necessary to
	  contain the object.  Implemented (ElseVarient).
	* gm2/gm2/gm2-compiler/ppg.mod:  fixed pretty printing of
	  'END ;' during the production of a recovery based parser.

2009-07-29       Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/m2-2.bnf:  place the actions in the Varient rule
	  rather than in the FieldList rule.  Also introduce
	  VarientCaseLabelList and VarientCaseLabels rules.
	* gm2/bnf/m2-3.bnf:  place the actions in the Varient rule
	  rather than in the FieldList rule.
	* gm2/gm2-compiler/M2Debug.mod:  removed space.
	* gm2/gm2-compiler/P2SymBuild.mod:  introduced Assert.
	* gm2/gm2-compiler/ppg.mod:  fixed dates.  Altered so that
	  code actions immediately inside {} or [] are emitted when
	  the next token is consumed.  Thus allowing the Varient
	  rules in m2-2.bnf and m2-3.bnf to compile correctly.

2009-07-28       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added Sets.mod and M2CaseList.mod
	  to the list of modules to be tested under gm2.paranoid.
	* gm2/bnf/m2-2.bnf:  corrected dates and added ability to
	  record record and varient fields into a list held in
	  M2Quads.mod.
	* gm2/bnf/m2-3.bnf:  now collects varient fields from the
	  the list held in M2Quads and associates the case labels
	  with each field to allow checking.  Altered SilentCaseLabel
	  et al to VarientCaseLabel variety.
	* gm2/bnf/m2-h.bnf:  match m2-3.bnf.
	* gm2/gm2-compiler/M2BasicBlock.mod:  removed references to
	  M2Quads.Head.
	* gm2/gm2-compiler/M2CaseList.def:  PushCase altered to
	  take a single parameter.  BeginCaseList also altered to
	  take a single parameter.  New procedure function (FindVarient)
	  and procedure (ElseCase).
	* gm2/gm2-compiler/M2CaseList.mod:  implement above changes
	  and new procedures.
	* gm2/gm2-compiler/M2Code.mod:  remove usage of M2Quads.Head.
	  Removed InitGM2M2.  Alterations reflecting removal of
	  M2Quads.Head.
	* gm2/gm2-compiler/M2GenGCC.def:  removed InitGM2M2.
	* gm2/gm2-compiler/M2GenGCC.mod:  reimplemented SizeOp
	  to comply with ISO TSIZE.
	* gm2/gm2-compiler/M2Optimize.mod:  remove usage of
	  M2Quads.Head.
	* gm2/gm2-compiler/M2Quads.def:  no longer export Head.
	  New procedures (GetFirstQuad), (BeginVarient), (EndVarient),
	  (BeginVarientList), (EndVarientList), (AddRecordToList),
	  (AddVarientFieldToList), (AddVarientRange), (AddVarientEquality).
	  Removed NoOfDynamicQuads, IncDynamicQuads.
	  BackPatchSubrangesAndOptParam no longer uses a parameter.
	* gm2/gm2-compiler/M2Quads.mod:  implement above changes.
	  CountQuads returns a variable rather than computes the value.
	  This modification speeds up the compiler by 30% for large
	  source files.  M2Quads is altered to support maintaining a count
	  of quadruples in the variable.  Fixed Assert bugs.
	* gm2/gm2-compiler/M2Scope.mod:  removed import of M2Quads.Head
	  and use GetFirstQuad instead.
	* gm2/gm2-compiler/P2SymBuild.mod:  StartBuildVarientFieldRecord
	  calls AddVarientFieldToList to record FieldSym necessary for
	  pass 3.

2009-07-27       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2CaseList.def:  new file.
	* gm2/gm2-compiler/M2CaseList.mod:  new file.
	* gm2/Make-lang.in:  added M2CaseList to be built.
	* gm2/bnf/m2-3.bnf:  corrected dates and build case list
	  in M2CaseList.
	* gm2/bnf/m2.bnf:  tidied up formatting.
	* gm2/gm2-compiler/M2MetaError.def:   new procedures
	  (MetaError4), (MetaErrorT4), (MetaErrorsT4),
	  (MetaErrorString4), (MetaErrorStringT4).
	* gm2/gm2-compiler/M2MetaError.mod:  implement new
	  procedures.
	* gm2/gm2-compiler/M2Quads.mod:  build case lists.
	* gm2/gm2-compiler/M2Range.def:  new procedures
	  (InitCaseBounds), (OverlapsRange).
	* gm2/gm2-compiler/M2Range.mod:  implement new procedures.
	* gm2/gm2-compiler/P2SymBuild.mod:  removed space.
	* gm2/init/gm2-gccinit:  added M2CaseList.

2009-07-23       Gaius Mulley <gaius@gnu.org>

	* gm2/tools-src/gensum.py:  corrected bug which allowed
	  error descriptions to be marked up as not tested
	  on different platforms.

2009-07-21       Gaius Mulley <gaius@gnu.org>

	* gm2/TODO:  removed multidimensional unbounded arrays.
	  Added TSIZE.
	* gm2/gm2-compiler/M2Code.mod:  removed Head parameter
	  from DisplayQuadList.
	* gm2/gm2-compiler/M2GenGCC.mod:  removed Head parameter
	  from DisplayQuadList.
	* gm2/gm2-compiler/M2Optimize.mod:  added bounds checks
	  to ensure that we never look outside the quad range
	  specified.
	* gm2/gm2-compiler/M2Quads.def:  removed AddQuad and
	  also removed the parameter Head from DisplayQuadList.
	  Removed KillQuad.
	* gm2/gm2-compiler/M2Quads.mod:  many changes which
	  remove the static array Quads and use a dynamic
	  equivalent.  Also make the builtin function TSIZE
	  generate appropriate quadruples.
	* gm2/gm2-libs-iso/SYSTEM.def:  fixed typo.

2009-07-20       Gaius Mulley <gaius@gnu.org>

	* gm2/patches/gcc/4.1.2/08.gaius_ipa_type_escape.c:
	  new file.  This patch detects cyclic ARRAY and POINTER
	  definitions which can now occur in gcc due to
	  06.gaius_patch_tree.

2009-07-17       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Quads.mod:  (AssignUnboundedNonVar),
	  (AssignUnboundedVar), (UnboundedNonVarLinkToArray),
	  (UnboundedVarLinkToArray) add extra parameter
	  indicating array symbol being indexed.  Used additional
	  parameter to resolve high values on unbounded arrays given
	  a particular dimension.
	  Can now pass a two dimensional unbounded array to an ARRAY
	  OF BYTE and also can index the first dimension and pass the
	  designator as an ARRAY OF BYTE.
	  See testsuite/gm2/iso/run/pass/unbounded8.mod which now works.
	  Refactored tests against BYTE, WORD, LOC with IsGenericSystemType.

2009-07-14       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Quads.mod:  AssignHighField
	  modified so that ARRAY OF ARRAY OF type can be
	  passed to ARRAY OF BYTE.
	* gm2/gm2-compiler/SymbolTable.mod:  modified so
	  that GetDimension will skip over type and variable
	  symbols.

2009-07-13       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  create O2, SO, SO_O2 directories
	  for ISO libraries.  Use -ffunction-sections
	  -fdata-sections when building libraries to aid
	  building smaller binaries.
	* gm2/gccgm2.c:  New function (StringLength).
	* gm2/bnf/m2-2.bnf:  formal type altered so that
	  multidimensional dynamic arrays are legal.
	* gm2/bnf/m2-3.bnf:  formal type altered so that
	  multidimensional dynamic arrays are legal.
	* gm2/bnf/m2-h.bnf:  formal type altered so that
	  multidimensional dynamic arrays are legal.
	* gm2/bnf/m2.bnf:  formal type altered so that
	  multidimensional dynamic arrays are legal.
	* gm2/examples/hello/Makefile:  modified test
	  build rules to build smaller binaries.
	* gm2/gm2-compiler/Indexing.def:  corrected dates.
	* gm2/gm2-compiler/Indexing.mod:  corrected dates.
	* gm2/gm2-compiler/M2Base.mod:  corrected spelling
	  typo.  Modified parameter checking to allow
	  multidimensional dynamic arrays.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  walk
	  multidimensional unbounded records.
	* gm2/gm2-compiler/M2GenGCC.def:  GetHighFromUnbounded
	  now takes two parameters.
	* gm2/gm2-compiler/M2GenGCC.mod:  Added dimension parameter
	  to FoldHigh, ResolveHigh, GetHighFromUnbounded.
	  New procedures (BuildHighFromChar), (SkipToArray),
	  (BuildHighFromArray), (BuildHighFromString).
	* gm2/gm2-compiler/M2MetaError.mod:  fixed number
	  description to handle 11th, 12th and 13th.
	* gm2/gm2-compiler/M2Quads.def:  export PushTFA.
	* gm2/gm2-compiler/M2Quads.mod:  New procedures (PushTFAD),
	  (LegalUnboundedParam), (calculateMultipicand), (AssignHighField),
	  (AssignHighFields), (OperandD), (IncOperandD).
	  Ensure that HIGH, SIZE do not generate quadruples unless
	  they are accessing unbounded arrays.  Alter parameter
	  passing rules to allow multidimensional dynamic arrays.
	  Move BuildHighFromString, BuildHighFromChar into M2GenGCC.mod.
	* gm2/gm2-compiler/M2Range.def:  add dimension to array
	  bounds testing.
	* gm2/gm2-compiler/M2Range.mod:  incorporate the dimension
	  into the runtime error message.
	* gm2/gm2-compiler/P2SymBuild.mod:  add dimension to
	  unbounded parameter declaration.
	* gm2/gm2-compiler/SymbolTable.def:  New procedures
	  (IsOAFamily), (GetDimension), (MakeOAFamily), (GetOAFamily),
	  (ForeachOAFamily).  Add dimension parameter to
	  GetUnbounded, GetUnboundedHighOffset, MakeUnbounded.
	* gm2/gm2-compiler/SymbolTable.mod:  implement above.
	  Introduce OAFamily entity so that only one unbounded type
	  is created for each subtype.  Too many changes to
	  fully document here.
	* gm2/gm2-compiler/gccgm2.def:  define procedure
	  (StringLength).
	* gm2/gm2-libs/MathLib0.def:  removed long and short
	  declarations of intrinsic functions.
	* gm2/gm2-libs/LegacyReal.def:  new file.
	* gm2/gm2-libs/LMathLib0.def:  new file.
	* gm2/gm2-libs/SMathLib0.def:  new file.

2009-06-24       Michael Lambert <lambert@psc.edu>

	* gm2/Make-lang.in:  set debugging flags to -g
	  if on a Darwin i386 system.  Test supports bash/sh.
	* gm2/patches/gcc/4.1.2/07.michael_i386:  new file,
	  which tests if building on Darwin and if so it calls
	  c++filt --strip-underscore.

2009-06-24       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-min/libc.def:  added definition for printf.
	* gm2/examples/min/Makefile:  new file.
	* gm2/examples/min/minhello.mod:  new file.

2009-06-15       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  SRawIO.mod added to list of ISO modules
	  to be built and installed.
	* gm2/gm2-libs-iso/SRawIO.mod:  (new file).
	* gm2/m2.flex:  detect PACKEDSET keyword.
	* gm2/gm2m.bnf:  added PACKEDSET keyword.
	* gm2/gm2l.bnf:  added PACKEDSET keyword.
	* gm2/m2.bnf:  added PACKEDSET keyword.
	* gm2/m2-2.bnf:  added PACKEDSET keyword.
	* gm2/m2-3.bnf:  added PACKEDSET keyword.
	* gm2/m2-h.bnf:  added PACKEDSET keyword.
	* gm2/gm2-compiler/M2Reserved.def:  define packedsettok.
	* gm2/gm2-compiler/M2Reserved.mod:  define PackedSetTok
	  and ensure that it corresponds to packedsettok.
	* gm2/gm2-libs/FIO.def:  IsActive (new procedure function).
	* gm2/gm2-libs/FIO.mod:  IsActive (implement procedure
	  function).
	* gm2/gm2-libs-iso/RTfio.mod:  ensure that the file
	  is still active before testing IsNoError.

2009-06-06       Gaius Mulley <gaius@gnu.org>

	* gm2/Makefile.in:  added rules to build the minimum libraries
	  by default.
	* gm2/gm2.texi:  documented -fno-exceptions.
	* gm2/lang-options.h:  new option -fno-exceptions.
	* gm2/lang.opt:  reorder flibs options alphabetically.
	* gm2/version.c:  revised the release number to 0.70 as
	  the basic ISO IO libraries are implemented.
	* gm2/gm2-compiler/M2Base.mod:  only import NoException from
	  RTExceptions if the exceptions flag is set.
	* gm2/gm2-compiler/M2Options.mod:  implemented new flag
          -fno-exceptions
	* gm2/gm2-compiler/M2Quads.mod:  test the Exceptions flag
	  to ensure that we only generate exception code if the
	  exceptions flag is on.
	* gm2/gm2-compiler/gm2lgen.mod:  only generate the cpp
	  start up file if exceptions are enabled, other produce
	  the start up file in C.
	* gm2/gm2-libs/RTExceptions.def:  corrected procedure
	  function declaration.
	* gm2/gm2-libs/configure.in:  modified version number.
	* gm2/gm2-libs-iso/RTfio.mod:   many numerous fixes
	* gm2/gm2-libs-iso/RTgen.mod:   to fix error/eof/seek
	* gm2/gm2-libs-iso/RndFile.mod:  problems.
	* gm2/gm2-libs-iso/SeqFile.mod:
	* gm2/gm2-libs-iso/StreamFile.mod:  (checkOpenErrno) new function.
	* gm2/gm2-libs-iso/wraptime.c:   fix bug in call to localtime_r.
	* gm2/gm2-libs-iso/wraptime.def:
	* gm2/gm2-libs-min/M2RTS.def:
	* gm2/gm2-libs-min/M2RTS.mod:  add NoException dummy procedure.
	* gm2/gm2-libs-min/SYSTEM.def:  add system data types.

2009-05-20       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  always build gm2-libs-min.
	* gm2/gm2-libs/RTExceptions.def:  fixed incorrect declaration
	  of function GetBaseExceptionBlock.

2009-05-15       Gaius Mulley <gaius@gnu.org>

	* gm2/lang-specs.h:  create modulename_m2.cpp init file if
	  -g is present on the command line.
        * gm2/TODO:  removed completed item on the list.
	* gm2/gm2-compiler/M2Base.mod:  IsVarParamCompatible (New
	  function).  Fixed paramater compatibility rules to
	  test VAR parameters.
	* gm2/ulm-lib-gm2/std/Directories.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysAccess.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysAlarm.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysBreak.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysClose.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysCreat.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysDup.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysExec.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysExit.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysFcntl.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysGetpid.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysGetuid.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysIoctl.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysKill.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysLink.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysLseek.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysOpen.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysPause.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysPipe.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysRead.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysSetuid.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysStat.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysTime.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysUnlink.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysWait.mod:  altered types
	  of arguments from CARDINAL to INTEGER.
	* gm2/ulm-lib-gm2/sys/SysWrite.mod:  altered types
	  of arguments from CARDINAL to INTEGER.

2009-05-14       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  convert constants to
	  integer if they are to be passed to a C stdarg function.
	* gm2/gm2-compiler/M2Quads.mod:  pass the address field
	  of an unbounded array if it is an argument to a
	  C stdarg function.
	* gm2/gm2-compiler/M2GenGCC.mod:  removed function
          DefaultCStdArgPromotion and fixed test code.
	* gm2/gm2.texi:  documented behaviour of stdarg parameters.

2009-05-11       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added Sets.def and Sets.mod to
	  the list of compiler modules.
        * gm2/bnf/m2-h.bnf:  ConstActualParameters added so that
	  constant functions may be used in constant expressions
	  within modules declaring opaque types.
        * gm2/gm2-compiler/M2GCCDeclare.mod:  altered many of the
	  List data types to Set where appropriate.  Fixed
	  unbounded types to be walked just like all other types.
	  In turn refactored unbounded declarations.  Added test
	  to detect recursive calls to ForeachTryDeclare.
	* gm2/gm2-libs/ASCII.def:  fixed dates.
	* gm2/gm2-libs/Storage.mod:  fixed dates.
	* gm2/gm2-libs/SysStorage.mod:  fixed copyright notice.
	* gm2/init/gm2-gccinit:  added Sets.
	* gm2/p2c/p2c-src/src/decl.c:  fixed declaration of
	  BITSET so that MAX(BITSET) and MIN(BITSET) yield
	  correct values.

2009-05-06       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  TryDeclareConst
	  now calls TryDeclareConstructor.
	* gm2/gm2-compiler/M2Range.mod:  modified all calls to
	  DeclareConstructor to TryDeclareConstructor.
	* gm2/gm2-compiler/SymbolTable.mod:  corrected dates.
	* gm2/gm2-compiler/M2GenGCC.mod:  detect if op3 is a
	  procedure in CodeConvert and if so calculate the
	  address of the procedure.
	* gm2/gm2-compiler/M2Quads.mod:  allow procedures as
	  the operand to cast/convert.  Changed
	  CheckVariabelOrConstant to
	  CheckVariabelOrConstantOrProcedure.
	* gm2/gm2-compiler/M2Quads.mod:  allow procedure types
	  or procedures to be CAST.

2009-05-04       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2ALU.mod:  ensure that
	  solved and areAllConstants are initialized for every
	  type of constant.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  return early from
	  TryDeclareConstant if the constructors dependants are
	  not all constant.
	* gm2/gm2-compiler/M2GenGCC.mod:  add missing double
	  book keeping entries in FoldConvert for op1 and the
	  tree.
	* gm2/gm2-compiler/M2Range.mod:  FoldTypeCheck
	  add TryDeclareConstructor.
	* gm2/gm2-compiler/SymbolTable.mod:  (IsConstructorConstant)
	  allow constant sets to have their elements tested for
	  being constant.

2009-05-01       Gaius Mulley <gaius@gnu.org>

	* bug fixes so that ulm-lib-gm2/std/TimeIO.mod builds.
	* gm2/gm2-compiler/M2ALU.def:  new procedure TryEvaluateValue.
	* gm2/gm2-compiler/M2ALU.mod:  implemented TryEvaluateValue.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  implemented new
	  procedure TryDeclareConst.

2009-04-30       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2/gm2-compiler/M2ALU.mod:  commented out
	  ChangeToConstructor.
	* gm2/gm2/gm2-compiler/M2GCCDeclare.def:  corrected
	  comments and added TryDeclareConstant and
	  TryDeclareConstructor.
	* gm2/gm2/gm2-compiler/M2GCCDeclare.mod:  remove symbol
	  from tobesolvedbyquad when it is completely resolved.
	  Implemented TryDeclareConstant and TryDeclareConstructor.
	* gm2/gm2/gm2-compiler/M2GenGCC.mod:  changed all occurances
	  of DeclareConstant to TryDeclareConstant.  Changed all
	  occurances of DeclareConstructor to TryDeclareConstructor.
	  Fixed bug in DeclareConst.
	* gm2/gm2/gm2-compiler/M2Range.mod:  changed all occurances
	  of DeclareConstant to TryDeclareConstant.  Changed all
	  occurances of DeclareConstructor to TryDeclareConstructor.

2009-04-19       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2/gm2-compiler/M2GCCDeclare.mod:  fixed bug which
	  denied fixed sized set types from being correctly
	  declared.

2009-04-19       Gaius Mulley <gaius@gnu.org>

	* Huge amount of changes, most of which surround the new
	  implementation of M2GCCDeclare.mod.  This uses a set of
	  traverse and walk procedures for each data type which
	  allows cyclic data structures to be emitted to the
	  GCC middleend from the gm2 frontend.
	* gm2/patches/gcc/4.1.2/06.gaius_patch_tree:  new file.
	* gm2/gm2/gccgm2.c:  gccgm2_BuildStartType, gccgm2_BuildEndType
	  (New Functions).  gccgm2_DeclareKnownType build type from
	  previous two functions.  gccgm2_BuildStartArrayType,
	  gccgm2_PutArrayType, gccgm2_BuildEndArrayType,
	  gccgm2_GetDeclContext  (New Functions).
	* gm2/gm2/gm2-compiler/M2ALU.def:  PutConstructorSolved,
	  EvaluateValue,  IsConstructorDependants,
	  WalkConstructorDependants  (New procedures).
	* gm2/gm2/gm2-compiler/M2ALU.mod:  implement above
	  changes.
	* gm2/gm2/gm2-compiler/M2GCCDeclare.def:  ConstantKnownAndUsed,
	  PutToBeSolvedByQuads (New Procedures).
	* gm2/gm2/gm2-compiler/M2GCCDeclare.mod:  Completely new
	  algorithm used, too many changes to document here.
	* gm2/gm2/gm2-compiler/M2GenGCC.def:  ResolveConstantExpressions
	  first parameter is a WalkAction procedure.
	* gm2/gm2/gm2-compiler/M2GenGCC.mod:  many changes to reflect
	  the new walk algorithm of M2GCCDeclare.  All the Fold
	  procedures now call the WalkAction procedure parameter
	  if a symbol is resolved rather than removing it from
	  a list.
	* gm2/gm2/gm2-compiler/M2Range.def:  FoldRangeCheck
	  modified in light of new M2GCCDeclare.
	* gm2/gm2/gm2-compiler/M2Range.mod:  modified in light
	  of new M2GCCDeclare.
	* gm2/gm2/gm2-compiler/P2SymBuild.mod:  added commented
	  out code, which needs to be tested and enabled once
	  M2GCCDeclare stabalises.
        * gm2/gm2/gm2-compiler/gccgm2.def:  export BuildStartType,
	  BuildEndType.  Modified parameters to BuildEndEnumeration,
	  BuildEnumerator.  Export BuildStartArrayType,
	  BuildEndArrayType, PutArrayType, GetDeclContext.
	* gm2/gm2/gm2-libs-pim/InOut.def:  export OpenOutput.
	* gm2/gm2/p2c/p2c-src/src/decl.c:  changed implementation
	  of word to unsigned rather than integer.

2009-04-09       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Base.mod:  simplified module by removing
	  parameter compatibility array.  We now just use the assignment
	  compatibility to test non var paramater types which avoids
	  duplication of code.  Fixed a bug reported Jurgen Lerch.

2009-03-20       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  tidied up formatting.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  introduced a
	  debugging watch for the lists.
	* gm2/gm2-compiler/P2SymBuild.mod:  added an
	  error check to ensure types are not declared as
	  themselves.
	* gm2/gm2-libs-ch/sckt.c:  exit if an error occurs.
	* gm2/gm2-libs/configure:  rebuilt.
	* gm2/gm2-libs/configure.in:  added test code cfmakeraw.
	* gm2/gm2-libs/gm2-libs-host.h.in:  added stub for
	  cfmakeraw.
	* gm2/gm2-compiler/P2SymBuild.mod:  catch if a type
	  is being declared to itself.

2009-03-17       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Quads.mod:  fixed a critical bug
	  in DEC.  Swapped operands for doBuildBinaryOp around
          when building a DEC.
	* gm2/gm2-libs-ch/sckt.c:  removed debugging printf's.

2009-03-14       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  modified debugging
	  catch.
	* gm2/gm2-compiler/SymbolTable.mod:  changed RequestSym
	  to GetDeclareSym in PutExportQualified and
	  PutExportUnQualified.
	* gm2/gm2-libs/SYSTEM.def:  removed export of SIZE.
	  (It is only added if -fpim2 is enabled).
	* gm2/gm2-libs-iso/TermFile.mod:  added debugging
	  comments.
        * gm2/gm2-libs-iso/wraptime.c:  added wraptime_
	  prefixes to exported procedures.
        * gm2/gm2-compiler/M2System.mod:  export SIZE if
	  -fpim2 is used (or -fpim but only if -fpedantic is not
	  set).
	* gm2/gm2-libs-iso/SYSTEM.def:  removed BITSET from export
	  list as it is pervasive in ISO Modula-2.
	* gm2/ulm-libs-gm2/sys/SYSTEM.def:  removed SIZE from export
	  list as it is exported internally depending upon -fpim2
	  and -fpedantic.
	* gm2/gm2-libs-coroutines/SYSTEM.def:  removed SIZE from export
	  list as it is exported internally depending upon -fpim2
	  and -fpedantic.

2009-03-09       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-file.in:  added termios.def to
	  GM2-LIBS-BOOT-DEFS, GM2-LIBS-DEFS.  Added
	  termios.c to GM2-LIBS-C and added rules to build
	  gm2/gm2-libs-boot/termios.o, gm2/gm2-libs/termios.o,
	  gm2/gm2-libs/O2/termios.o, gm2/gm2-libs/SO/termios.o,
          gm2/gm2-libs/SO_O2/termios.o,
	  gm2/gm2-libs-paranoid/termios.o.  Removed rule to
	  build gm2/ulm-lib-gm2/sys/termios.o.  Added termios.c
	  to GM2-LIBS-BOOT-C.  Removed termios.c from the ulm
	  libraries.
	* gm2/gm2-libs/IO.def:  UnBufferedMode, BufferedMode,
	  EchoOn, EchoOff new declarations.
	* gm2/gm2-libs/IO.mod:  mostly rewritten.
	* gm2/gm2-libs/errno.def:  added constant EAGAIN.
	* gm2/gm2-libs-iso/ClientSocket.mod:  added
	  port number to name now that IntToStr has been
	  implemented.
	* gm2/gm2-libs-iso/README.texi:  corrected dates and
	  added TermFile to the list of completed modules.
	* gm2/gm2-libs-iso/TermFile.def:  tidied up comments.
	* gm2/init/ppginit:  added errno and termios to the list
	  of dependant modules.
	* gm2/gm2-libs-iso/TermFile.mod:  new file.
	* gm2/Make-lang.in:  removed rule to build
          gm2/ulm-lib-gm2/sys/termios.o.
	* gm2/gm2-libs/libc.def:  corrected open to use varargs.
	* gm2/gm2-libs-iso/TermFile.mod:  initialize termios
	  types when term is initialised.  RestoreTerminalSettings
	  (new function).  Call new function.

2009-03-04       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/SysClock.mod:  new file.
	* gm2/gm2-libs-iso/wraptime.def:  new file.
	* gm2/gm2-libs-iso/wraptime.c:  new file.
	* gm2/gm2-libs-iso/README.texi:  updated list of
	  completed ISO library modules.
	* gm2/Make-lang.in:  added SysClock.mod to
	  GM2-LIBS-ISO-MODS and added wraptime.c to
          GM2-LIBS-ISO-C.
	* gm2/gm2-compiler/P2SymBuild.mod:  use one
	  call of MetaErrorsT2, rather than two calls to
	  MetaErrorT1.

2009-02-27       Gaius Mulley <gaius@gnu.org>

	* Fixed compiler so that pervasive procedure functions
	  can be redefined.
	* gm2/Make-lang.in:  added IOResult.mod, SIOResult.mod,
	  StringChan.mod to GM2-LIBS-ISO-MODS.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  PrintDeclared
	  (new procedure).  PrintVerboseFromList call
	  PrintDeclared.
	* gm2/gm2-compiler/P2SymBuild.mod:  replace RequestSym
	  with GetDeclareSym.  Tidied up comments.
	* gm2/gm2-compiler/SymbolTable.def:  export GetDeclareSym.
	* gm2/gm2-compiler/SymbolTable.mod:  implement GetDeclareSym.
	* gm2/gm2-libs-iso/SysClock.def:  assign maxSecondParts to
	  zero.

2009-02-25       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/StringConvert.mod:  LongrealToString
	  add test to see if the nonfraction component
	  is empty.  Fixes a bug reported by Steve Giess
	  <scgiess@hotmail.com>.
	* gm2/Make-lang.in:  LongIO.mod, RealIO.mod added
	  to GM2-LIBS-ISO-MODS.
	* gm2/gm2-libs-ch/dtoa.c:  removed conditional
	  compilation on HAVE_STRTOLD.
	* gm2/gm2-libs-ch/ldtoa.c:  fall back to using
	  strtod if strtold is unavailable.
	* gm2/gm2-libs-iso/IOChan.mod:  fixed error
	  message.
	* gm2/gm2-libs-iso/LongIO.mod:  tidied up comments.
	* gm2/gm2-libs-iso/LongIO.mod:  new implementation.
	* gm2/gm2-libs-iso/RealIO.def:  tidied up comments.
	* gm2/gm2-libs-iso/RealIO.mod:  new implementation.
	* gm2/gm2-libs-iso/SWholeIO.mod:  tidied up comments.
	* gm2/gm2-libs-iso/WholeIO.mod:  refactored to use
	  writeString.
	* gm2/gm2-libs-iso/SLongIO.mod:  new implementation.
	* gm2/gm2-libs-iso/SRealIO.mod:  new implementation.
	* gm2/gm2-libs-iso/IOResult.mod:  new implementation.
	* gm2/gm2-libs-iso/SIOResult.mod:  new implementation.

2009-02-20       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/ConvStringLong.def:  new file.
	* gm2/gm2-libs-iso/ConvStringLong.mod:  new file.
	* gm2/gm2-libs-iso/ConvStringReal.mod:  fixed bugs.
	* gm2/gm2-libs-iso/LongConv.def:  tidied up comments.
	* gm2/gm2-libs-iso/LongConv.mod:  new file.
	* gm2/gm2-libs-iso/LongStr.def:  tidied up comments.
	* gm2/gm2-libs-iso/LongStr.mod:  new file.
	* gm2-libs-iso/README.texi:  updated list of
	  completed modules.
	* gm2/gm2-libs-iso/RealStr.def:  tidied up comments.
	* gm2/Make-lang.in:  added ConvStringLong.mod,
	  LongConv.mod, LongMath.mod, LongStr.mod to be
	  built and installed.
	* gm2/gm2-libs/StringConvert.mod:  skip leading zeros.

2009-02-15       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/ConvStringReal.mod:  fixed comment.
	* gm2/gm2-libs-iso/RTio.def:  corrected return type
	  of GetDevicePtr.

2009-02-14       Gaius Mulley <gaius@gnu.org>

        * gm2/gm2-compiler/M2GenGCC.def:  add comment about
	  including the nul in the number of bytes copied.
	* gm2/gm2-compiler/M2GenGCC.mod:  check if destination
	  array type has enough room to contain the nul and if
	  so increment the number of characters to be copied.
	* gm2/gm2-libs/FIO.def:  corrected return type of
	  FindPosition to be LONGINT.
	* gm2/gm2-compiler/P2SymBuild.mod:  added procedure
	  return type check between definition and implement
	  modules.
	* gm2/gm2-libs/FIO.def:  FindPosition returns LONGINT.
	* gm2/gm2-libs-pim/FloatingUtilities.mod:  Round
	  returns INTEGER and Roundl returns LONGINT.
	* gm2/gm2-libs-pim/FloatingUtilities.def:  Roundl
	  also returns LONGINT.

2009-02-13       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  copy result of TREE_CODE into a variable
	  to aid debugging.
	* gm2/m2pp.c:  m2pp_constructor (new function).  Add
	  INIT_EXPR as a pseudoname for MODIFY_EXPR.
	* gm2/gm2-compiler/M2ALU.mod:  fixed off by one bug when
	  constructing array constants.
	* gm2/gm2-libs-ch/dtoa.c:  add '0' to the end of a copied
	  string of significant digits.

2009-02-04       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  modified include path when compiling
	  ldtoa.c and dtoa.c.
	* gm2/gccgm2.c:  gccgm2_ConvertString (new function).
	  gccgm2_BuildStringConstantType (new function).
	  Re-factored gccgm2_BuildString.
	* gm2/gm2-compiler/M2GenGCC.mod:  convert string
	  if used during a constant constructor.
	* gm2/gm2-compiler/gccgm2.def:  export ConvertString.
	* gm2/gm2-libs-ch/dtoa.c:  another new implementation,
	  this time based on snprintf (due to lack of portability)
	  with qecvt_r and qfcvt_r.
	* gm2/gm2-libs-ch/ldtoa.c:  another new implementation,
	  this time based on snprintf (due to lack of portability)
	  with qecvt_r and qfcvt_r.
	* gm2/gm2-libs/FIO.def:  modified FindPosition to return
	  LONGINT.
	* gm2/gm2-libs/FIO.mod:  changed data type of abspos to
	  LONGINT, to reflect change in FindPosition.

2009-02-01       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/StringConvert.mod:  fixed carryOne
	  to allow the carry to correctly propagate to
	  the left most digit.

2009-01-31       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2/Make-lang.in:  new rules to build ldtoa.o
	  and dtoa.o.
        * gm2/gm2/gccgm2.c:  change boolean_to_unsigned to
	  boolean_enum_to_unsigned and alter implementation
	  accordingly.
	* gm2/gm2/gm2-libs/StringConvert.mod:  use new ldtoa
	  interface and fixed bugs in ToSigFigs.
	* gm2/gm2/gm2-libs/configure.in:  check for strtod
	  and strtold.
	* gm2/gm2/gm2-libs/dtoa.def:  remove unused
	  enumerated fields and modify procedure function
	  names and parameters in light of the new dtoa
	  implementation.
	* gm2/gm2/gm2-libs/gm2-libs-host.h.in:  add entries
	  for HAVE_STRTOD and HAVE_STRTOLD.
	* gm2/gm2/gm2-libs/ldtoa.def:  remove unused
	  enumerated fields and modify procedure function
	  names and parameters in light of the new ldtoa
	  implementation.
	* gm2/gm2/gm2-libs-ch/dtoa.c:  new implementation
	  (GPL) based on libc strtod, ecvt and fcvt.
	* gm2/gm2/gm2-libs-ch/ldtoa.c:  new implementation
	  (GPL) based on libc strtold, qecvt and qfcvt.
	* gm2/gm2/gm2-libs-iso/ConvStringReal.def:  changed
	  procedure function name.
	* gm2/gm2/gm2-libs-iso/ConvStringReal.mod:
	  fixed many bugs in the three real conversion
	  routines.
	* gm2/gm2/gm2-libs-iso/RealConv.mod:  use new procedure
	  function name and modify parameters.
	* gm2/gm2-libs-ch/dtoa.c:  added GPL header.
	* gm2/gm2-libs-ch/ldtoa.c:  added GPL header.
	* gm2/gm2-libs-iso/RealStr.mod:  fixed more bugs.
	* gm2/Make-lang.in:  added RealStr.mod to list of
	  completed ISO modules.
	* gm2/gm2-libs-iso/README.texi:  added RealStr to
	  list of documented modules.

2009-01-26       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  improved error
	  message and use MetaError rather than ErrorStringAt.

2009-01-21       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  boolean_to_unsigned changed to
	  boolean_enum_to_unsigned and modified accordingly.
	  Call boolean_enum_to_unsigned in comparison build
	  functions.
	* gm2/gm2.texi:  minor word change.
	* gm2/gm2-compiler/M2Quads.mod:  removed redundant
	  import.
	* gm2-libs-iso/SWholeIO.def:  tidied up comments
	  to fix normal page and screen width.

2009-01-20       Michael Lambert <lambert@psc.edu>

        * gm2/gm2-libs-iso/SWholeIO.mod:  (new file).
	* gm2/gm2-libs-iso/README.texi:  updated complete
	  module list.
	* gm2/Make-lang.in:  add SWholeIO.mod to the list
	  of iso modules to be compiled (GM2-LIBS-ISO-MODS).

2009-01-20       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/Strings.mod:  Insert (reimplemented).

2009-01-16       Gaius Mulley <gaius@gnu.org>

	* gm2/configure.in:  corrected version to 0.68
	* gm2/gccgm2.c:  added prototypes for gccgm2_BuildCmplx,
	  gccgm2_BuildIm and gccgm2_BuildRe.  gccgm2_BuildCmplx
	  detect constant operands or variable operands and skip
	  type decl.
	* gm2/gm2-compiler/M2Base.mod:  ScalarToComplex
	  return Complex even if error discovered.
	* gm2/gm2-compiler/M2Quads.mod:  check compatibility of
	  CMPLX operands and assign return value type for
	  CMPLX based on the operand types rather than CType.
	* gm2/configure.in:  added rule to detect the presence of
	  flex.
	* gm2/gccgm2.c:  gccgm2_BuildComplex test and convert
	  operands if necessary.

2009-01-14       Gaius Mulley <gaius@gnu.org>

	* 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/gm2.texi:  add information about the flag -g.

2009-01-13       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  only copy SYSTEM.def from the
	  build directory.  Add ConvStringReal.mod to the list
	  of ISO modules.

2009-01-10       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  gccgm2_AreRealOrComplexConstantsEqual
	  (new function).  Call gccgm2_FoldAndStrip in BuildCmplx.
	* gm2/gm2-compiler/M2ALU.def:  IsValueTypeComplex (new
	  procedure).  PushComplexTree (new procedure).
	  PopComplexTree (new procedure).
	* gm2/gm2-compiler/M2ALU.mod:  EitherComplex (new
	  procedure).  ComplexAdd (new procedure).
	  ComplexSub (new procedure).  ComplexMult (new
	  procedure).  ComplexDiv (new procedure).
	* gm2/gm2-compiler/M2GCCDeclare.mod:  DeclareConstant
	  test for type COMPLEX and call M2ALU.PopComplexTree.
	* gm2/gm2-compiler/M2GenGCC.mod:  FoldBecomes
	  check IsValueTypeComplex and call PopComplexTree if
	  necessary.
	* gm2/gm2-compiler/SymbolConversion.mod:  AddModGcc
	  check for COMPLEX constant and push the appropriate
	  tree.
	* gm2/gm2-compiler/gccgm2.def:  AreRealOrComplexConstantsEqual
	  (new procedure).

2009-01-09       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  fixed gccgm2_BuildRe, gccgm2_BuildIm
	  to detect constants.
	* gm2/gm2.texi:  added new section Build GNU Modula-2
	  from source under GNU/Linux.  Added SHELL=/bin/bash.
	  Also added GM2_ROOT in moving installation example.
	* gm2/gm2-compiler/M2Base.mod:  MixTypes detects
	  COMPLEX.
	* gm2/gm2-libs-iso/RealStr.def:  tidied up comments.
	* gm2/gm2.texi:  minor fixes.

2009-01-08       Gaius Mulley <gaius@gnu.org>

	* gm2spec.c:  improved debugging arg dumps and also
	  fixed bug (ignore a NULL string if it requested
	  to be added to the command line).
	* gm2/gm2.texi:  corrected word.
	* gm2/gm2-compiler/M2GenGCC.mod:  FoldUnary skips type
	  when checking for ZType, RType or CType constants.

2009-01-07       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  corrected GM2ROOT to GM2_ROOT.
	* gm2/gm2spec.c:  corrected GM2ROOT to GM2_ROOT and
	  pass old PATH appended to the new PATH.
	* gm2/gm2spec.c:  only issue a warning message if
	  -fmakeall0 is not present on the command line.
	* gm2/gm2spec.c:  reset loop iterator variable.

2009-01-06       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2spec.c:  introduced GM2_ROOT environment
	  variable which can override the --prefix option
	  given to configure.
	* gm2/gm2spec.c:  commented new functions.
	* gm2/gm2spec.c:  introduced GM2IPATH and GM2OPATH
	  environment variables.
	* gm2/gm2.texi:  documented all new environment
	  variables.

2009-01-05       Gaius Mulley <gaius@gnu.org>

        * 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.

2009-01-03       Gaius Mulley <gaius@gnu.org>

	* 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.

2009-01-02       Gaius Mulley <gaius@gnu.org>

        * 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.

2009-01-02       Michael Lambert <lambert@psc.edu>

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

2008-12-31       Gaius Mulley <gaius@gnu.org>

	* 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 <jgoyo@ca.inter.net> 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.

2008-12-30       Gaius Mulley <gaius@gnu.org>

	* 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.

2008-12-19       Gaius Mulley <gaius@gnu.org>

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

2008-12-18       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2/Make-lang.in:  RealConv.mod new file.
	* gm2/gm2/gm2builtins.c:  added __builtin_log10f,
	  __builtin_log10 and __builtin_log10l.
	* gm2-libs/Builtins.def:  added definitions for
	  log10f, log10, log10l, exp10f, exp10, exp10l.
	* gm2-libs/Builtins.mod:  new functions
	  log10f, log10, log10l, exp10f, exp10, exp10l.
	* gm2/gm2-compiler/M2Quads.mod:  migrated more error
	  messages to use M2MetaError and also made
	  BuildTruncFunction recover if operands are the wrong type.
	* gm2/gm2-libs/StringConvert.def:  ToSigFig new function.
	* gm2/gm2-libs/StringConvert.mod:  refactored to use IsDigit.
	  Implemented ToSigFig.  StringToLongreal improved to
	  minimise floating point operators.  LongrealToString
	  now allows TotalWidth of zero in which case it keeps
	  converting until the precision is exhausted.
	* gm2/gm2-libs/cbuiltin.def:  new definitions log10f,
	  log10, log10l, exp10, exp10l, exp10f.
	* gm2/gm2-libs/libm.def:  new definitions exp10, exp10l,
	  exp10f.
	* gm2/Make-lang.in:  added -lm to all stage1 executables.
	* gm2/gm2spec.c:  added MATH_LIBRARY to the list
	  of base libraries on the final link command.
	* gm2/gm2-libs/StringConvert.mod:  added forward declaration
          to help p2c.

2008-12-15       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/MathLib0.def:  included definitions for
	  expl, lnl, tanl, arctanl.
	* gm2/gm2-libs/MathLib0.mod:  implemented above functions
	  and also modified logs to use libm.logf, tanl to use
	  libm.tanl, arctans to use libm.atanf and arctanl to
	  use libm.atanl.

2008-12-13       Gaius Mulley <gaius@gnu.org>

	* testsuite/gm2/pimlib/logitech/run/pass
	  added runtime tests to check the values of REAL and
	  LONGREALs once converted.
	* gm2/gm2-libs/FormatStrings.mod:  tidied up comments.
	* gm2/gm2-libs/MathLib0.def:  entierl (new function).
	* gm2/gm2-libs/MathLib0.mod:  entierl implement
	  (new function).
	* gm2/gm2-libs/StringConvert.def:  added example of
	  use to the comments.
	* gm2/gm2-libs/StringConvert.mod:  DetermineSafeTruncation
	  tidied up comments and added examples, fixed bugs.
	* gm2/gm2-libs-pim/RealConversions.def:  tided up comments
	  and added examples.  LongRealToString and ReadToString
	  now take an INTEGER width which matches the Logitech
	  definitions.
	* gm2/gm2-libs-pim/RealConversions.mod:  RealToString and
	  LongRealToString modified width parameter to take an INTEGER.
	  Reimplemented much of LongRealToString and altered its
	  definition to make it simpler to use.

2008-12-05       Gaius Mulley <gaius@gnu.org>

	* fixed bug reported by Steve Giess <scgiess@hotmail.com>
	  which showed const+realvar was not converted to the
	  required REAL/LONGREAL/SHORTREAL type when passed
	  to a procedure.
	* gm2/gm2-compiler/M2GenGCC.mod:  ensure that actual
	  parameter are converted to formal parameter types if
	  they are a member of the real type family.
	* testsuite/gm2/pim/run/pass/mathconst.mod:  new file.
	* testsuite/gm2/pim/run/pass/math.mod:  new file.
	* testsuite/gm2/pim/run/pass/math2.mod:  new file.
	* gm2/gm2-compiler/M2Base.mod:  fixed MixTypes to
	  handle expressions of RType and (REAL|SHORTREAL|LONGREAL).

2008-12-01       "Nestor" <nestorac@gmail.com>

	* gm2/gm2-libs/StringConvert.mod:  appended
	  string to leading zeros.

2008-11-28       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2spec.c:  insert option "-shared-libgcc" onto
	  command line to fix linking problem exposed Darwin.
	* gm2/Make-lang.in:  use g++ as the gm2cc linker.

2008-11-27       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Options.mod:  added ability for
	  the Modula-2 frontend to ignore -d options.  The -d
	  options are processed by gcc component of cc1gm2.
	* gm2/gm2.texi:  added -d to the list of supported
	  options.

2008-11-26       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added cc1plus, cc1, cpp to the
	  list of executables to be installed as part of gm2.

2008-11-25       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  install all subsiduary binaries
	  into $(DESTDIR)$(libexecsubdir) instead of
          $(DESTDIR)$(libsubdir).

2008-11-24       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  prefixed invocation of makeversion
	  with /bin/bash.  Changed rule to build the paranoid version
	  of sckt.o.
	* gm2/gccgm2.c:  reset TYPE_SIZE when building PROCEDURE
	  types (this fixes a bug exposed by WholeConv.mod).
	  PROCEDURE type variables were not allocated any space.
	  General tidying up.
	* gm2/m2pp.c:  detect and avoid print out recursive data
	  structures.  Added function types to be printed.
	* gm2/gm2-compiler/M2Base.mod:  completed type checking code
	  to ensure that procedure types are fully type checked.
	* gm2/gm2-compiler/M2MetaError.mod:  added test against NulSym.
        * gm2/gm2-compiler/M2Quads.mod:  added call to MetaWarnings2.
	* gm2/gm2-compiler/M2Range.mod:  tided up error messages if
	  the procedure type causes a type mismatch.
	* gm2/gm2-libs-iso/WholeConv.mod:  rewritten ValueInt and
	  ValueCard.

2008-11-12       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/WholeConv.mod:  finished implementation
	  module.
	* gm2/gm2-libs-iso/WholeStr.mod:  finished implementation
	  module.
	* gm2/gm2-libs-iso/WholeIO.mod:  finished implementation
	  module.
	* gm2/Make-lang.in:  added WholeConv.mod, WholeStr.mod
	  and WholeIO.mod to the list of ISO modules to be built
	  and installed.
	* gm2/gm2-libs-iso/README.texi:  updated list of completed
	  modules.
	* gm2/Make-lang.in:  added cc1plus to the tools to be
	  installed as part of gm2.
	* gm2/gm2.texi:  new section written explaining how
	  to move an entire installation to a new directory.
	* gm2/README:  updated download instructions and
	  mentioned that the compiler may now be moved.

2008-11-11       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2spec.c:  modified add_default_directories
	  to use a default_library_path.  lang_specific_driver
	  sets the default_library_path to getenv LIBRARY_PATH
	  or failing that to the LIBSUBDIR as determined by
	  configure.

2008-11-10       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/README.texi:  added RndFile
	  to the list of completed implementation modules.
	  Removed duplicate StreamFile.
	* gm2/gm2-libs-iso/RndFile.def:  tidied up comments.
	  Set FilePosSize to SIZE(LONGINT) and
	  FilePos = LONGINT.
	* gm2/gm2-libs-iso/Storage.mod:  tidied up spaces.
	* gm2/tools-src/makeversion:  added gm2_version
	  prototype.
	* gm2/gm2-libs-iso/RndFile.mod:  new file.

2008-11-08       Gaius Mulley <gaius@gnu.org>

	* gm2/ChangeLog:
	* gm2/examples/svga/DisplayBuffer.def:  tidied up
	  spacing.
	* gm2/examples/svga/Matrix3D.def:  tidied up
	  spacing.
	* gm2/examples/svga/Matrix3D.mod:  tidied up
	  spacing.
	* gm2/examples/svga/Transform.def:  tidied up
	  spacing.
	* gm2/gm2-compiler/SymbolTable.mod:  introduced
	  test to make it more robust in the face of
	  erroneous code.

2008-11-08       Michael Lambert <lambert@psc.edu>

        * testsuite/gm2/iso/pass/realbitscast.mod:  added test
	  against __LP64__.
	* testsuite/gm2/cpp/pass/subaddr.mod:  added test
	  against __LP64__.

2008-11-07       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  new rules to make gm2version.c
	  and M2Version.mod.  New rule to compile gm2version.c
	  and modified link of xgm2 to include gm2version.o
	* gm2/gm2.texi:  removed entry to h2def.texi.
	* gm2/gm2spec.c:  detect --version or -fversion and
	  call gm2_version.
	* gm2/lang-options.h:  add new options --version and
	  -fversion.
	* gm2/lang.opt:  add new options --version and
	  -fversion.
	* gm2/gm2-compiler/M2Options.mod:  display version
	  in cc1gm2.
	* tools-src/makeversion:  rewriten.
	* gm2/gm2-compiler/M2Options.mod:  corrected licence
	  version.
	* gm2/gm2/gm2-libs-ch/sckt.c:  removed include to
	  stdio.h.
	* gm2/gm2spec.c:  added test for source file and only
	  enable linking if the source file found.
	* gm2/gm2-libs-host.h.in:  added HAVE_NETINET_IN_H
	  and HAVE_NETDB_H macros.
	* gm2/gm2-libs/configure.in:  added tests for netinet/in.h
	  netdb.h.  Updated the version number and email address.
	* gm2/gm2-libs/configure:  rebuilt.
	* gm2/Make-lang.in:  added version.texi to the list of texi
	  files.
	* gm2/gm2.texi:  include version.texi.
	* gm2/tools-src/makeversion:  added -t argument and made it
	  test the version number in gm2/gm2-libs/configure.in.

2008-11-05       Gaius Mulley <gaius@gnu.org>

	* gm2/www/index.ms:  reworded some of the FAQs.
	* gm2/gm2.texi:  fixed spacing
	* testsuite/gm2/pim/options/optimize/run/pass/testadd.mod:
	  fixed dates.
	* testsuite/gm2/pim/options/optimize/run/pass/gm2.exp:
	  fixed link command.
	* testsuite/gm2/pim/options/optimize/run/pass/addition.mod:
	  fixed dates.
        * testsuite/gm2/pim/options/optimize/run/pass/addition.def:
	  fixed dates.
        * lib/gm2.exp:  fixed ability to configure link path -L.
        * lib/gm2-torture.exp:  fixed ability to configure link
	  path -L.

2008-11-04       Gaius Mulley <gaius@gnu.org>

	* All regression tests pass on LP64 Athlon Debian
	  Etch.
	* gm2/gccgm2.c:  gccgm2_BuildArray (new function).
	  build_unary_op changed to handle Modula-2 array
	  arithemetic rather than C pointer and indice
	  computations.
	* gm2/m2pp.c:  m2pp_array_type (new function).
	* gm2/gm2-compiler/Lists.mod:  tidied up spacing.
	* gm2/gm2-compiler/M2GenGCC.mod:  CodeArray (new
	  procedure).  FoldBase and CodeBase removed.
	* gm2/gm2-compiler/M2Quads.def:  ArrayOp replaces
	  BaseOp.
	* gm2/gm2-compiler/M2Quads.mod:  ArrayOp replaces
	  BaseOp.  BuildStaticArray is reimplemented using
	  ArrayOp.
	* gm2/gm2-compiler/M2SubExp.mod:  ArrayOp replaces
	  BaseOp.
	* gm2/gm2-compiler/SymbolTable.mod:  modifications
	  to the debugging hooks.
	* gm2/gm2-compiler/gccgm2.def:  BuildArray (new
	  definition).
	* gm2/gm2-libs/FIO.mod:  tab space changes.
	* gm2/www/index.ms:  FAQ (new section).

2008-11-03       Gaius Mulley <gaius@gnu.org>

	* Cygwin port builds and installs.
	* gm2/lang.opt:  add -idirafter option which is used
	  by the preprocessor.
	* gm2/gm2.texi:  improved the cygwin build section.
	* gm2/www/index.ms:  updated web pages
	* gm2/gm2.texi:  modified version-GM2 to 0.68 to
	  reflect the version number in the CVS being worked
	  upon.
	* gm2/Make-lang.in:  modified GM2-VERSION to 0.68 to
	  reflect the version number in the CVS being worked
	  upon.

2008-11-02       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2/Make-lang.in:  removed $(exeext) from all
	  transformed names.
	* gm2/gm2/gm2spec.c:  append libraries at the end of the
	  command line rather than at the beginning.  Only add
	  -lgcc_eh if ENABLE_SHARED_LIBGCC is defined.
	* gm2/ulm-lib-gm2/sys/termios.c:  added prototype for
	  _M2_termios_finish.
	* gm2/gm2/gm2spec.c:  removed test line.
	* gm2/examples/hello/Makefile:  clean removes a.exe

2008-10-29       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  fixed bug in
	  DeclareDefaultType which caused a segfault when using
	  BITSET8, BITSET16, BITSET32 (reported by Scott Iverson).
	  The set type was incorrectly declared as a subrange.
	* gm2/gm2-compiler/SymbolTable.mod:  tidied up more
	  error messages.
	* gm2/gm2-compiler/M2Quads.mod:  moved the assignment
	  check after the BecomesOp, to ensure that during
	  code generation we can check the types after a
	  constant designator has been resolved.

2008-10-28       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  BuildArrayStringConstructor (new function).
	* gm2/gm2-compiler/M2GenGCC.mod:  DoCopyString remove
	  redundant parameter.  BuildReturnValue check to see whether
	  we are returning a constant string and if so call
	  BuildArrayStringConstructor.
	* gm2/gm2-compiler/M2LexBuf.mod:  add Assert to ensure
	  that the CurrentTokeNo>=ListOfTokens.LastBucketOffset.
	* gm2/gm2-compiler/M2Quads.mod:  revoke yesterdays
	  changes to this file in an attempt to allow GM2/GCC
	  to propagate the constant string further.
	* gm2/gm2-compiler/gccgm2.def:  add
	  BuildArrayStringConstructor to definition module.
	* gm2/gm2-compiler/M2LexBuf.mod:  UpdateFromBucket (new
	  function).  GetToken uses UpdateFromBucket and fixes
	  a buffer overrun bug reported by Scott Robinson.

2008-10-27       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Quads.mod:  modified BuildReturn
	  so that string constants can be returned from
	  functions with static array return types.
	* testsuite/gm2/pim/pass/testreturnstr.mod:  (new file).
	* testsuite/gm2/pim/run/pass/testreturnstr.mod:  (new file).
	* testsuite/gm2/pim/run/pass/testreturnstr2.mod:  (new file).

2008-10-26       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/LongMath.mod:  tidied up comments.
	* gm2/gm2-libs-iso/README.texi:  brought list of
	  completed ISO modules up to date.
	* gm2/NEWS:  document 0.68 changes in readiness
	  for a release.
	* gm2/gm2.texi:  (Building GNU Modula-2 under Cygwin)
	  new section.  Tidied up some text.
	* gm2/gm2-compiler/M2Quads.mod:  corrected SIZE
	  to return ZType constant rather than CARDINAL constant.
	* gm2/gm2-libs/SYSTEM.def:  corrected definition
	  of SIZE.
	* gm2/gm2-compiler/M2System.mod:  corrected definition
	  of ADDRESS so that it can be dereferenced.  Fixed import
	  of ZType.
	* gm2/gm2-compiler/SymbolTable.mod:  improved some error
	  messages by using M2MetaError.  Corrected dates.

2008-10-25       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2spec.c:  (add_exec_dir) new function,
	  add new function to list of gm2 spec functions.
	* gm2/lang-specs.h:  use exec_prefix to find
	  the executable cc1 when -fcpp is specified on the
	  command line.
	* gm2/examples/swig/strlen:  StrLib.def StrLib.i
	  removed both files.
	* gm2/patches/gcc/4.1.2/05.gaius_patch_gcc:  new
	  patch file.

2008-10-24       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Quads.mod:  (EnsureImportedFrom)
	  replaced with (GetQualidentImport).  Fixes a bug
	  reported by Scott Iverson which was shown in
	  testsuite/gm2/isolib/run/pass/testappend.mod.

2008-10-22       Michael Lambert <lambert@psc.edu>

	* testsuite/gm2/iso/pass/realbitscast.mod:  patch to
	  turn off 64 bit tests on an i386 and Apple OSX
	  combination.

2008-10-22       Gaius Mulley <gaius@gnu.org>

        * gm2/Make-lang.in:  include library build directory
	  when building gm2-libs-pim libraries.
	* gm2/gm2.texi:  corrected documentation to include
	  c++ in the list of languages needed to build GNU
	  Modula-2.
	* gm2/gm2-compiler/M2ALU.mod:  corrected four parameter
	  errors.
	* gm2/gm2-compiler/M2Base.def:  IsValidParameter new
	  procedure.
	* gm2/gm2-compiler/M2Base.mod:  IsValidParameter implement
	  it and produce better error messages.  Fixed parameter
	  compatibility between ZType and BYTE, WORD and ADDRESS.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  correct debugging
	  information.
	* gm2/gm2-compiler/M2MetaError.mod:  give ability of the
	  error routines to handle %N (count) and also only quote
	  symbol names.
	* gm2/gm2-compiler/M2Quads.mod:  produce range checks
	  for parameter passing.
	* gm2/gm2-compiler/M2Range.def:  InitTypesParameterCheck
	  modify parameters to fully specify which parameter,
	  procedure, formal, actual parameters are being checked.
	* gm2/gm2-compiler/M2Range.mod:  implement above.
	* gm2/gm2-compiler/M2Reserved.mod:  corrected parameter
	  passing to AddKeyword.
	* gm2/gm2-compiler/SymbolTable.def:  extended
	  IsNameAnonymous.
	* gm2/gm2-compiler/SymbolTable.mod:  extended
	  IsNameAnonymous.
	* gm2/gm2-compiler/gm2lorder.mod:  improved the help message.
	* gm2/gm2-libs/Debug.mod:  tidied up comments.
	* gm2/gm2-libs/M2RTS.mod:  corrected parameters.
	* gm2/gm2-libs/StrIO.def:  tidied up comments.
	* gm2/gm2-libs-iso/ClientSocket.mod:  corrected parameters.
	* gm2/gm2-libs-iso/M2EXCEPTION.mod:  corrected parameters.
	* gm2/gm2-libs-iso/M2RTS.mod:  corrected parameters.
	* gm2/gm2-libs-iso/ProgramArgs.mod:  corrected parameters.
	* gm2/gm2-libs-iso/RTgen.mod:  corrected parameters.
	* gm2/gm2-libs-iso/SeqFile.mod:  corrected parameters.
	* gm2/gm2-libs-iso/StreamFile.mod:  corrected parameters.
	* gm2/gm2-libs-pim/BitByteOps.mod:  corrected type changes
	  by using fixed sized types.
	* gm2/p2c/p2c-src/src/lex.c:  fixed bug when implementing
	  __FUNCTION__ in p2c.
	* gm2/ulm-lib-gm2/std/M2RTS.mod:  import RTExceptions to
	  aid linker.

2008-10-19       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Base.mod:  AttemptToCreateSetType
	  modified parameter name and altered calls to this
	  function accordingly.  Corrected set sized types.

2008-10-18       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2/m2.flex:  corrected dates.
	* gm2/gm2/gm2-compiler/M2Base.mod:  moved from M2Error
	  handling to M2MetaError handling.
	* gm2/gm2/gm2-compiler/M2GCCDeclare.mod:  moved from M2Error
	  handling to M2MetaError handling.
	* gm2/gm2/gm2-compiler/M2LexBuf.mod:  updated debugging
	  code.
	* gm2/gm2/gm2-compiler/M2MetaError.def:  MetaErrorString1,
	  MetaErrorString2, MetaErrorString3, MetaErrorStringT1,
	  MetaErrorStringT2, MetaErrorStringT3 (new procedures).
	* gm2/gm2/gm2-compiler/M2MetaError.mod:  MetaErrorString1,
	  MetaErrorString2, MetaErrorString3, MetaErrorStringT1,
	  MetaErrorStringT2, MetaErrorStringT3  (implemented
	  new procedures) and also the '!' operator and the '%n'
	  specifier.
	* gm2/gm2/gm2-compiler/M2Quads.mod:  migrated some of the
	  M2Error calls onto the new M2MetaError mechanism.
	* gm2/gm2/gm2-compiler/M2Range.mod:  moved from M2Error
	  handling to M2MetaError handling.
	* gm2/gm2/gm2-compiler/NameKey.mod:  corrected MakeKey
	  off by one error when comparing against HIGH(a).
	* gm2/gm2/gm2-compiler/P2SymBuild.mod:  removed
	  procedure CheckAnonymous.
	* gm2/gm2/gm2-compiler/SymbolTable.def:  added
	  procedure CheckAnonymous and IsNameAnonymous.
	* gm2/gm2/gm2-compiler/SymbolTable.mod:  implemented
	  CheckAnonymous and IsNameAnonymous.  Also implemented
	  PutConstVarTemporary and modified IsTemporary to
	  test whether constants are also temporary.
	* gm2/gm2/gm2-libs/DynamicStrings.mod:  fixed off by
	  one error in procedure, char.
	* gm2/gm2/Make-lang.in:  added LongMath.mod to the list
	  of ISO modules.
	* gm2/gm2/gm2-libs/libm.def:  export floor, floorl,
	  floorf, ceil, ceill and ceilf.
	* gm2/gm2/gm2-libs-iso/LongMath.def:  fixed dates.
	  Use exp and ln builtins.
	* gm2/gm2/gm2-libs-iso/LongMath.mod:  implement
	  builtins.  Finish non builtin equivalents of the
	  procedures.
	* gm2/gm2-compiler/M2Base.mod:  simplified expression
	  in IsBaseCompatible and corrected parameter type
	  matix (ZType and normint).

2008-10-15       Gaius Mulley <gaius@gnu.org>

        * gm2/M2MetaError.{def,mod}:  new files.
	* gm2/gm2/Make-lang.in:  added M2MetaError to be built.
	* gm2/gm2/gm2-compiler/Indexing.mod:  use casts when
	  assigning different pointers.
	* gm2/gm2/gm2-compiler/M2ALU.mod:  fixed return value
	  declaration in ToArrayValue.
	* gm2/gm2/gm2-compiler/M2MetaError.def:  export all
	  MetaError procedures.
	* gm2/gm2/gm2-compiler/M2MetaError.mod:  added end
	  of case delimiter.
	* gm2/gm2/gm2-compiler/M2Range.mod:  use MetaError
	  rather than M2Error.
	* gm2/gm2/gm2-libs/DynamicStrings.def:  corrected dates
	  and tidied up comments.
	* gm2/gm2/init/gm2-gccinit:  add M2MetaError to list
	  of modules to be linked.

2008-10-14       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added RTExceptions.mod and
	  M2EXCEPTION.mod to the build list of Ulm libraries
	  as way of GNU Modula-2 compatible runtime support.
	* gm2/gccgm2.c:  fixed bug in gccgm2_DetermineSizeOfConstant
	  which incorrectly set needsUnsigned.
	* gm2/gm2-compiler/M2Base.mod:  correct order of meta type
	  testing.
	* gm2/gm2-compiler/M2Quads.mod:  doBuildAssignment (new
	  procedure).  Modified BuildAssignmentWithoutBounds to
	  use a parameter which determines whether type checking
	  should be done.
	* gm2/gm2-compiler/M2System.mod:  corrected 'SET' with
	  'BITSET' in fixed sized data type procedure.
	* gm2/gm2-libs-pim/BitBlockOps.mod:  corrected pointer
	  type casts.
	* gm2/gm2-libs-pim/BlockOps.mod:  corrected pointer
	  type casts.
	* gm2/gm2-libs-pim/Termbase.mod:  corrected assignment
	  typo caught by new stronger type checking.
	* gm2/gm2-compiler/M2Base.mod:  correct bug to test
	  whether the types pointer to are the same.  MixTypes
	  skips over type symbols.
	* gm2/gm2-compiler/M2Quads.mod:  CheckReturnType (new
	  procedure).   BuildFunctionReturn uses CheckReturnType.
	* gm2/gm2-compiler/M2Range.mod:  generates return type
	  error messages if, des, is a procedure.
	* gm2/gm2-compiler/SymbolTable.mod:  added debugging.
	* gm2/gm2-libs-iso/IOChan.mod:  fixed wrong enumeration
	  bug, uncovered by new stricter assignment checks.
	* gm2/gm2-libs-iso/StdChans.mod:  fixed wrong enumeration
	  bug, uncovered by new stricter assignment checks.

2008-10-13       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  modified rule to build ISO C files.
	* gm2/NEWS:  updated to include implementation of
	  exception handling and swig.
	* gm2/gm2-libs-coroutines/SYSTEM.mod:  corrected dates
	  and removed redundant return value from printf.
	* gm2/gm2-libs-coroutines/SysVec.mod:  corrected dates
	  and removed redundant return value from printf.
	* gm2/gm2-libs-coroutines/testiotransfer.mod:  removed
	  redundant return value from printf.
	* gm2/gm2-libs-coroutines/testtransfer.mod:  removed
	  redundant return value from printf.
	* gm2/gm2-libs-iso/ErrnoCategory.c:  include <p2c/p2c.h>
	  rather than <stdio.h>.
	* gm2/gm2-libs-iso/WholeConv.mod:  intemediate checkin.
	* gm2/gm2-libs-iso/WholeStr.def:  corrected dates and
	  tidied up comments.
	* gm2/gm2-libs-iso/wrapsock.c:  remove include <stdio.h>
	* gm2/gm2-libs-pim/RealConversions.mod:  removed
	  redundant return value from printf.
	* gm2/gm2-compiler/M2BasicBlock.mod:  removed unnecessary
	  import.
	* gm2/gm2-compiler/M2Code.mod:  call SetPassToCodeGeneration.
	* gm2/gm2-compiler/M2Range.def:  introduce
	  InitTypesParameterCheck.
	* gm2/gm2-compiler/M2Range.mod:  implement InitTypesParameterCheck.
	* gm2/gm2-libs-iso/WholeStr.def:  tidied up comments.

2008-10-11       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2/gccgm2.c:  removed STRIP_NOPS from FoldAndStrip.
	* gm2/gm2/bnf/gm2l.bnf:  InitStopSet changed to reflect p2c
	  corrections to INCL and EXCL.
	* gm2/gm2/bnf/gm2m.bnf:  InitStopSet changed to reflect p2c
	  corrections to INCL and EXCL.
	* gm2/gm2/gm2-compiler/M2Base.def:  CannotCheckTypeInPass3,
	  ExceptionIncl, ExceptionExcl new procedures.
	* gm2/gm2/gm2-compiler/M2Base.mod:  CannotCheckTypeInPass3,
	  ExceptionIncl, ExceptionExcl implemented.
	* gm2/gm2/gm2-compiler/M2Code.mod:  call ResolveConstructorTypes.
	* gm2/gm2/gm2-compiler/M2Pass.def:  corrected dates.
	* gm2/gm2/gm2-compiler/M2Quads.mod:  introduced additional
	  range check markers to check type compatibility post pass 3.
	  Removes many ugly hacks and makes type checking more resiliant.
	* gm2/gm2/gm2-compiler/M2Range.def:  InitInclCheck, InitExclCheck,
          InitTypesAssignmentCheck, InitTypesExpressionnCheck new
	  procedures.
	* gm2/gm2/gm2-compiler/M2Range.mod:  InitInclCheck, InitExclCheck,
          InitTypesAssignmentCheck, InitTypesExpressionnCheck implement
	  these procedures and flush errors should a type check fail.
	* gm2/gm2/gm2-compiler/SymbolTable.def:  MakeTemporaryFromExpression,
          MakeTemporaryFromExpressions, PutConstructorFrom,
	  ResolveConstructorTypes new procedures.
	* gm2/gm2/gm2-compiler/SymbolTable.mod:  MakeTemporaryFromExpression,
          MakeTemporaryFromExpressions, PutConstructorFrom,
	  ResolveConstructorTypes implement these new procedures.
	* gm2/gm2/gm2-compiler/ppg.mod:  emit the stop subrange used to
	  build the set.
	* gm2/gm2/gm2-libs/M2RTS.def:  InclException, ExclException new
	  procedures.
	* gm2/gm2/gm2-libs/M2RTS.mod:  InclException, ExclException implement
	  new procedures.
	* gm2/gm2/gm2-libs-ch/sckt.c:  tidied up spacing.
	* gm2/gm2/gm2-libs-iso/M2EXCEPTION.def:  corrected dates.
	* gm2/gm2/gm2-libs-iso/M2RTS.def:  InclException, ExclException
	  new procedures.
	* gm2/gm2/gm2-libs-iso/M2RTS.mod:  InclException, ExclException
	  implement new procedures.
	* gm2/gm2/gm2-libs-iso/STextIO.mod:  corrected copyright notice.
	* gm2/gm2/gm2-libs-iso/TextIO.def:  tidied up comment.
	* gm2/gm2/gm2-libs-iso/WholeConv.def:  corrected dates and
	  tidied up long lines.
	* gm2/gm2/gm2-libs-pim/RealInOut.def:  tidied up spacing.
	* gm2/gm2/gm2-libs-pim/RealInOut.mod:  corrected dates.
	* gm2/gm2/p2c/p2c-src/src/decl.c:  added debugging.
	* gm2/gm2/p2c/p2c-src/src/funcs.c:  corrected INCL and EXCL
	  to subract low bound of subrange from bit value.
	* gm2/gm2/ulm-lib-gm2/std/M2RTS.mod:  InclException, ExclException
	  implement new procedures.

2008-10-11       Michael Lambert <lambert@psc.edu>

	* gm2/Make-lang.in:  set XGM2BUILD1 flags for
	  darwin, apple, i386 (leave out -gdwarf-2)

2008-10-07       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/FIO.mod:  reintroduced
	  InstallTerminationProcedure as p2c does
	  not use FINALLY.  Thus a boottrap error
	  occurred when building gm2/gm2-auto/pg.

2008-10-03       Gaius Mulley <gaius@gnu.org>

	* gm2/examples/iso/socket/client.mod:  improved
	  example program.
	* gm2/gm2-libs/FIO.mod:  tidied up increment and
	  removed InstallTerminationProcedure as the
	  module uses FINALLY instead.
	* gm2/gm2-libs-iso/ClientSocket.mod:  bug fixes.
	* gm2/gm2-libs-iso/IOLink.mod:  UnMakeChan
	  call doFlush and doFree.
	* gm2/gm2-libs-iso/RTdata.mod:  fixed typo bug
	  md should be m.
	* gm2/gm2-libs-iso/RTfio.mod:  iserror must not
	  call EOF.
	* gm2/gm2-libs-iso/RTgen.mod:  checkPostRead call
	  checkErrno.  doLook call doUnReadChar.
	* gm2/gm2-libs-iso/wrapsock.c:  fixed
	  getPushBackChar and setPushBackChar.

2008-10-01       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-iso/ClientSocket.def:  new file.
	* gm2/gm2-libs-iso/ClientSocket.mod:  new file.
	* gm2/gm2-libs-iso/wrapsock.def:  new file.
	* gm2/gm2-libs-iso/wrapsock.c:  new file.
	* gm2/gm2-libs-iso/ChanConsts.h:  new file.
	* gm2/Make-lang.in:  added wrapsock.c to list of
	  GM2-LIBS-ISO-C files.  Also added ClientSocket.mod
	  to GM2-LIBS-ISO-MODS.
	* gm2/gm2-libs/sckt.def:  tidied up comments.
	* gm2/gm2-libs-iso/ErrnoCategory.c:  use ChanConsts.h.
	* gm2/gm2-libs-iso/SimpleCipher.def:  RemoveCipherLayer
	  new function and fixed destructors.
	* gm2/gm2-libs-iso/Strings.def:  tidied up comments.
	* gm2/examples/iso/socket/Makefile:  new file.
	* gm2/examples/iso/socket/client.mod:  new file.

2008-09-30       Gaius Mulley <gaius@gnu.org>

        * gm2/Make-lang.in:  added ProgramArgs, SimpleCipher,
	  RTData modules to be installed as part of the ISO
	  libraries.
        * gm2/TODO:  updated TODO with outstanding bugs.
        * gm2/gm2.texi:  updated modification date to reflect
	  new modules.
        * gm2/gm2-libs/Args.mod:  updated dates.
        * gm2/gm2-libs-iso/M2RTS.mod:  fixed bug regarding
	  whether an application is terminating.
        * gm2/gm2-libs-iso/ProgramArgs.def:  updated dates.
        * gm2/gm2-libs-iso/README.texi:  updated list of
	  completed modules and their licence.
        * gm2/gm2-libs-iso/RTgen.mod:  fixed bug when
	  examining pre read status.
        * gm2/gm2-libs-iso/RawIO.def:  tidied up comments.
        * gm2/gm2-libs-iso/RawIO.mod:  fixed read results
	  bug.
        * gm2/gm2-libs-iso/STextIO.mod:  tidied up comments.
        * gm2/gm2-libs-iso/SimpleCipher.{def,mod}:  new files.
	* gm2/gm2-libs-iso/ProgramArgs.mod:  new file.
	* gm2/examples/iso/hello:  new directory for example.
	* gm2/examples/iso/hello/hello.mod:  new file.
	* gm2/examples/iso/files:  new directory for example.
	* gm2/examples/iso/files/rot13.mod:  new file.

2008-09-25       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2spec.c:  add -lgcc_eh to the link command line.
	* gm2/Make-lang.in:  added many new implementation and
	  definition modules to be installed as part of the ISO
	  library.
	* gm2/TODO:  added more outstanding bug reports.
	* gm2/gm2-compiler/M2ALU.mod:  flush non recoverable
	  errors.  Fixed bug during generation of constant array
	  if the subrange was an enumerated type.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  fixed bug which
	  manifested itself if an implementation module imported
	  itself.  The symbols were not emitted and incorrectly
	  defined as extern.
	* gm2/gm2-compiler/M2GenGCC.mod:  added more error checking
	  when constructing HIGH.
	* gm2/gm2-compiler/M2Quads.mod:  fixed bug in HIGH if the
	  operand is a constant string which has been concatenated.
	* gm2/gm2-libs/FIO.def:  changed all seek positions to
	  LONGINT.
	* gm2/gm2-libs/FIO.mod:  (SetPositionFromEnd) new procedure.
	* gm2/gm2-libs/PushBackInput.def:  tidied up code.
	* gm2/gm2-libs/PushBackInput.mod:  tidied up comments.
	* gm2/gm2-libs/Selective.def:  tidied up comments.
	* gm2/gm2-libs/libc.def:  changed seek offset from INTEGER
	  to LONGINT.
	* gm2/gm2-libs-ch/libc.c:  changed seek long offset to
	  long int offset.
	* gm2/gm2-libs-iso/ErrnoCategory.c:  (GetOpenResults) new
	  procedure.
	* gm2/gm2-libs-iso/ErrnoCategory.def:  (GetOpenResults) new
	  procedure.
	* gm2/gm2-libs-iso/IOChan.def:  tidied up comments.
	* gm2/gm2-libs-iso/IOChan.mod:  major rewrite.
	* gm2/gm2-libs-iso/IOLink.def:  tidied up comments.
	* gm2/gm2-libs-iso/README.texi:  updated README with list
	  of completed modules.
	* gm2/gm2-libs-iso/RTio.def:  major rewrite.
	* gm2/gm2-libs-iso/RTio.mod:  major rewrite.
	* gm2/gm2-libs-iso/SeqFile.def:  tidied up comments.
	* gm2/gm2-libs-iso/SeqFile.mod:  major rewrite.
	* gm2/gm2-libs-iso/StdChans.def:  tidied up comments.
	* gm2/gm2-libs-iso/StdChans.mod:  major rewrite.
	* gm2/gm2-libs-iso/Storage.mod:  major rewrite using
	  RTentity.
	* gm2/gm2-libs-iso/StreamFile.def:  tidied up comments.
	* gm2/gm2-libs-iso/TextIO.def:  tidied up comments.
	* gm2/gm2-libs-iso/TextIO.mod:  major rewrite.
	* gm2/gm2-libs-pim/FileSystem.mod:  fixed calls to
	  lseek to use LONGCARD rather than CARDINAL.

2008-09-15       Gaius Mulley <gaius@gnu.org>

	* gm2/m2pp.c:  corrected prototypes and fixed format
	  specifier for snprintf.

2008-09-11       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  added more information to the
	  release map.
	* gm2/gm2-libs-iso/TextIO.mod:  new file.
	* gm2/gm2-libs-iso/STextIO.mod:  new file.
	* gm2/gm2-libs-iso/StdChans.mod:  new file.
	* testsuite/gm2/isolib/run/pass/hello.mod:  new file.
	* testsuite/gm2/isolib/run/pass/gm2.exp:  new file.
	* gm2/gm2-compiler/M2ALU.mod:  fixed bug in
          CollectConstructorDependants in which a unknown
	  value might be saved as a constant.

2008-09-10       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  modified many examples to reflect
	  optional return value for printf.   Also updated
	  the swig examples to use -c++.
        * gm2/Make-lang.in:  added entries for IOChan.mod,
	  RTio.mod and ErrnoCategory.c.  Also added rule
	  to build ErrnoCategory.o.
        * gm2/bnf/gm2m.bnf:  moved FIO import list before
	  M2LexBuf to avoid getting the wrong definition of
	  GetFileName during p2c bootstrap phase.
        * gm2/bnf/m2-2.bnf:  added OptReturnType for
	  procedures (functions).  Rationalized function
	  return values via OptReturnType.
        * gm2/bnf/m2-3.bnf:  added OptReturnType for
	  procedures (functions).  Rationalized function
	  return values via OptReturnType.  Also added
	  productions to implement functions using
	  an optional return type.
        * gm2/bnf/m2-h.bnf:  added OptReturnType for
	  procedures (functions).  Rationalized function
	  return values via OptReturnType.
        * gm2/bnf/m2.bnf:  added OptReturnType for
	  procedures (functions).  Rationalized function
	  return values via OptReturnType.
        * gm2/examples/server/server.mod:  modified code
	  to exploit calling printf and ignoring its return
	  value.
        * gm2/examples/swig/exceptions/tiny.mod:  ignore
	  return result for printf.
        * gm2/gm2-compiler/M2Quads.def:  define
	  CheckBuildFunction.
        * gm2/gm2-compiler/M2Quads.mod:  implement
	  CheckBuildFunction.
        * gm2/gm2-compiler/P2SymBuild.def:  corrected dates.
	  Added new procedure definition
	  BuildOptFunction.
        * gm2/gm2-compiler/P2SymBuild.mod:  corrected dates
	  and implemented BuildOptFunction.
        * gm2/gm2-compiler/SymbolTable.def:  PutOptFunction
	  (new definition).  IsReturnOptional (new definition).
        * gm2/gm2-compiler/SymbolTable.mod:  ReturnOptional
	  new field for ProcedureSym and ProcTypeSym.
	  Implemented IsReturnOptional, SetReturnOptional,
	  CheckOptFunction and PutOptFunction.
	  Set ReturnOptional appropriately.
        * gm2/gm2-libs/FIO.mod:  implemented GetFileName.
	  Modified names of stdin, stdout and stderr to
	  <stdin>, <stdout>, <stderr> respectively.
        * gm2/gm2-libs/errno.c:  added init and finish
	  functions.
        * gm2/gm2-libs/libc.def:  declare printf to have
	  an optional return value.
        * gm2/gm2-libs-iso/ChanConsts.def:  fixed dates.
        * gm2/gm2-libs-iso/IOChan.mod:  fixed dates
	  and reimplemented this module.
        * gm2/gm2-libs-iso/RndFile.def:  fixed dates.
        * gm2/gm2-libs-iso/TextIO.def:  fixed dates.
        * gm2/p2c/p2c-src/src/decl.c:  handle new syntax
	  for optional function return value.

2008-09-07       Gaius Mulley <gaius@gnu.org>

        * gm2/examples/cplusplus/cppcatchm2:  new directory
	  containing an example of C++ catching a Modula-2
	  exception.
        * gm2/examples/cplusplus/m2catchcpp:  new directory
	  containing an example of Modula-2 catching a C++
	  exception.

2008-09-06       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Swig.mod:  modified so that it
	  produces a C++ style swig interface.  Also modified
	  to include the language independent exception code.
        * gm2/examples/swig/full-strlib/Makefile:  modified
	  swig command line to use C++ style interface.
        * gm2/examples/swig/strlib/Makefile:  modified
	  swig command line to use C++ style interface.
	* gm2/examples/swig/tiny/Makefile:  modified
	  swig command line to use C++ style interface.
	* gm2/examples/swig/exceptions:  new example which
	  demonstrates Python catching a GNU Modula-2
	  exception.

2008-09-05       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/gm2lorder.mod:  Usage now writes
	  out the default list of system modules.
	* gm2/gm2.texi:  documented new flag (-fruntime-modules=).
        * gm2/gm2-compiler/M2Quads.mod:  added prototypes for
	  BuildRTExceptEnter and BuildRTExceptLeave.  Also
	  added exception handling for module initialization
	  and finalization blocks.
        * gm2/gm2-compiler/gm2lorder.mod:  Usage now prints
	  the default settings.

2008-09-04       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  replaced gm2lsub with gm2lorder.
	  now build and install M2 ISO modules, M2EXCEPTION.mod,
	  EXCEPTIONS.mod and Storage.mod.
	* gm2/Makefile.in:  replaced gm2lsub with gm2lorder.
	* gm2/gm2spec.c:  tidied up static function declarations.
	  Added ability to remember link arguments and return these
	  as a string to lang-specs.h.
	* gm2/lang-specs.h:  replaced gm2lsub with gm2lorder.
	  Tidied up dates.  pass linkargs to gm2lorder.  Also pass
	  -fruntime-modules= to gm2lorder.
	* gm2/gm2-compiler/Indexing.def:  tidied up dates.
	* gm2/gm2-compiler/Indexing.mod:  tidied up dates.
	* gm2/gm2-compiler/M2Base.mod:  ensure that the runtime
	  module (RTExceptions) is parsed.
	* gm2/gm2-compiler/M2GenGCC.mod:  implement (CodeSaveException)
	  and (CodeRestoreException).  Call these procedures
	  appropriately.
	* gm2/gm2-compiler/M2Quads.mod:  add SaveExceptionOp and
	  RestoreExceptionOp to the repetoir of quadruples.
	  (BuildRTExceptEnter) new function.  (BuildRTExceptLeave)
	  new function.
	* gm2/gm2-compiler/gm2lcc.mod:  tidied up dates.  Fixed off
	  by one bug when testing for '-l'.  Added test for '-L'.
	* gm2/gm2-compiler/gm2lgen.mod:  fixed bug in writing out
	  DefaultErrorCatch prototype.  Fixed cast bugs.
	* gm2/gm2-libs/RTExceptions.def:  (IsInExceptionState),
	  (SetExecptionState), (SwitchExceptionState),
	  (GetBaseExceptionBlock) new procedures defined.
	* gm2/gm2-libs/RTExceptions.mod:  (IsInExceptionState),
	  (SetExecptionState), (SwitchExceptionState),
	  (GetBaseExceptionBlock) new procedures implemented.
        * gm2/gm2-libs/SYSTEM.def:  fixed dates.
	* gm2/gm2-libs-coroutines/SYSTEM.def:  added THROW
	  to export list.
	* gm2/gm2-libs-iso/COROUTINES.mod:  fixed dates.
        * gm2/gm2-libs-iso/EXCEPTIONS.mod:  fixed dates.
	  Completed implementing the module.
        * gm2/gm2-libs-iso/M2EXCEPTION.mod:  completed implementing
	  the module.
	* gm2/gm2-libs-iso/M2RTS.def:  fixed dates.
	* gm2/gm2-libs-iso/Storage.mod:  completed implementing
	  the module.
	* gm2/gm2-libs-min/SYSTEM.def:  added THROW
	  to export list.
	* gm2/ulm-lib-gm2/sys/SYSTEM.def:  fixed dates and added THROW
	  to export list.
	* gm2/gm2-compiler/gm2lsub.mod:   removed file.
	* gm2/gm2-compiler/gm2lorder.mod:   new file (a placement for
	  gm2lsub.mod).

2008-08-23       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  replaces list of checking flags with
	  -fcheck-all.
	* gm2/TODO:  corrected sentance.
	* gm2/lang-options.h:  introduced new option, -fdiv-mod-rem.
	* gm2/gm2-compiler/M2Base.def:  ExceptionNonPosDiv,
	  ExceptionNonPosMod, ExceptionZeroDiv, ExceptionZeroRem new
	  exception handlers defined.
	* gm2/gm2-compiler/M2Base.mod:  ExceptionNonPosDiv,
	  ExceptionNonPosMod, ExceptionZeroDiv, ExceptionZeroRem new
	  exception handlers implemented.
        * gm2/gm2-compiler/M2GenGCC.def:  export
	  LValueToGenericPtr and ZConstToTypedConst.
	* gm2/gm2-compiler/M2GenGCC.mod:  removed (p2c) forward
	  declarations for LValueToGenericPtr and ZConstToTypedConst.
	* gm2/gm2-compiler/M2Options.def:  defined and export
	  DivModRemChecking.
	* gm2/gm2-compiler/M2Options.mod:  implement detection of
	  -fdiv-mod-rem.
	* gm2/gm2-compiler/M2Quads.mod:  (CheckDivModRem) new procedure.
	  (BuildBinaryOp) call CheckDivModRem.
	* gm2/gm2-compiler/M2Range.def:  define InitWholeNonPosDivCheck,
          InitWholeNonPosModCheck, InitWholeZeroDivisionCheck and
          InitWholeZeroRemainderCheck.
        * gm2/gm2-compiler/M2Range.mod:  implement InitWholeNonPosDivCheck,
          InitWholeNonPosModCheck, InitWholeZeroDivisionCheck and
          InitWholeZeroRemainderCheck.
	* gm2/gm2-libs/M2RTS.def:  define new exception handlers:
          WholeNonPosDivException, WholeNonPosModException,
          WholeZeroDivException and WholeZeroRemException.
        * gm2/gm2-libs/M2RTS.mod:  implement new exception handlers:
          WholeNonPosDivException, WholeNonPosModException,
          WholeZeroDivException and WholeZeroRemException.
	* gm2/gm2-libs-iso/M2RTS.def:  defined new exception handlers:
          WholeNonPosDivException, WholeNonPosModException,
          WholeZeroDivException and WholeZeroRemException.
	* gm2/gm2-libs-iso/M2RTS.mod:  implemented new exception
	  handlers WholeNonPosDivException, WholeNonPosModException,
          WholeZeroDivException and WholeZeroRemException.
        * gm2/gm2-libs-iso/SYSTEM.def:  export THROW.
	* gm2/ulm-lib-gm2/std/M2RTS.mod:  implement new exception
	  handlers WholeNonPosDivException, WholeNonPosModException,
          WholeZeroDivException and WholeZeroRemException.

2008-08-16       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2spec.c:  set linking to false if -S flag was seen.
	* gm2/examples/cpp/Makefile:  altered flag from -Wcpp to -fcpp.
	* gm2/examples/pthread/libcwrap.c:  (_M2_libcwrap_finish) new
	  function stub.
	* gm2/gm2-compiler/M2BasicBlock.mod:  preserve InitStart, InitEnd,
	  FinallyStart, FinallyEnd quadruples during basic block elimination.
	* gm2/gm2-compiler/M2Quads.def:  (IsInitStart) (IsInitEnd)
	  (IsFinallyStart) (IsFinallyEnd) new functions defined and exported.
        * gm2/gm2-compiler/M2Quads.mod:  (IsInitStart) (IsInitEnd)
	  (IsFinallyStart) (IsFinallyEnd) new functions implemented.
        * gm2/gm2-libs-coroutines/KeyBoardLEDs.c:  (_M2_KeyBoardLEDs_init)
	  (_M2_KeyBoardLEDs_finish)  new functions.
	* gm2/gm2.texi:  changed configure example to include the build of
	  c++.

2008-08-15       Gaius Mulley <gaius@gnu.org>

        * gm2/gm2/Make-lang.in:  include gm2/config-make for TARGET_SUBDIR
	  macro.  Link stage2 and stage3 cc1gm2 against libstdc++.a.
        * gm2/config-lang.in:  require target-libstdc++-v3.  Also generate
	  gm2/config-make during configure.
	* gm2/gm2spec.c:  (add_lstdcpp) new function which is called if
	  linking.
	* gm2/lang-specs.h:  gm2lgen enable generation of C++ main via -cpp.
	  Change references to %g.c to %g.cpp.
	* gm2/p2crc:  define ThrowName.
	* gm2/gm2-compiler/gm2lcc.mod:  correctly initialise LibrariesFound
	  to FALSE.
	* gm2/gm2-compiler/gm2lgen.mod:  introduced new switch -cpp which
	  informs gm2lgen to generate a C++ main with a try catch dispatcher.
	* gm2/gm2-libs/M2RTS.mod:  fixed space.
	* gm2/gm2-libs/RTExceptions.def:  define BaseExceptionsThrow and
	  DefaultErrorCatch.
	* gm2/gm2-libs/RTExceptions.mod:  implement BaseExceptionsThrow and
	  DefaultErrorCatch.  Also fixed PushHandler and PopHandler.
	* gm2/gm2-libs-boot/SYSTEM.def:  tidied up header comment.
	* gm2/p2c/p2c-src/src/decl.c:  removed spaces.
	* gm2/p2c/p2c-src/src/funcs.c:  (proc_throw) new function.
	* gm2/p2c/p2c-src/src/trans.h:  define name_THROW.
	* gm2/make-config.in:  new file.

2008-08-11       Gaius Mulley <gaius@gnu.org>

        * gm2/bnf/m2-3.bnf:  call BuildReThrow after statement sequence
	  in an exception block.
        * gm2/gm2-compiler/M2GenGCC.mod:  implement rethrow.
        * gm2/gm2-compiler/M2Quads.def:  (BuildReThrow) define and export.
        * gm2/gm2-compiler/M2Quads.mod:  (BuildReThrow) implemented.
        * gm2/gm2-libs/M2RTS.mod:  fixed dates.

2008-08-09       Gaius Mulley <gaius@gnu.org>

        * gm2/Make-lang.in:  added gt dependancies for gm2builtins.h
	  and gm2except.h.  Added rules and dependancies to build
	  gm2except.c and link it to cc1gm2.  Updated GM2DISTFILES.
        * gm2/config-lang.in:  updated gtfiles to include gm2except.c
	  and gm2builtins.c.
        * gm2/gccgm2.c:  updated dates.  Updated prototype (removed
	  PARAMS).  (gimplify_expr_stmt) new function.
	  (genericize_try_block) new function.  (genericize_catch_block)
	  new function.  (init_m2_builtins) call gm2except_InitExceptions.
        * gm2/gm2-tree.def:  define TRY_BLOCK, HANDLER, EXPR_STMT nodes.
        * gm2/gm2-tree.h:  (TRY_STMTS), (TRY_HANDLERS), (FN_TRY_BLOCK_P),
	  (HANDLER_PARMS), (HANDLER_BODY), (HANDLER_TYPE),
	  (STMT_EXPR_STMT), (EXPR_STMT_EXPR) new macros.
        * gm2/gm2.texi:  minor cosmetic changes.  Also heavily altered
	  exception handling internal section to reflect using C++
	  tree nodes rather than setjmp/longjmp mechanism.
        * gm2/gm2builtins.c:  added GTY(()) clauses to global tree
	  variables and imported appropriate GTY related header files.
	  This has probably fixed a number of garbage collection bugs.
        * gm2/m2pp.c:  major changes to allow this file to be built and
	  linked to cc1plus as well as cc1gm2.  (m2pp_print_char),
	  (m2pp_try_block), (m2pp_cleanup_point_expr), (m2pp_handler),
	  (m2pp_try_catch_expr), (m2pp_throw), (m2pp_catch_expr),
	  (m2pp_try_finally_expr), (m2pp_if_stmt),
	  (m2pp_compound_expression), (m2pp_target_expression) new
	  functions.
        * gm2/bnf/m2-2.bnf:  (PutExceptionFinally), (PutExceptionBlock),
	  (GetCurrentScope) call these building functions when parsing
	  source.  (RetryStatement) new separate rule.
	  (InitialBlock), (FinalBlock) new rules.
        * gm2/bnf/m2-3.bnf:  (RetryStatement) new separate rule.
        * gm2/bnf/m2-h.bnf:  (RetryStatement) new separate rule.
        * gm2/bnf/m2-2.bnf:  (RetryStatement) new separate rule.
        * gm2/gm2-compiler/M2Base.def:  added space.
        * gm2/gm2-compiler/M2BasicBlock.mod:  (ConvertQuads2BasicBlock)
	  updated to understand about CatchBegin and CatchEnd quads.
        * gm2/gm2-compiler/M2GenGCC.mod:  (CodeTry), (CodeCatchBegin),
	  (CodeCatchEnd), (CodeRetry), (CodeThrow) new procedures.
        * gm2/gm2-compiler/M2Optimize.def:  fixed dates.
        * gm2/gm2-compiler/M2Optimize.mod:  fixed dates.
        * gm2/gm2-compiler/M2Quads.def:  (IsCatchBegin), (IsCatchEnd)
	  new functions defined and exported.
        * gm2/gm2-compiler/M2Quads.mod:  (BuildThrowProcedure) new
	  procedure.  (IsUnConditional)  understands ThrowOp and RetryOp.
          (WriteQuad) displays ThrowOp.  (IsQuadA) new function which
	  allows (IsCall), (IsReturn), (IsNewLocalVar), (IsKillLocalVar),
	  (ProcedureScope) to be refactored.  (IsCatchBegin),
	  (IsCatchEnd), new functions.  (BuildExceptInitial) new
	  procedure.  (BuildExceptFinally) new procedure.
	  (BuildExceptProcedure) new procedure.  (BuildRetry) new
	  procedure.
        * gm2/gm2-compiler/M2System.def:  fixed dates.  (Throw) exported.
	  (IsPseudoSystemProcedure) exported.
        * gm2/gm2-compiler/M2System.mod:  initialize Throw, implement
	  IsPseudoSystemProcedure.
        * gm2/gm2-compiler/SymbolTable.def:  (PutExceptionBlock),
	  (HasExceptionBlock), (PutExceptionFinally),
	  (HasExceptionFinally) defined and export new procedures.
        * gm2/gm2-compiler/SymbolTable.mod:  (PutExceptionBlock),
	  (HasExceptionBlock), (PutExceptionFinally),
	  (HasExceptionFinally) new procedures implemented.
        * gm2/gm2-compiler/gccgm2.def:  (BuildTryCatch),
	  (BuildThrow) new functions defined.
        * gm2/gm2-libs/M2RTS.mod:  explicitly qualify RTExceptions.Raise.
        * gm2/gm2-libs/SYSTEM.def:  export new internal procedure THROW.
	  (THROW) defined.
        * gm2/tools-src/createUlmSys:  fixed dates.

2008-07-10       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2builtins.c:  added support for return_address
	  and frame_address as builtins.
	* gm2/gm2-libs/Builtins.def:  defined return_address
	  and frame_address.
	* gm2/gm2-libs/Builtins.mod:  defined return_address
	  and frame_address to their GCC builtin counterparts.
	* gm2/gm2-tree.def:  defined THROW_EXPR node for Modula-2.

2008-07-07       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  add new rules for building shared
	  libraries with -O2 and -O0.  They are now stored in
	  separate directories and gm2 will link against the
	  appropriate variety given the command line options.
	* gm2/NEWS:  updated to reflect 0.63 and the new features.
	* gm2/TODO:  updated and removed completed tasks and introduced
	  new tasks.
	* gm2/gm2.texi:  updated internal runtime section which
	  now matches the new exception handling code.  Also
	  introduced a section on how exception handling is implemented
	  in GNU Modula-2 (using the setjmp/longjmp mechanism).
	* gm2/gm2builtins.c:  added setjmp, longjmp to the builtins.
	* gm2/gm2spec.c:  detect -O2 and modify the link path accordingly.
	* gm2/m2.flex:  add RETRY and EXCEPT keywords.
	* gm2/m2pp.c:  fixed pretty printing of GCC Trees (in Modula-2
	  syntax) so that nested procedures are displayed correctly.
	* gm2/bnf/gm2l.bnf:  add RETRY and EXCEPT keywords.
	* gm2/bnf/gm2m.bnf:  add RETRY and EXCEPT keywords.
	* gm2/bnf/m2-2.bnf:  add RETRY and EXCEPT keywords.
	* gm2/bnf/m2-3.bnf:  add RETRY and EXCEPT keywords.
	* gm2/bnf/m2-h.bnf:  add RETRY and EXCEPT keywords.
	* gm2/bnf/m2.bnf:  add RETRY and EXCEPT keywords.
	* gm2/el/g-mode.el:  add indent support for EXCEPT block.
	* gm2/gm2-compiler/M2ALU.def:  fixed date in comment.
	* gm2/gm2-compiler/M2ALU.mod:  fixed date in comment.
	* gm2/gm2-compiler/M2GCCDeclare.def:  fixed date in comment.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  fixed date in comment.
	* gm2/gm2-compiler/M2GenGCC.def:  fixed date in comment.
	* gm2/gm2-compiler/M2GenGCC.mod:  fixed date in comment.
	* gm2/gm2-compiler/M2Quads.def:  introduced BuildExcept
	  procedures.
	* gm2/gm2-compiler/M2Quads.mod:  implement BuildExcept
	  procedures.  Fixed GetNextQuad to do this and not skip
	  a DummyOp quadruple.   Except block builds a local
	  nested procedure for the exception block.  The
	  retry code is currently broken.
	* gm2/gm2-compiler/M2Reserved.def:  added RetryTok and
	  ExceptTok.
	* gm2/gm2-compiler/NameKey.def:  fixed spacing.
	* gm2/gm2-libs/Break.mod:  fixed comment.
	* gm2/gm2-libs/Builtins.def:  define and export longjmp
	  and setjmp.
	* gm2/gm2-libs/M2EXCEPTION.def:  fixed comment dates.
	* gm2/gm2-libs/M2RTS.def:  fixed comment dates.
	* gm2/gm2-libs/RTExceptions.def:  fixed indentation.
	* gm2/tools-src/createUlmSys:  now creates a
	  _M2_SYSTEM_finish section to the C SYSTEM implementation
	  module.
	* gm2/ulm-lib-gm2/sys/termios.c:  added a
	  _M2_termios_finish section.
	* gm2/gm2builtins.c:  fixed bug in longjump prototype and
	  included setjmp into the table of builtins.  Also fixed
	  gm2builtins_BuildBuiltinTree to set the last function
	  to NULL_TREE if the function returns void.
	* gm2/gm2-compiler/M2GenGCC.mod:  refactored CodeDirectCall.
	* gm2/gm2-libs/Builtins.def:  added comment about internal
	  longjmp's restriction.
	* gm2/gm2-libs/libc.def:  added setjmp/longjmp definitions.

2008-07-02       Gaius Mulley <gaius@gnu.org>

	* fixed bugs reported by:  Erik Irsch <eirsch@yahoo.de>.
	* gm2/gm2-libs/FIO.mod::ReadNBytes:  changed local
	  variable to INTEGER from CARDINAL.
	* gm2/gm2-libs-pim/FileSystem.mod:  modified all read
	  routines to set eof if res is notdone.  Also modified
	  so that lastByte is only set if res = done.

2008-06-28       Gaius Mulley <gaius@gnu.org>

	* fixed bug reported by Jim Cox which was exposed by
	  using unbounded arrays inside proc types.
	* gm2/gm2-compiler/SymbolTable.def:  add isUnbounded
	  as a parameter to PutProcTypeParam.
	* gm2/gm2-compiler/SymbolTable.mod:  use isUnbounded
	  when creating a ParamType.
	* gm2/gm2-compiler/P2SymBuild.mod:  pass a boolean
	  as the third parameter indicating whether parameter
	  was declared as an unbounded array.

2008-06-24       Gaius Mulley <gaius@gnu.org>

	* gm2/el/g-mode.el:  fixed auto indentation for the keyword
	  EXCEPT.
	* gm2/gm2builtins.c:  added support for setjmp and longjmp.
	* gm2/gm2-compiler/gm2builtins.def:  added definitions for
	  setjmp and longjmp.
	* gm2/gm2-libs/Builtins.{def,mod}:  added definitions for
	  setjmp and longjmp.

2008-06-16       Gaius Mulley <gaius@gnu.org>

	* gm2/el/g-mode.el:  fixed auto indentation for the keyword
	  FINALLY.
	* gm2/gm2spec.c:  enabled -O2 -fshared options.

2008-06-15       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-ch/Selective.c:  added finish function.
	* gm2/examples/svga/Transform.mod:  tidied up comment.
	* gm2/examples/svga/testbox.mod:  tidied up formatting.
	* gm2/gm2-libs/UnixArgs.def:  fixed dates.
	* gm2/gm2-libs-ch/StdIO.c:  added finish function.
	* gm2/gm2-libs-ch/Storage.c:  added finish function.
	* gm2/gm2-libs-ch/UnixArgs.c:  added finish function.
	* gm2/gm2-libs-ch/choosetemp.c:  added finish function.
	* gm2/gm2-libs-ch/libc.c:  added finish function.
	* gm2/gm2-libs-ch/sckt.c:  added finish function.
	* gm2/gm2-libs-ch/wrapc.c:  added finish function.

2008-06-14       Michael Lambert <lambert@psc.edu>

	* gm2/Make-lang.in:  invoke bash explicity due to
	  Ubuntu Hardy Heron (and others) using /bin/dash
	  as /bin/sh rather than /bin/bash.

2008-06-12       Gaius Mulley <gaius@gnu.org>

	* examples/swig/tiny:  new examples showing the
	  behaviour of FINALLY within a shared library.
	* gm2/gm2/gccgm2.c:  modify gccgm2_BuildCallInnerInit
	  to gccgm2_BuildCallInner.
	* gm2/gm2/bnf/gm2l.bnf:  modify grammer to
	  understand the keyword FINALLY.
	* gm2/gm2/bnf/gm2m.bnf:  modify grammer to
	  understand the keyword FINALLY.
	* gm2/gm2/bnf/m2-3.bnf:  modify grammer to
	  support FINALLY.
	* gm2/gm2/examples/swig/strio/teststrio.py:
	  fix bug when calling WriteLn
	* gm2/gm2/gm2-compiler/M2AsmUtil.def:  export
          GetModuleFinallyName.
	* gm2/gm2/gm2-compiler/M2AsmUtil.mod:  implement
	  GetModuleFinallyName.
	* gm2/gm2/gm2-compiler/M2GCCDeclare.mod:  declare
	  finally function for each module.
	* gm2/gm2/gm2-compiler/M2GenGCC.mod:  CodeFinallyStart,
	  CodeFinallyEnd new functions.
	* gm2/gm2/gm2-compiler/M2Optimize.mod:  make optimizer
	  understand new quadruples.
	* gm2/gm2/gm2-compiler/M2Quads.def:  added
	  InitStartOp, InitEndOp, FinallyStartOp and FinallyEndOp.
	  Export StartBuildFinally, EndBuildFinally.
	* gm2/gm2/gm2-compiler/M2Quads.mod:  introduced
          InitStartOp, InitEndOp, FinallyStartOp and FinallyEndOp.
	  Modified StartBuildInit, EndBuildInit to use InitStartOp
	  and InitEndOp.  StartBuildFinally, EndBuildFinally new
	  procedures.  Modified AsmStartementsInBlock.
	* gm2/gm2/gm2-compiler/M2Scope.mod:  modified to search
	  for blocks using InitStartOp, InitEndOp, FinallyStartOp
	  and FinallyEndOp as markers.
	* gm2/gm2/gm2-compiler/M2SubExp.mod:  modified EndOp, StartOp
	  to InitStartOp, InitEndOp, FinallyStartOp and FinallyEndOp.
	* gm2/gm2/gm2-compiler/SymbolTable.def:  exported
	  PutModuleFinallyStartQuad, GetModuleFinallyStartQuad.
	  Modified GetModuleQuads to return finally range.
	* gm2/gm2/gm2-compiler/SymbolTable.mod:  added StartFinishQuad,
	  EndFinishQuad and FinallyFunction to module fields.
	* gm2/gm2/gm2-compiler/gccgm2.def:  modified BuildCallInnerInit
	  to BuildCallInner.
	* gm2/gm2/gm2-compiler/gm2lgen.mod:  uncommented the
	  calls to the final function in each module.
	* gm2/gm2/gm2-libs/FIO.mod:  uncommented the FINALLY
	  clause.
	* gm2/gm2/gm2-libs/StrIO.mod:  tidied up formatting and
	  updated dates.

2008-06-06       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2/m2.flex:  added FINALLY keyword.
	* gm2/gm2/p2crc:  added _M2_%s_fini function template name.
	* gm2/gm2/bnf/m2-2.bnf:  added FINALLY keyword and altered grammar.
	* gm2/gm2/bnf/m2-3.bnf:  added FINALLY keyword and altered grammar.
	* gm2/gm2/bnf/m2-h.bnf:  added FINALLY keyword and altered grammar.
	* gm2/gm2/bnf/m2.bnf:  added FINALLY keyword and altered grammar.
	* gm2/gm2/gm2-compiler/M2Reserved.def:  added FINALLY keyword.
	* gm2/gm2/gm2-compiler/M2Reserved.mod:  added FINALLY to the set of
	  keywords.
	* gm2/gm2/gm2-libs/FIO.mod:   added commented code to use the
	  FINALLY construct.  This will be enabled once all the changes are
	  complete.
	* gm2/gm2/p2c/p2c-src/src/decl.c:  set new field isfinally to FALSE.
	* gm2/gm2/p2c/p2c-src/src/lex.c:  add new FINALLY keyword.
	* gm2/gm2/p2c/p2c-src/src/p2crc:  also added skeleton function name.
	* gm2/gm2/p2c/p2c-src/src/parse.c:  added new flags to determine
	  whether the block is in the initialization or finalization section.
	  Modified p_body accordingly.  Added routines to generate the
	  finally function.
	* gm2/gm2/p2c/p2c-src/src/trans.h: added FINALLY as a keyword to p2c.

2008-06-04       Gaius Mulley <gaius@gnu.org>

        * gm2/gm2/Make-lang.in:  added RealMath to the
	  GM2-LIBS-ISO-MODS list.
      	* gm2/gm2/gm2.texi:  added description of
	  -fdump-system-exports, -fswig, -fmakeinit and
	  modified description of -I and -fobject-path to
	  reflect changes.
	* gm2/gm2/gm2spec.c:  add -fobject-path if user has
	  omitted it.
	* gm2/gm2/gm2-libs-iso/RealMath.def:  use builtins
	  if possible.
	* gm2/gm2/gm2-libs-iso/RealMath.mod:  implementation
	  to use builtins if possible.  Implemented ln.

2008-06-03       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-file.in:  introduce GM2_ISO_FLAGS.  Fixed spelling
	  for GM2-LIBS-ISO-MODS, modified ISO library building rule.
	* gm2/gm2.texi:  updated documentation date stamp.
	* gm2/gm2-libs-iso/ChanConsts.mod:  fixed date.
	* gm2/gm2-libs-iso/CharClass.mod:  fixed import bug.
	* gm2/gm2-libs-iso/ConvTypes.mod:  fixed date.
	* gm2/gm2/gm2-libs-iso/LongMath.mod:  fixed date.
	* gm2/gm2/gm2-libs-iso/RealMath.mod:  fixed date.
	* gm2/gm2-libs-iso/M2RTS.def:  export HasHalted, IsTerminating.
	* gm2/gm2-libs-iso/M2RTS.mod:  implemented HasHalted, IsTerminating
	  and use CardToStr rather than ConvertCardinal.
	* gm2/gm2-libs-iso/README.texi:  updated dates and also which modules
	  are complete.
	* gm2/gm2-libs-iso/Strings.mod:  new file.

2008-05-29       Gaius Mulley <gaius@gnu.org>

	* gm2/patches/gcc/4.1.2/04.gaius_patch_gcc:  new file.
        * gm2/examples/swig/full-strlib/testnum.py:  modified print.
	* gm2/Make-lang.in:  tidied up formatting and added
	  ability to generate and install shared library
	  versions of the pim libraries.
	* gm2/gm2-lang.c:  corrected dates.
	* gm2/gm2-lang.h:  corrected dates.
	* gm2/gm2.texi:  new section index, how to produce
	  swig interface files.  Documented -I, -fobject-path=
	  and -fmodules flags.  Added new section
          "How to produce swig interface files".
	* gm2/gm2spec.c:  corrected dates and added ability
	  to force no linking to be done by ld/collect.
	  Also added ability to collect all object files.
	  Introduced styles of libraries (shared libraries,
	  libraries compiled with debugging and optimization
	  switches turned on/off).  Front end will now
	  generate a -fobject-path= option if one is not
	  provided.  Fixed several warnings.
	* gm2/gm2spec.c:get_objects.  new function.
	* gm2/gm2spec.c:get_style.  new function.
	* gm2/gm2spec.c:no_link.  new function.
	* gm2/lang-options.h:  -fshared, -fmakeinit, -fobject-path=
	  all introduced.
	* gm2/lang-specs.h:  modified to enable position independant
	  code to be created and linked against.  Also modified to
	  reflect change in arguments needed in subsidiary linking
	  programs.
	* gm2/lang.opt:  list of options includes:  fshared, fmakeinit
	  and fobject-path=.
	* gm2/examples/executive/Makefile:  modified to utilise
	  -fobject-path=.
	* gm2/examples/ncurses/ColorText.mod:  fixed bug caught by the
	  new stricter compatibility rules.
	* gm2/examples/ncurses/WindowDevice.mod:  fixed another bug
	  caught by the new stricter compatibility rules.
	* gm2/examples/pthread/Makefile:  changed -Wmakeall to -fmakeall.
	* gm2/examples/svga/Makefile:  changed -Wmakeall to -fmakeall.
	* gm2/examples/swig/full-strlib/Makefile:  removed many rules
	  now that automatic linking has been implemented.
	* gm2/examples/swig/strlen/Makefile:  changed StrLib to
	  MyStrLib to avoid a name clash.
        * gm2/examples/swig/strlen/testlen.py:  changed StrLib to
	  MyStrLib.
	* gm2/examples/swig/strlib/MyStrLib.{def,mod}:  new files.
	* gm2/examples/swig/strlib/StrLib.{def,mod}:  removed.
	* gm2/gm2-compiler/M2BasicBlock.mod:  fixed dates.
	* gm2/gm2-compiler/M2Quads.mod:  implemented
          IsProcedureScope.
	* gm2/gm2-compiler/M2Quads.def:  defined
          IsProcedureScope.
        * gm2/gm2-compiler/M2Swig.mod:  now explores basic blocks
	  of each external procedure to see if parameters are
	  in, out or inout.  It also states whether a parameter
	  direction is unknown or likely to be in, out or inout.
        * gm2/gm2-compiler/gm2lcc.mod:  now understands -shared
	  and -fshared and passes all -f options to gcc.
        * gm2/gm2-compiler/gm2lgen.mod:  fixed dates and understands
	  -fshared.
        * gm2/gm2-libs/FIO.{def,mod}:  improved comment.
	* gm2/gm2-libs/FpuIO.def:  fixed date and comments.
	* gm2/www/index.ms:  updated web page to say documentation
	  is built nightly.

2008-05-08       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  tidied up English and fixed a node
	  label.
	* gm2/gm2-compiler/P2SymBuild.mod:  fixed bug reported
	  by Scott Iverson involving
	  ARRAY BOOLEAN OF ARRAY BOOLEAN OF BITSET.
	* gm2/gm2-compiler/SymbolTable.mod:  modified some of
	  the debugging hooks.

2008-05-07       Gaius Mulley <gaius@gnu.org>

        * gm2/examples/swig/full-strlib/Makefile:  added new
	  example rules.
        * gm2/gm2/gm2-compiler/M2GCCDeclare.mod:  improve
	  debugging information.
        * gm2/gm2/gm2-compiler/M2Quads.mod:  separated out
	  knowledge of read, write of LeftValues and RightValues.
	  Refactored EraseQuad and SubQuad.
        * gm2/gm2/gm2-compiler/M2Range.mod:  modified read, write
	  symbol information to determine whether LeftValue or RightValue.
        * gm2/gm2/gm2-compiler/M2SubExp.mod:  ditto.
        * gm2/gm2/gm2-compiler/M2Swig.mod:  ditto and also introduced
	  CalculateVarDirective which attempts to determine whether
	  a VAR paramete is used for INPUT, OUTPUT or INOUT.
        * gm2/gm2/gm2-compiler/SymbolTable.def:  provide symbol
	  read write quad procedure calls with LeftValue or RightValue
	  information.
        * gm2/gm2/gm2-compiler/SymbolTable.mod:  implement above.
        * gm2/gm2/gm2-libs/NumberIO.mod:  tidied up comments and
	  spacing.
        * gm2/gm2/gm2-libs/TimeString.mod:  tidied up comments.


2008-05-06       Michael Lambert <lambert@psc.edu>

	* gm2/patches/gcc/4.1.2/03.michael_i386:  new file
	  which patches gcc/config/i386/i386.c.

2008-05-04       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/gm2lgen.mod:  fixed name at end of
	  procedure.

2008-05-03       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/gm2lgen.mod:  replaced NULL for (void *)0.

2008-05-02       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Swig.{def,mod}:  new files.
	  Checked in this time.
	* gm2/gm2-compiler/gm2lgen.mod:  added and implemented
	  the -shared option.
	* gm2/gm2-compiler/gm2lgen.mod:  fixed finish function
	  parameter mismatch.

2008-05-02       Gaius Mulley <gaius@gnu.org>

        * gm2/Make-lang.in:  added rules for M2Swig.def and
	  M2Swig.mod.
	* gm2/lang.opt:  added new option -fswig.
	* gm2/gm2-compiler/M2Code.mod:  import GenerateSwigFile
	  and call it appropriately.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  improved debugging
	  of subranges.
	* gm2/gm2-compiler/M2Options.def:  added GenerateSwig.
	* gm2/gm2-compiler/M2Options.mod:  implemented case to
	  test for -fswig which sets GenerateSwig to TRUE.
	* gm2/gm2-compiler/SymbolTable.def:  export
	  IsParameterUnbounded, IsParameterVar.
	* gm2/gm2-compiler/SymbolTable.mod:  implemented above
	  procedures.
	* gm2/init/gm2-gccinit:  added reference to M2Swig.
	* gm2/examples/swig/{full-strlib,strlen,strlib}:  new
	  directories.
	* gm2/examples/swig/full-strlib/{Makefile,testcopy.py,
	  testequ.py,testlen.py}:  new files.
	* gm2/examples/swig/strlen/{Makefile,StrLib.def,StrLib.i,
	  StrLib.mod,testlen.py}:  new files.
	* gm2/examples/swig/strlib/{Makefile,StrLib.def,
	  StrLib.mod,testlen.py}:  new files.
	* gm2/gm2-compiler/M2Swig.{def,mod}:  new files which
	  implement an automatic way of producing swig interface
	  files from an implementation module.

2008-04-29       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  skip_type_decl in build constructor
	  functions.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  handle subscripts
	  in PrintVerbose routines.
	* gm2/gm2-compiler/M2GenGCC.mod:  detect unbounded
	  arrays of generic type and use memcpy rather than
	  assignment.
	* gm2/gm2/gm2-compiler/M2Quads.mod:  improved error
	  messages for unknown types at the end of functions.
	* gm2/gm2/gm2-compiler/M2System.def:  export
	  IsGenericSystemType.
	* gm2/gm2/gm2-compiler/M2System.mod:  implement
	  IsGenericSystemType.
	* gm2/gm2-compiler/SymbolTable.def:  export
	  IsPartialUnbounded.
	* gm2/gm2-compiler/SymbolTable.mod:  implement
	  IsPartialUnbounded and added PartialUnbounded
	  cases to GetSymName and GetDeclared.
	* fixed bug reported by James Cox.

2008-04-27       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  build_common_tree_nodes requesting
	  unsigned char type.
	* gm2/gm2-compiler/M2GenGCC.mod:  CalculateBase
	  must not assume GetType(Subscript) will always yield
	  a subrange.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  likewise
	  must not assume GetType(Subscript) will always yield
	  a subrange (the array might be declared as ARRAY CHAR
	  OF CHAR).
	* testsuite/gm2/pim/run/pass/For9.mod:  new file.

2008-04-26       Gaius Mulley <gaius@gnu.org>

	* gm2/lang-specs.h:  fixed cpp invocation by adding -o to
	  the command line.  This allows -fcpp to work again.
	* fixes all regression tests in
	  testsuite/gm2/switches/pim4/run/pass.

2008-04-25       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  fixed bug to
	  allow declaration such as ARRAY CHAR OF foo.
	  (Bug reported by Scott Iverson).
	* gm2/TODO:  updated.

2008-04-24       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  fixed bug reported
	  by Scott Iverson (unbounded array type was undeclared).
	* gm2/gm2.texi:  added draft section describing type
	  compatibility rules.
	* gm2/gm2-compiler/M2Quads.mod:  simplified BuildConvert
	* gm2/gm2-compiler/M2Range.mod:  removed REALs from being
	  range checked.
	* gm2/gm2-compiler/M2System.mod:  fixed bug in IsRealN
	* gm2/gm2-compiler/M2GenGCC.def:  export StrToChar
	* gm2/gm2-compiler/M2Range.mod:  import StringToChar
	  and use it in OutOfRange.  Modify OutOfRange to
	  take the Modula-2 expr and type so we can catch
	  CHAR constants or one character ConstLitStrings and
	  convert them to integers.
	  Fixes testsuite/gm2/pim/pass/arraychar.mod

2008-04-22       Gaius Mulley <gaius@gnu.org>

	* renamed SET8 to BITSET8, SET16 to BITSET16 and SET32 to
	  BITSET32.
	* gm2/gm2-compiler/M2System.mod:  implement SET8, SET16, SET32
	  fixed sized types.  Also implemented is AttemptToCreateSetType.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  declare fixed sized types.
	* gm2/gccgm2.c:  added build_m2_set8_type_node,
	  build_m2_set16_type_node and build_m2_set32_type_node.
	  Added ability to create fixed sized SET_TYPE types.
	  Added gccgm2_GetM2Set8, gccgm2_GetM2Set16 and gccgm2_GetM2Set32.
	* gm2/gm2-compiler/M2Base.mod:  added set8, set16, set32 and
	  included these into the assignment, expression and parameter
	  matrices.
	* gm2/gm2-compiler/gccgm2.def:  export GetM2Set8, GetM2Set16
	  and GetM2Set32.

2008-04-19       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2Range.mod:  fixed bug so that GetMinMax
	  returns FALSE if the type is a WORD or BYTE, LOC, WORD16 etc
	  and also returns FALSE if the type is a set.  This fixes
	  the bug in testsuite/gm2/iso/pass/testiso2.mod.
	* gm2/gm2-compiler/M2GenGCC.mod:  use AddStatement to connect
	  the case range check to the list of trees.  This fixes
	  testsuite/gm2/pim/run/fail/case.mod.

2008-04-18       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  included __COLUMN__ into documentation.
	* gm2/m2.flex:   added column field to lineInfo.
          Use column field to hold first token column position.
	  There by allowing testsuite/gm2/extensions/run/pass/column.mod
	  to pass.
	* testsuite/gm2/extensions/run/pass/gm2.exp:  fixed include path
	  which allows all these tests to pass.
	* testsuite/gm2/extensions/pass/gm2.exp:  fixed include path
	  which allows all these tests to pass.

2008-04-17       Gaius Mulley <gaius@gnu.org>

	* gm2/tools-src/makeSystem:  removed '-' from sed command
	  so that it is compatible with non GNU sed.

2008-04-16       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  modified rules relating to gm2.info
	  so that it is built in the $(objdir) directory.

2008-04-15       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added rules to build SYSTEM-pim.texi and
	  SYSTEM-iso.texi and Builtins.texi.  Rationalised rules.
	* gm2/gm2.texi:  include SYSTEM-pim.texi, SYSTEM-iso.texi and
	  Builtins.texi.
	* gm2/tools-src/def2texi.py:  extended to build individual files.
          Also extended to implement '-u', '-f' options.

2008-04-13       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-iso:  moved to
	* gm2/gm2-libs-iso:  instead
	* gm2/Make-lang.in:  altered source rules to reflect
	  changes in directory.
	* gm2/gm2/gm2-libs/SYSTEM.def:  added @SYSTEM_TYPES@
	  as a marker for gm2/tools-src/makeSystem to add
	  inbuilt types.
	* gm2/gm2/tools-src/def2texi.py:  modified to reflect
	  new directory.  Also allowed indices to be created
	  from opaque types.  Fixed unique module list bug.
	* gm2/tools-src/makeSystem:  adds opaque types to
	  SYSTEM.def

2008-04-12       Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/m2-2.bnf:  reverted patch from 2008-03-18
	  so that testsuite/pim/pass/impf.mod and
	  ulm-lib-gm2/std/GetPass.mod compile.
	* gm2/gm2-compiler/M2Base.mod:  TRUNC, TRUNCS and TRUNCL
	  are declared to return an unsigned value if -fpim2,
	  -fpim3 or -fiso are specified.  They return signed
	  values if -fpim4 is specified.
	* gm2/gm2-compiler/M2Range.mod:  dereferences L values
	  correctly in CodeAssignment.
	* gm2/ulm-lib-gm2/std/M2RTS.mod:  updated to export the
	  new exception handler procedures expected by gm2.
	* gm2/gm2-compiler/M2Base.mod:  use IsFloat and IsTrunc
	  rather compare Sym to function symbols in
	  IsPseudoBaseFunction.  Fixes six regression tests.
	* gm2/gm2-compiler/M2Range.mod:  avoid range checking
	  ADDRESS expressions.

2008-04-11       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-ch/sckt.c:  use memset, memcpy to avoid using
	  bcopy and bzero which were poisoned during make gm2.paranoid.
	* gm2/gccgm2.c:  fixed major bug in function call handling.
	* gm2/tools-src/makeSystem:  new file which creates SYSTEM.def
	  for the target which contains an export list of all supported
	  datatypes.
	* gm2/gm2-libs.texi:  removed as it will be built in the build
	  directory.
	* gm2/gm2-ebnf.texi:  removed as it will be built in the build
	  directory.
	* gm2/Make-lang.in:  build gm2/gm2-libs/SYSTEM.def,
	  gm2/gm2-ebnf.texi and gm2/gm2-libs.texi.
	* gm2/gm2-libs/RTExceptions.mod:  fixed circular list
	  initialization bug.
	* gm2/gm2-compiler/M2Range.mod:  fixed parameter order and type
	  when calling an exception handler.

2008-04-10       Gaius Mulley <gaius@gnu.org>

        * gm2/gm2/Make-lang.in:  added M2EXCEPTION.def RTExceptions.def
	  M2EXCEPTION.mod RTExceptions.mod to the list of library modules.
        * gm2/gm2/README:  fixed CVS command instruction.
        * gm2/gm2/gccgm2.c:  added gccgm2_GetM2Integer8, gccgm2_GetM2Integer16,
	  gccgm2_GetM2Integer32, gccgm2_GetM2Integer64, gccgm2_GetM2Cardinal8,
	  gccgm2_GetM2Cardinal16, gccgm2_GetM2Cardinal32, gccgm2_GetM2Cardinal64,
	  gccgm2_GetM2Word16, gccgm2_GetM2Word32, gccgm2_GetM2Word64,
	  gccgm2_GetM2Real32, gccgm2_GetM2Real64, gccgm2_GetM2Real96,
	  gccgm2_GetM2Real128, gccgm2_BuildIfThenDoEnd, gccgm2_BuildIfThenElseEnd,
	  gccgm2_IsTrue, gccgm2_IsFalse, gccgm2_GetTreeType, gccgm2_AddStatement,
          build_m2_specific_size_type, build_m2_integer8_type_node,
	  build_m2_integer16_type_node, build_m2_integer32_type_node,
	  build_m2_integer64_type_node, build_m2_cardinal8_type_node,
	  build_m2_cardinal16_type_node, build_m2_cardinal32_type_node,
	  build_m2_cardinal64_type_node, build_m2_word16_type_node,
	  build_m2_word32_type_node, build_m2_word64_type_node,
	  build_m2_real32_type_node, build_m2_real64_type_node,
	  build_m2_real96_type_node and build_m2_real128_type_node.
        * gm2/gm2/lang-options.h:  introduced -fdump-system-exports.
        * gm2/gm2/m2.flex:  added the token __COLUMN__ to gm2 (m2flex_GetColumnNo).
        * gm2/gm2/m2pp.c:  updated copyright dates.
        * gm2/gm2/gm2-compiler/Lists.def:  tidied up spacing.
        * gm2/gm2/gm2-compiler/M2Base.def:  added IsTrunc, IsFloat, ExceptionAssign,
	  ExceptionInc, ExceptionDec, ExceptionStaticArray, ExceptionDynamicArray,
	  ExceptionForLoopBegin, ExceptionForLoopTo, ExceptionForLoopEnd,
	  ExceptionPointerNil, ExceptionNoReturn, ExceptionCase, ExceptionNo.
        * gm2/gm2/gm2-compiler/M2Base.mod:  implemented above procedures and also
	  introduced assignment, expression and parameter passing matrices for
	  the new system types.
        * gm2/gm2/gm2-compiler/M2GCCDeclare.mod:  declare new fixed sized types.
        * gm2/gm2/gm2-compiler/M2GenGCC.def:  export GetHighFromUnbounded.
        * gm2/gm2/gm2-compiler/M2GenGCC.mod:  fixed the --fixme-- requests
	  surrounding scope naming for error messages.  Refactored
	  GetHighFromUnbounded.  Renamed ExpandExpressionStatement to
	  AddStatement.  Renamed BuildAssignment to BuildAssignmentTree.
	  use IsTrunc rather than comparing symbol to Trunc.
	  Introduced scope stack to identify scope name for better error
	  messages.
        * gm2/gm2/gm2-compiler/M2Options.def:  export DumpSystemExports.
        * gm2/gm2/gm2-compiler/M2Options.mod:  detect DumpSystemExports.
        * gm2/gm2/gm2-compiler/M2Quads.mod:  utilise IsFloat, IsTrunc,
	  removed GetTypeMinMax, use M2Range functions instead of
	  M2Quads versions.  Allow ADR("string").
        * gm2/gm2/gm2-compiler/M2Range.def:  modify CodeRangeCheck and
	  CodeErrorCheck.
        * gm2/gm2/gm2-compiler/M2Range.mod:  finished implementation.
        * gm2/gm2/gm2-compiler/M2System.def:  export IntegerN, CardinalN
	  WordN, RealN.
        * gm2/gm2/gm2-compiler/M2System.mod:  implemented above and also
	  implemented many support procedures.  Heavily refactored code.
        * gm2/gm2/gm2-compiler/P2SymBuild.mod:  fixed bug reported by
	  Scott Iverson (ARRAY OF importedType).  Type checking of
	  parameter types extended to embrace PedanticParamNames for
	  type names as well.
        * gm2/gm2/gm2-compiler/SymbolKey.def:  tidied up spacing.
        * gm2/gm2/gm2-compiler/SymbolKey.mod:  improved error message.
        * gm2/gm2/gm2-compiler/SymbolTable.def:  introduced isUnbounded
	  parameter into PutVarParam and PutParam.
        * gm2/gm2/gm2-compiler/SymbolTable.mod:  introduced PartialUnbounded
	  to fix the ARRAY OF importedType bug above.  New procedures,
	  PutPartialUnbounded, HandleHiddenOrDeclare, FillInUnboundedFields,
	  FillInUnknownFields.  Fixed bug to allow ARRAY OF proctype.
	  Refactored to utilise HandleHiddenOrDeclare.
        * gm2/gm2/gm2-compiler/gccgm2.def:  exported new data type functions.
	  Define IsTrue, IsFalse, BuildIfThenDoEnd,
	  BuildIfThenElseEnd, GetTreeType.
	  Renamed BuildAssignment to BuildAssignmentTree
	  and BuildProcedureCall to BuildProcedureCallTree
	  and ExpandExpressionStatement to AddStatement.
        * gm2/gm2/gm2-libs/M2RTS.def:  export new Exception handlers,
	  AssignmentException, IncException, DecException,
	  StaticArraySubscriptException, DynamicArraySubscriptException,
	  ForLoopBeginException, ForLoopToException, ForLoopEndException,
	  PointerNilException, NoReturnException, CaseException,
	  NoException.
	  Removed old exception handlers.
        * gm2/gm2/gm2-libs/M2RTS.mod:  implemented above by using
	  M2EXCEPTION and RTExceptions.
        * gm2/gm2/gm2-libs/SysStorage.mod:  tidied up spacing.
        * gm2/gm2/gm2-libs-boot/SYSTEM.def:  tidied up spacing.
        * gm2/gm2/init/gm2-gccinit:  added RTExceptions and M2EXCEPTION.
        * gm2/gm2/init/gm2lccinit:  added RTExceptions and M2EXCEPTION.
        * gm2/gm2/init/gm2lgeninit:  added RTExceptions and M2EXCEPTION.
        * gm2/gm2/init/gm2linit:  added RTExceptions and M2EXCEPTION.
        * gm2/gm2/init/gm2lsubinit:  added RTExceptions and M2EXCEPTION.
        * gm2/gm2/init/gm2minit:  added RTExceptions and M2EXCEPTION.
        * gm2/gm2/init/h2definit:  added RTExceptions and M2EXCEPTION.
        * gm2/gm2/init/ppginit:  added RTExceptions and M2EXCEPTION.
        * gm2/gm2/p2c/p2c-src/src/lex.c:  introduced __COLUMN__ to p2c.

2008-04-08       Peter Eiserloh <eiserlohpp@yahoo.com>

	* gm2/gm2.texi:  patch to correct directory name
	  in example script within building documentation.
	* gm2/gm2-libs-ch/wrapc.c:  patch to define the
	  clock variable as time_t, rather than void *.

2008-03-19       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2/gccgm2.c:  do not use GCC boolean type.
	* gm2/gm2-compiler/M2Base.def:  export IsOrd
	  remove Ord variable.  Define IsOrd.
	* gm2/gm2-compiler/M2Base.mod:  implement IsOrd, add
	  OrdL, OrdS.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  add debugging.
	  Fix bug in StartDeclareScope which failed to declare
	  subranges in definition modules.
	* gm2/gm2-compiler/M2Quads.mod:  allow BuildOrdFunction
	  to return SHORTCARD, LONGCARD, CARDINAL depending upon
	  which version of ORD[SL] is called.  Suppress range
	  checking of sets during assignment.
	* gm2/gm2/gm2-libs-pim/RealConversions.mod:  fix INTEGER
	  CARDINAL expression.
	* gm2/ulm-lib-gm2/std/Archive.mod:  fix LONGINT, INTEGER
	  expression.
	* gm2/ulm-lib-gm2/std/Calendar.mod:  fix LONGINT, INTEGER
	  expression.

2008-03-18       Gaius Mulley <gaius@gnu.org>

        * gm2/gm2/Make-lang.in:  added M2Range.{def, mod}
	* gm2/gm2/TODO:  updated.
	* gm2/gm2/gccgm2.c:  replaced gccgm2_GetM2ZRealType with
	  gccgm2_GetM2RType and removed dead code.
	* gm2/gm2/bnf/m2-2.bnf:  fixed bug in ConstSetOrQualidentOrFunction
	  which was pushing a non type symbol as a type cast.
	* gm2/gm2/el/g-mode.el:  updated Copyright dates.
	* gm2/gm2/gm2-compiler/M2ALU.def:  fixed header comment for function
	  Less.
	* gm2/gm2/gm2-compiler/M2Base.def:  exports ZType, RType.
	* gm2/gm2/gm2-compiler/M2Base.mod:  removed dead code and also type
	  mixing code.  Updated expression, assignment and parameter compatibilty
	  matrices to include Ztype and Rtype as per ISO standard.  Improved
	  error messages.
	* gm2/gm2/gm2-compiler/M2Error.mod:  fixed bug, warning messages
	  were emitted twice.
	* gm2/gm2/gm2-compiler/M2GCCDeclare.mod:  declare ZType, RType
	  and also call DeclareTypeInfo during block scope.
	* gm2/gm2/gm2-compiler/M2GenGCC.mod:  import and use range
	  checking code during code generation and quadruple folding.
	* gm2/gm2/gm2-compiler/M2Quads.def:  export debugging procedure,
	  WriteOperand.
	* gm2/gm2/gm2-compiler/M2Quads.mod:  import range checking
	  constructors.  Removed huge amount of quadruple based range
	  checking code and replaced it by specific RangeCheck and Error
	  quadruples.
	  Make calls to M2Range which define specific range checking to
	  be done during code generation.  This in turn allows limited
	  error based static analysis to be done when all constants
	  and type are resolved.
	* gm2/gm2/gm2-compiler/M2SubExp.mod:  fixed casts as the
	  compiler is now stricter when passing parameters.
	* gm2/gm2/gm2-compiler/P2SymBuild.def:  export SeenCast.
	* gm2/gm2/gm2-compiler/P2SymBuild.mod:  implemented SeenCast
	  and improved error message.
	* gm2/gm2/gm2-compiler/SymbolKey.mod:  removed debugging code.
	* gm2/gm2/gm2-compiler/SymbolTable.mod:  import ZType and RType,
	  tidied up GetLowestType and made const literal types comply
	  with ZType and RType.
	* gm2/gm2/gm2-compiler/bnflex.mod:  changed types of local
	  variables to avoid INTEGER, CARDINAL incompatibilities.
	* gm2/gm2/gm2-compiler/gccgm2.def:  provided GetM2RType function.
	* gm2/gm2/gm2-libs/DynamicStrings.mod:  fixed many INTEGER, CARDINAL
	  incompatibilities.
	* gm2/gm2/gm2-libs/FormatStrings.mod:  fixed many INTEGER, CARDINAL
	  incompatibilities.
	* gm2/gm2/gm2-libs/NumberIO.mod:  fixed many INTEGER, CARDINAL
	  incompatibilities.
	* gm2/gm2/gm2-libs/SYSTEM.def:  changed parameter types to
	  avoid CARDINAL, INTEGER problems.
	* gm2/gm2/gm2-libs/SYSTEM.mod:  likewise.
	* gm2/gm2/gm2-libs/StringConvert.mod:  fixed many INTEGER, CARDINAL
	  incompatibilities.
	* gm2/gm2/gm2-libs-pim/Strings.mod:  fixed a few INTEGER, CARDINAL
	  incompatibilities.
	* gm2/gm2/init/gm2-gccinit:  added M2Range.

2008-03-07       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  reverted patch as
	  it also included some unfinished changes due to appear
	  soon.

2008-03-01       Gaius Mulley <gaius@gnu.org>

	* an interim checkin of many changes which will
	  initially cause many regression test failures.
	  A huge amount of assignment, expression and parameter
	  compile time and runtime checking has been added.
	* gm2/Make-lang.in:  new module M2Range.{def,mod} added.
	* gm2/TODO:  suggested future GCC modifications.
	* gm2/gccgm2.c:  renamed GetM2ZRealType as GetM2RType
	  as per ISO documentation.
	* gm2/el/g-mode.el:  corrected dates.
	* gm2/gm2-compiler/M2Base.def:  introduced ZType, RType types.

2008-02-22       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  fixed build rule for gm2/gm2-libs/sckt.c
	  to include the p2c header (containing configure results).
	* gm2/gm2-libs-ch/sckt.c:  prefixed most includes with
	  tests based on configure results.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  fixed declaration of
	  user defined unbounded parameters.

2008-02-09       Gaius Mulley <gaius@gnu.org>

        * gm2/Make-lang.in:  replaced references of gm2/pg? to
	  gm2/pg?$(exeext) to enable building in a cygwin
	  environment as reported by David Moreno
	  <jose_david_moreno@yahoo.es>.

2008-02-08       Gaius Mulley <gaius@gnu.org>

        * gm2/gm2-libs/StringConvert.mod:  fixed CARDINAL
	  overflow bug.

2008-02-07       Gaius Mulley <gaius@gnu.org>

	* fixed REAL/LONGREAL bugs as reported by:
	  Ivan F. Villanueva B and Steve Giess.
	* gm2/gm2-compiler/M2Base.def:  ZRealType added and
	  exported.
	* gm2/gm2-compiler/M2Base.mod:  ZRealType implemented.
	  Added parameter checking meta type matrix.
	  Added ZRealType to expression, assignment and
	  parameter type checking matrices.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  tell GCC about
	  the front end ZRealType type.
	* gm2/gm2-compiler/M2Quads.mod:  improved type incompatible
	  error message.
	* gm2-compiler/SymbolTable.mod:  floating point literals
	  use the ZRealType.
	* gm2/gm2-libs/FpuIO.mod:  explicitly cast REAL to LONGREAL.
	* gm2/gm2-libs/StringConvert.mod:  explicitly cast CARDINAL
	  to LONGCARD.
	* gm2/gm2-libs-pim/RealInOut.mod:  explicitly cast LONGREAL
	  to REAL and visa versa.
	* gm2/ulm-lib-gm2/std/Directories.mod:  cast blocksize
	  (LONGCARD) to CARDINAL.

2008-01-24       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-pim/InOut.mod:  fixed bug reported by
	  Steve Giess, data written by InOut and FpuIO did not
	  appear in order.  Modified InOut.mod so that all reads
	  and writes go through FIO.mod.

2008-01-21       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2ALU.def:  renamed parameters to
	  procedure AddElements.
	* gm2/gm2-compiler/M2ALU.mod:  AddElements uses AddElementToEnd
	  which fixes a bug in array element ordering during compound
	  constant literal construction.

2008-01-17       Gaius Mulley <gaius@gnu.org>

	* ISO conformant compound literal constructors have been
	  implemented.
	* gm2/TODO:  updated.
	* gm2/gccgm2.c:  added constructor type and build
	  functions to create ARRAY, RECORD and SET compound
	  constructors.
	* gm2/bnf/m2-2.bnf:  modified grammer to include compound
	  constructors and associated type build functions.  Limited
	  compound literal type checking is also implemented.
	* gm2/bnf/m2-3.bnf:  modified grammer to include compound
	  constructors and to appropriate quadruple generation.
	* gm2/bnf/m2-h.bnf:  modified grammer to include compound
	  constructors during the hidden pass.
	* gm2/gm2/bnf/m2.bnf:  modified grammer to include compound
	  constructors.
	* gm2/FifoQueue.def:  extended to allow enumerations and
	  subranges to be stored and retrieved.
	* gm2/FifoQueue.mod:  implemented appropriately.
	* gm2/gm2-compiler/M2ALU.def:  major alterations to allow
	  constructors (ARRAY, RECORD and SET) constants to be
	  created at compile time and also be translated into GCC trees.
	* gm2/gm2-compiler/M2ALU.mod:  implemented above, more checking
	  to ensure that a RECORDs and ARRAYs cannot have bits included.
	  SETs cannot have fields initialized etc.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  resolves all dependants
	  of compound literals and declares Modula-2 constructors to
	  their gcc tree counterpart.
	* gm2/gm2-compiler/M2Quads.def:  BuildConstructorStart,
	  BuildConstructorEnd, CollectConstructor, BuildComponentValue
	  added.
	* gm2/gm2-compiler/M2Quads.mod:  BuildConstructorStart,
	  BuildConstructorEnd, CollectConstructor, BuildComponentValue,
	  AddFieldTo implemented.
	* gm2/gm2-compiler/P1SymBuild.mod:  use
	  PutEnumerationIntoFifoQueue.
	* gm2/gm2-compiler/P2SymBuild.mod:  use
	  GetEnumerationFromFifoQueue and PutSubrangeInfoFifoQueue.
	  Implement constructor type checking and add error messages.
	  Implement constructor symbol creation.
	* gm2/gm2-compiler/P3SymBuild.mod:  use
	  GetSubrangeFromFifoQueue.
	* gm2/gm2-compiler/SymbolTable.def:  export IsConstructor
	  and PutConstructor.
	* gm2/gm2-compiler/SymbolTable.mod:  add IsConstructor
	  field to SymConstVar and SymConstLit record in symbol
	  table.  Implement procedures IsConstructor and
	  PutConstructor.
	* gm2/gm2-compiler/gccgm2.def:  declare and export
	  new versions of BuildStartSetConstructor,
	  BuildSetConstructorElement, BuildEndSetConstructor.
	  Also export BuildStartRecordConstructor,
	  BuildEndRecordConstructor, BuildRecordConstructorElement,
	  BuildStartArrayConstructor, BuildEndArrayConstructor and
          BuildArrayConstructorElement.  Also export Constructor
	  hidden type.

2007-12-10       Gaius Mulley <gaius@gnu.org>

	* gm2/NEWS:  updated.
	* gm2/tools-src/def2texi.py:  modified so that references
	  to types, variables and constants are added to the index
	  at the end of the documentation.
	* gm2-libs-pim/RealInOut.def:  all long procedures are also
	  exported.

2007-12-07       Gaius Mulley <gaius@gnu.org>

	* gm2/NEWS:  updated.
	* gm2/gm2.texi:  documented new -fxcode option and minor
	  fixes.
	* gm2/lang-options.h:  added -fxcode to list of options.
	* gm2/lang.opt:  added -fxcode to list of options.
	* gm2/m2.flex:  added m2flex_GetColumnNo.
	* gm2/gm2-compiler/M2Error.mod:  OutString modified to
	  use column and produce GNU and Xcode format errors.
	* gm2/gm2-compiler/M2LexBuf.def:  export column
	  related procedures.
	* gm2/gm2-compiler/M2LexBuf.mod:  introduced recording
	  of the column position.  GetColumnNo, TokenToColumnNo
	  new procedures.
	* gm2/gm2-compiler/M2Options.def:  added Xcode.
	* gm2/gm2-compiler/M2Options.mod:  set Xcode accordingly.
	* gm2/gm2/gm2-compiler/M2Students.mod:  fixed spelling
	  mistake.
	* gm2/gm2-compiler/P1SymBuild.mod:  tidied up error
	  message.
	* gm2/gm2-compiler/SymbolTable.mod:  ditto.
	* gm2/gm2-compiler/m2flex.def:  added GetColumnNo
	  procedure.
	* gm2/gm2-libs-pim/BitBlockOps.mod:  intemediate checkin.

2007-12-06       Gaius Mulley <gaius@gnu.org>

	* gm2/tools-src/gensum.py:  new file.

2007-11-14       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  corrected urls and last edit.
	* gm2/gm2-libs.texi:  recreated.

2007-11-10       Gaius Mulley <gaius@gnu.org>

	* gm2/m2.flex:  added explicit cast.
	* gm2/Make-lang.in:  now build h2def during stage2.
	* gm2/gm2/c.flex:  modified so that it ignores tabs.
	* gm2/bnf/h2def.bnf:  many bugfixes, still broken though.
	* gm2/gm2-compiler/CLexBuf.mod:  improved Debugging support.
	* gm2/gm2-compiler/gm2lcc.mod:  refactored comment handling
	  code to use the RemoveComment, RemoveWhiteSuffix and
          RemoveWhitePrefix procedures in DynamicStrings module.
	* gm2/gm2-compiler/gm2lgen.mod:  likewise handle comments.
	* gm2/gm2-libs/DynamicStrings.def:  export
          RemoveWhitePrefix, RemoveWhitePostfix, RemoveComment.
	* gm2/gm2-libs/DynamicStrings.mod:  implement above.

2007-11-07       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  updated version to 0.63
	* gm2/gm2.texi:  updated version to 0.63 and updated
	  unbounded-by-reference documentation.
	* gm2/gm2-compiler/M2GenGCC.mod:  modified optimization
	  of unbounded addresses to test the memory range of
	  each unbounded parameter against a type compatible
	  var parameter, any overlapping addresses results in
	  a alloca and memcpy of the non var unbounded array.

2007-11-02       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  completed the further
	  optimization of unbounded addresses.  It checks to
	  see if the contents of a type compatible unbounded
	  ARRAY matches the contents of a VAR parameter.
	  It checks against any VAR parameter (not just
	  unbounded VAR parameters - consider ARRAY OF BYTE).
	* gm2/gm2.texi:  documented the implementation of
	  the -funbounded-by-reference optimization flag
	  giving examples.

2007-10-30       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi:  fixed @xref punctuation requirement.
	* gm2/gm2-compiler/M2GenGCC.mod:  fixed unbounded-by-reference
	  so that it works out whether two parameters might contain
	  the same contents.  Further optimization is possible via
	  runtime checking of unbounded addresses.
	* gm2/gm2-compiler/SymbolTable.mod:  factored out some code.

2007-10-26       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/sckt.def:  moved here from examples/server.
	* gm2/gm2-libs-ch/sckt.c:  moved here from examples/server.
	* gm2/examples/ncurses/Makefile:  changed switches from -W
	  to -f
	* gm2/gm2-libs-coroutines/Makefile:  changed switches from -W
	  to -f
	* gm2/gm2-libs-coroutines/SysVec.mod:  added many Asserts and
          fixed some bugs relating to microseconds.
	* gm2/gm2-libs-coroutines/TimerHandler.mod:  fixed bug relating
	  to time vector.

2007-10-25       Gaius Mulley <gaius@gnu.org>

        * gm2/gccgm2.c:  CHAR is now declared as an unsigned char.
	* testsuite/gm2/pimlib/logitech/run/pass/bbits.mod:  new file.
	* testsuite/gm2/pimlib/logitech/run/pass/intb.mod:  new file.

2007-10-23       Gaius Mulley <gaius@gnu.org>

        * gm2/gm2.texi:  more building documentation fixes.
	* gm2/www/index.ms:  updated documentation to reflect
          changes to the gm2.texi building instructions.

2007-10-22       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-pim/BitBlockOps.{def,mod}:  added.
	* gm2/Make-lang.in:  added BitBlockOps to the Logitech list
          of modules.
	* gm2/gm2.texi:  improved building documentation which now
	  relates to the daily CVS snapshot held on
	  http://floppsie.comp.glam.ac.uk/download/c

2007-10-18       Gaius Mulley <gaius@gnu.org>

	* gm2/www/index.ms:  rationalised the building instructions
	  between the web page and gm2/gm2.texi
	* gm2/gm2.texi:  updated the building instructions.

2007-10-14       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  fixed bug in gm2/gm2-libs/gm2-libs-host.h
	  target so that configure uses the correct CC and CPP.

2007-10-09       Gaius Mulley <gaius@gnu.org>

	* gm2/README:  updated to reflect new homepage and mailing
	  list address.

2007-10-07       Gaius Mulley <gaius@gnu.org>

	* fixed bug reported by Dmitry Shatrov <shatrov@gmail.com>
	* gm2/gm2-compiler/M2Quads.mod:  added CheckNotConstAndVar
	  procedure.  BuildAssignment use CheckNotConstAndVar.
	* gm2/testsuite/gm2/pim/fail/constvar.mod:  added new
	  regression test.
	* gm2/gm2.texi:  updated the last update field.

2007-10-05       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  updated version to 0.62
	* gm2/Make-lang.in:  altered all -W options to their new
	  -f counterparts
	* gm2/README:  modified the advised build command
	* gm2/gccgm2.c:  removed all section of code inside #if 0
	  blocks (which were not part of the orig gcc source).
	* gm2/gccgm2.c:  modified OPT_W to OPT_f to reflect change
	  of -W flags to -f flags.
	* gm2/gccgm2.c:  reintroduced the -fcpp handling code.
	* gm2/gm2.texi:  updated version number to 0.62
	* gm2/gm2.texi:  altered all -W options to -f options
	  for code generation options.  Left warning options
	  to use -W to mirror the gcc paradigm.
	* gm2/gm2/gm2builtins.c:  memmove introduced.
	* gm2/gm2spec.c:  changed all -W options to -f.
	* gm2/lang-specs.h:  changed all -W options to -f.
	* gm2/lang.opt:  changed all -W options to -f.
	* gm2/bnf/gm2l.bnf:  changed all -W options to -f.
	* gm2/bnf/gm2m.bnf:  changed all -W options to -f.
	* gm2/gm2-libs-pim/BlockOps.{def,mod}:  added to repository.
	* gm2/examples/map/Makefile:  changed all -W options to -f and
	  added -O3.
	* gm2/gm2/gm2-compiler/M2Options.def:  changed comments.
	* gm2/gm2-compiler/M2Options.mod:  changed all -W options to -f.
	* gm2/gm2-compiler/M2Quads.mod:  changed all -W options to -f.
	* gm2/gm2-compiler/SymbolTable.mod:  changed all -W options to -f.
	* gm2/gm2-compiler/gm2.mod:  changed all -W options to -f.
	* gm2/gm2-compiler/gm2lcc.mod:  changed all -W options to -f.
	* gm2/gm2/gm2-compiler/ppg.mod:  modified compile-command.
	* gm2/gm2-libs/Builtins.def:  added memmove to the list of
	  builtins.
	* gm2/gm2-libs/Builtins.mod:  implemented M2 wrapper for memmove.
	* gm2/gm2-libs/cbuiltin.def:  added access to C memmove.
	* gm2/man/gm2.man:  changed all -W options to -f.

2007-09-27       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/SYSTEM.mod:  added SHIFT, ROTATE and their
	  support counterparts.
	* gm2/gm2-libs-pim/BitByteOps.{def,mod}:  added.
	* gm2/gm2-libs-pim/BitWordOps.{def,mod}:  completed.
	* gm2/gm2.texi:  updated to reflect the addition of SHIFT,
	  ROTATE procedures in PIM SYSTEM.mod.
	* gm2/gm2/Make-lang.in:
	* gm2/gm2/README:
	* gm2/gm2/gccgm2.c:
	* gm2/gm2/gm2.texi:
	* gm2/gm2/gm2spec.c:
	* gm2/gm2/lang-options.h:
	* gm2/gm2/lang-specs.h:
	* gm2/gm2/lang.opt:
	* gm2/gm2/bnf/gm2l.bnf:
	* gm2/gm2/bnf/gm2m.bnf:
	* gm2/gm2/gm2-compiler/M2Options.def:
	* gm2/gm2/gm2-compiler/M2Options.mod:
	* gm2/gm2/gm2-compiler/M2Quads.mod:
	* gm2/gm2/gm2-compiler/SymbolTable.mod:
	* gm2/gm2/gm2-compiler/gm2.mod:
	* gm2/gm2/gm2-compiler/gm2lcc.mod:
	* gm2/gm2/gm2-compiler/ppg.mod:  all changed to reflect moving
	  -W switches to -f switches as per gcc.  Only using -W for
	  compile time warnings, -f for language features including
	  runtime checking.

2007-09-14       Gaius Mulley <gaius@gnu.org>

	* www/index.ms:  updated web pages to reflect 0.60 release
	  and availability of debian packages.

2007-08-14       Gaius Mulley <gaius@gnu.org>

	* gm2/patches/gcc/4.1.2/02.gaius_rs6000_lang:  new patch to
	  enable gm2 to build on the PS3 (ppc) based machines.

2007-08-08       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  fixes to enable avr cross compile to
	  build (use cross gcc and add -B./ when building libraries).

2007-07-23       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  gccgm2_BuildSubrangeType switched over to using
	  the implementation of the subrange type as opposed to the base
	  INTEGER type.
	* gm2/gm2-compiler/M2Quads.mod:   CheckSubrange converts the
	  Exp into an INTEGER type before generating the range checking
	  quadruples.  This in turn allows M2SubExp.mod to be built with
	  optimization.  make gm2.paranoid with -O works against gcc-4.1.2.

2007-07-06       Gaius Mulley <gaius@gnu.org>

	* added gm2/gm2-harness.
	* gm2/Make-lang.in:  added interactive debugging module
	  gm2/m2pp.o to link targets.
	* gm2/gccgm2.c:  rewritten pushdecl and friends and vastly
	  simplified and reduced the code.  Modified all parameters
	  to use ANSI C rather than K&R C.  Rewritten create
          gccgm2_BuildStartFunctionCode and gccgm2_BuildEndFunctionCode.
          Also ensured that all variables are added to the statement list
	  via DECL_EXPR and ensured that BIND_EXPR and BLOCKs are created
	  in exactly the same way as their C counterparts.
	  Fixed important bug in creating TREEs which represent parameters.
	* gm2/m2pp.c:  new interactive debugging module will print a GCC
	  tree using Modula-2 syntax.
	* gm2/m2pp.h:  prototype for the above.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  unbounded types are now uniquely
	  created from their basic type.  Improved debugging of unbounded type.
	* gm2/gm2-compiler/M2GenGCC.mod:  DoCopyString new function which is
	  used by CodeBecomes and CodeXIndr.  Simplified CodeIndrX and CodeXIndr
	  in light of bugs fixed in gm2/gccgm2.c.
	* gm2/gm2-compiler/M2Quads.mod:  made the type following more accurate
	  during the construction of array arithmetic and indirection.  This
	  in turn allows -O to be used in GCC's backend.
	* gm2/gm2-compiler/SymbolTable.def:  modified interface to unbounded
	  symbols.
	* gm2/gm2-compiler/SymbolTable.def:  implemented above.
	* GM2 now builds when -O is suppled to stage2 or stage3.
	* GM2 now builds with (a patched) gcc-4.1.2

2007-05-28       Gaius Mulley <gaius@gnu.org>

	* gm2-compiler/M2Quads.mod:  replaced PutVarTypeAndSize with
	  PutLeftValueFrontBackType.
	* gm2-compiler/SymbolTable.mod:  implemented
	  PutLeftValueFrontBackType and GetLeftValueFrontBackType.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  rationalised variable
	  creation by introducing function:  DoVariableDeclaration.
	  All variables are created via this function.
	  Use GetLeftValueFrontBackType.

2007-05-18       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  removed -O for paranoid

2007-05-11       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  added -O for paranoid
	* gm2/gccgm2.c:
	* gm2/gm2-compiler/M2Base.def:  removed generic Unbounded type
	* gm2/gm2-compiler/M2Base.mod:  removed generic Unbounded type
	  creation.
	* gm2/gm2-compiler/M2Code.mod:  tidied up comments and semicolon.
	* gm2/gm2-compiler/M2GCCDeclare.def:  export DeclareParameters.
	* gm2/gm2-compiler/M2GCCDeclare.mod:  implement
	  DeclareParameters and new unbounded type mechanism.
	* gm2/gm2-compiler/M2GenGCC.mod:  modified references
	  to unbounded fields.  Fixed two major optimization bugs
	  in CodeXIndr and CodeIndrX pointer types
	  now use generic pointer types when building indirect GCC
	  trees.
	* gm2/gm2-compiler/M2Quads:  now create a specific unbounded type
	  rather than cast to a generic unbounded record.  Again this fixes
	  bugs in Tree construction which were exposed by the back end
	  when -O was enabled.
	* gm2/gm2-compiler/SymbolTable.def:  declared Unbounded record and
	  field operators.
	* gm2/gm2-compiler/SymbolTable.mod:  implement Unbounded record and
	  field operators.

2007-04-25       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs:  regenerated configure

2007-02-16       Gaius Mulley <gaius@gnu.org>

	* gm2/bnf/gm2m.bnf:  fixed string deallocation bug.
	* gm2/gm2-libs-pim/FileSystem.{def,mod}:  exported Reset
	  and fixed filename and string conversion.

2007-02-07       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GCCDeclare.mod:  added FindOuterModule
	  to determine whether a symbol should be declared in the
	  GCC global scope.
	* fixes ulm library building problem introduced by the previous
	  interim checkin.

2007-02-06       Gaius Mulley <gaius@gnu.org>

	* interim checkin, due to optimization fixes.
	* gm2/gccgm2.c:  changes to the way variables are declared.
	  Removed calls to expand_decl.
	* gm2-compiler/M2GCCDeclare.mod:  passes boolean to
	  DeclareKnownVariable indicating whether the variable was
	  declared in the outer global scope.

2007-01-26       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c: mark_function_addresses_referenced added.
	* gm2/gccgm2.c: gccgm2_MarkFunctionReferenced added.
	* gm2/gccgm2.c: gccgm2_SetFlagUnitAtATime added.
	* gm2/gm2-compiler/M2Code.mod: MarkExported used.
	* gm2-compiler/M2GCCDeclare.def: MakeExported defined.
	* gm2-compiler/M2GCCDeclare.mod: MakeExported added.
	* gm2/gm2-compiler/gccgm2.def:  SetFlagUnitAtATime,
	  MarkFunctionReferenced, defined.

2007-01-19       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-pim/FileSystem.mod:  added.
	* gm2/Make-lang.in:  introduced GM2_O_S3 variable so that
	  optimization can be introduced into stage3 only.
        * gm2/gccgm2.c:  added gccgm2_FinishBackend.
	* gm2/gm2-compiler/M2Code.mod:  use gccgm2_FinishBackend.

2007-01-18       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  use gm2_mark_addressable rather than
	  the TREE_ADDRESSABLE macro for consistency.

2007-01-05       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-file.in:  added FileSystem.mod to the gm2-libs-pim
	  set of libraries.
	* gm2/TODO:  removed FileSystem.mod from the list
	* gm2/gm2-compiler/P1SymBuild.mod:  added error message
	* gm2/gm2-libs/FIO.mod:  fixed copyright message
	* gm2/gm2-libs/M2RTS.def:  fixed typo.
	* gm2/gm2-libs/libc.def:  added rename function.
	* gm2/gm2-libs/wrapc.def:  modified filesize so that it modifies
	  two unsigned ints as the size, rather than return a long unsigned.
	* gm2/gm2/gm2-libs-ch/libc.c:  added unlink function.
	* gm2/gm2/gm2-libs-ch/wrapc.c:  implemented filesize.
	* gm2/gm2/gm2-libs-pim/FileSystem.def:  improved comments and added
	  more file state to the File record.

2006-12-25       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-file.in:  fixed conditional building of library files.
          Bug reported by Michael Lambert <lambert@psc.edu>.

2006-12-21       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  fixed manual page installation.
	* gm2/lang-options.h:  include -Wlibs=min option.
	* gm2/gm2-libs-min/libc.c:  added parameters to functions.
	* gm2/gm2-libs-min/libc.def:  added.

2006-12-20       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs-min:  added
	* gm2/gm2spec.c:  modified to relect introduction of -Wlibs=min
	* gm2/gm2.texi:  document -Wlibs=min
	* gm2/config-lang.in:   include gm2cc to be installed
	* GNU Modula-2 can be built as a cross compiler for the avr
	  microprocessor.

2006-12-18       Gaius Mulley <gaius@gnu.org>

	* gm2/www/index.ms:  updated web page to reflect G5 successful
	  make gm2.paranoid using gcc-3.3.6 and CVS
	  tag D2006.06.23.04.00.00
	* gm2/gccgm2.c:  use integer_type_node instead of boolean_type_node
	  as the size of boolean_type_node can differ from the
	  size of an integer_type_node.
	* make gm2.paranoid works on LP64 opteron with a patched gcc-4.1.0

2006-12-17       Gaius Mulley <gaius@gnu.org>

	* fixed line number debugging information at the end of a
	  function.

2006-12-05       Gaius Mulley <gaius@gnu.org>

        * gm2/gm2-compiler/M2Quads.mod:  BuildCastFunction allow arrays
          to be cast.
	* testsuite/gm2/iso/stringchar.mod:  fixed typos.
	* gm2/gm2-compiler/M2Quads.mod:  BuildDynamicArray,
	  BuildStaticArray, BuildDesignatorArray all SkipType to allow
	  type equivalence between arrays.

2006-11-02       Gaius Mulley <gaius@gnu.org>

	* gm2/lang-specs.h:  use gm2cc rather than the gcc driver.
	* gm2/gm2-compiler/gm2lcc.mod:  also use gm2cc rather
	  than gcc.
	* gm2/gm2-compiler/gm2lcc.mod:  corrected extern
	  declaration of exit.
	* gm2/Make-lang.in:  generate gm2cc from xgcc and install
          it correcly.
        * testsuite/gm2/pim/options/optimize/run/pass/gm2.exp: fixed
          library module build.

2006-10-20       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  fixed building of constants strings.
	  Constants are also placed into the global scope so
	  that they are not garbage collected.
	* gm2/M2GenGCC.mod:  CodeXIndr handle special case of
	  null string.
	* gm2/Make-lang.in:  add automatically generated modules
	  to the verify12 rule.
	* added a string assignment regression test.

2006-10-19       Gaius Mulley <gaius@gnu.org>

	* www/index.ms:  updated gm2-harness release to 0.96.
	* gm2/gm2-compiler/SymbolConversion.mod:   Poison must
	  not check for gcc poisoning as it is called after a
	  function has been emitted and potentially poisoned.

2006-10-18       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-config.in:  added.
	* gm2/Make-lang.in:  include gm2/gm2-config.
	* gm2/configure.in:  generate gm2/gm2-config.
	* backed out above changes

2006-10-17       Gaius Mulley <gaius@gnu.org>

	* gm2/aclocal.m4:  added.
	* gm2/configure:  rebuilt.

2006-10-14       Gaius Mulley <gaius@gnu.org>

	* gm2/Make-lang.in:  minor fixes to build manual pages.

2006-10-13       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm2.c:  call gimplify_function on all
          functions.
	* gm2/Make-lang.in:  added ability to optionally build
	  the ulm libraries which matches gm2-harness-0.94.

2006-10-12       Gaius Mulley <gaius@gnu.org>

	* gm2/patches/gcc/4.1.1/01.gaius_patch_gcc: added.

2006-10-07       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm.2c:  fixed conditional goto expressions.

2006-10-04       Gaius Mulley <gaius@gnu.org>

	* gm2/gccgm.2c:  added debugging stub.

2006-10-03       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  fixed BuildEnd
	  to use IsProcedureGccNested in CodeKillLocalVar.
	* gm2/gm2-compiler/M2GCCDeclare.def:
	  export IsProcedureGccNested.

2006-10-01       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-compiler/M2GenGCC.mod:  modified BuildEnd
	  to taken an extra parameter, nested, and set it
	  accordingly.

2006-09-30       Waldek Hebisch <hebisch@math.uni.wroc.pl>

	* gm2/gccgm2.c: (gccgm2_BuildEndFunctionCode) only
	  call gimplify_function_tree and cgraph_finalize_function
	  if the procedure is not nested.

2006-09-29       Gaius Mulley <gaius@gnu.org>

	* removed execute permissions for source files.
	* gm2/patches/gcc/4.1.0/01.gaius_patch_gcc: improved.
	* gm2/gccgm2.c:  fixed comment.

2006-09-20       Gaius Mulley <gaius@gnu.org>

	* gm2/patches/4.1.0/01.gaius_patch_gcc: added.

2006-09-19       Gaius Mulley <gaius@gnu.org>

	* huge amount of changes to bring gm2 up to gcc-4.1.0 and
	  also make it build with gcc-4.1.0.
	* modified gm2/
          Make-lang.in config-lang.in configure.in gccgm2.c
          gm2-common.h gm2-lang.c gm2-lang.h gm2-tree.h gm2.texi
          gm2builtins.c gm2spec.c lang-specs.h bnf/m2-3.bnf
          examples/server/sckt.c examples/server/sckt.def
          gm2-compiler/M2Comp.mod gm2-compiler/M2GCCDeclare.mod
          gm2-compiler/M2GenGCC.mod gm2-compiler/M2Options.def
          gm2-compiler/M2Options.mod gm2-compiler/M2Preprocess.mod
          gm2-compiler/gccgm2.def gm2-compiler/gm2.mod
          gm2-compiler/gm2lgen.mod gm2-libs/ASCII.def gm2-libs/ASCII.mod
          gm2-libs/Args.def gm2-libs/Debug.def gm2-libs/IO.mod
          gm2-libs/SYSTEM.mod gm2-libs/StdIO.mod gm2-libs/StrLib.mod
          gm2-libs/StringConvert.def gm2-libs/libc.def
          gm2-libs-coroutines/KeyBoardLEDs.c
          gm2-libs-coroutines/Makefile gm2-libs-coroutines/SysVec.mod
          gm2-libs-coroutines/TimerHandler.mod p2c/p2c.h
          p2c/p2c-src/src/makeproto.c p2c/p2c-src/src/p2c-config.h
          p2c/p2c-src/src/p2clib.c tools-src/mklink.c www/index.ms
        * added files:
          gm2/gm2-common.c gm2/gm2-tree.def gm2/lang.opt

2006-08-31       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2-libs/ASCII.def: changed EOL to equal to nl rather
	  than cr.

2006-08-10       Gaius Mulley <gaius@gnu.org>

	* fixed ASM statement.
	* gm2/bnf/m2-3.bnf: fixed Pass3 and Pass2 const
	* gm2/gccgm2.c: modified gccgm2_BuildAsm to use add_stmt
	  rather than expand_asm_expr.

2006-08-09       Gaius Mulley <gaius@gnu.org>

	* GM2 Release 0.53
	* changed release number in configure.in, gm2.texi, Make-lang.in
	* builds with gcc-4.1.0

2006-08-08       Gaius Mulley <gaius@gnu.org>

	* GM2 Release 0.52
	* tagged CVS using gm2_0_52
	* gm2/NEWS updated
	* changed release number in configure.in, gm2.texi, Make-lang.in
	* rebuilt configure

2006-08-07       Gaius Mulley <gaius@gnu.org>

	* gm2/www/index.ms: updated to reflect release of gm2-harness-0.9

2006-06-23       Gaius Mulley <gaius@gnu.org>

	* gm2/www/index.ms: updated to reflect release of gdb-6.5 which
	  contains enhanced Modula-2 language support.  It also
          documents that gm2-harness-0.8 has been released.

2006-05-22       Gaius Mulley <gaius@gnu.org>

	* gm2/www/index.ms: updated to reflect sparc build success from
	  John O Goyo <jgoyo@ca.inter.net>

2006-05-04       Gaius Mulley <gaius@gnu.org>

	* implemented __INLINE__
	* gm2/gccgm2.c:  modified to inline procedures if requested.
	* gm2/m2.flex: added new keyword __INLINE__
	* gm2/gm2-compiler/M2Reserved.def
	* gm2/gm2-compiler/M2Reserved.mod: added new keyword __INLINE__
	* gm2/gm2-compiler/P1SymBuild.mod: builds inlined procedure
	* gm2/gm2-compiler/M2GenGCC.mod: passes front end inlined procedure
	  to gccgm2.

2006-04-24       Gaius Mulley <gaius@gnu.org>

	* GM2 Release 0.51
	* tagged CVS using gm2_0_51
	* gm2/NEWS updated
	* rebuilt configure
	* finished implementing declaration of variables at addresses.
	* modified gm2/bnf/m2-3.bnf, gm2/gm2-compiler/M2Quads,
	  gm2/gm2-compiler/SymbolTable.mod, gm2-compiler/P3SymBuild.mod

2006-04-22       Gaius Mulley <gaius@gnu.org>

	* implemented the declaration of a variable at an address.
	* modified gm2/bnf/m2-3.bnf, gm2/bnf/m2-2.bnf, gm2/gm2-compiler/M2Quads.mod

2006-04-21       Gaius Mulley <gaius@gnu.org>

	* added testsuite/gm2/pim/pass/varaddress.mod
	* modified gm2/bnf/m2.bnf, gm2/bnf/m2-2.bnf, gm2/bnf/m2-3.bnf,
	  gm2/bnf/m2-h.bnf to allow parsing of variables declared at addresses.

2006-04-19       Gaius Mulley <gaius@gnu.org>

	* added testsuite/gm2/pim/pass/sets5.mod
	* fixed bug report by John O Goyo <jgoyo@ca.inter.net>
	* (testsuite/gm2/pim/pass/sets5.mod and testsuite/gm2/pim/pass/sets4.mod)

2006-04-19       Gaius Mulley <gaius@gnu.org>

	* added testsuite/gm2/pim/pass/sets5.mod
	* fixed bug report by John O Goyo <jgoyo@ca.inter.net>
	* (testsuite/gm2/pim/pass/sets5.mod and testsuite/gm2/pim/pass/sets4.mod)

2006-03-25       Gaius Mulley <gaius@gnu.org>

	* added testsuite/gm2/pim/pass/sets4.mod
	* gm2/gm2-compiler/P2SymBuild.mod: added more robust error detection
	* gm2/gm2-compiler/M2GenGCC.mod: added more robust error detection

2006-03-17       Gaius Mulley <gaius@gnu.org>

	* added successful build reports to the web page

2006-02-21       Gaius Mulley <gaius@gnu.org>

	* gm2/gm2.texi: fixed new urls and added missing escaped @
	* gm2/gm2-libs.texi: rebuilt
	* gm2/gm2-iso/README.texi: fixed typo

2006-02-20       Gaius Mulley <gaius@gnu.org>

	* gm2/NEWS updated

2006-02-13       Gaius Mulley <gaius@gnu.org>

	* GM2 Release 0.50
	* tagged CVS using gm2_0_50
	* gm2/NEWS: added, which contains news of user visible changes.
	* gm2/Make-lang.in: updated version number
	* gm2/gm2.texi: updated gm2 release number to 0.50 and gm2-harness number to 0.7
	  and improved install section.
	* gm2/www: added homepage documents

2006-02-10       Gaius Mulley <gaius@gnu.org>

	* gm2/ulm-lib-gm2/std/GetPass.mod: modified to work with:
	* gm2/ulm-lib-gm2/sys/termios.def: new definition module for C
	* gm2/ulm-lib-gm2/sys/termios.c: portable implmentation module for termios
	  interface
	* gm2/ulm-lib-gm2/sys/SysTermIO.def: Modula-2 interface to the underlying
	  termios library.
	* gm2/ulm-lib-gm2/sys/SysTermIO.mod: Modula-2 interface to termios.c.
	* all regression tests pass on LP64

2006-02-07	 Gaius Mulley <gaius@gnu.org>

	* fixed copyright notices for all ISO definition modules in
	  gm2/gm2-iso.

2006-01-23	 Gaius Mulley <gaius@glam.ac.uk>

	* gm2/gm2-compiler/M2Options.mod: allow -p option.
	* gm2/gm2-compiler/M2Quads.mod: remove call to stress stack during
	  Initialization

2006-01-17	 Michael H Lambert <lambert@psc.edu>

	* testsuite/gm2/iso/pass/realbitscast.mod: modified to detect whether
	  it is being run under alpha and 64 bit architecture.
	* testsuite/gm2/cpp/pass/subaddr.mod: modified to detect whether
	  it is being run under alpha and 64 bit architecture.

2006-01-17	 Gaius Mulley <gaius@glam.ac.uk>

	* gm2/gm2-compiler/M2GenGCC.mod: coerse constants passed to parameter
	  of SYSTEM types. Fixes the make gm2.paranoid on ppc architecture.
	* testsuite/gm2/iso/pass/realbitscast.mod: modified to detect whether
	  it is being run under ia64 architecture.
	* testsuite/gm2/cpp/pass/subaddr.mod: modified to detect whether
	  it is being run under ia64 architecture.

2006-01-16	 Gaius Mulley <gaius@glam.ac.uk>

	* gm2/gccgm2.c: altered INCL, EXCL and bit tests so that they subtract the
	  low value of the subrange before performing the bit operation.
	* testsuite/gm2/pim/run/pass/setcritical.mod to test bugfix.
	* gm2/gm2-compiler/gm2lcc.mod: added -B option
	* gm2/lang-specs.h: pass -B option to gm2lcc

2006-01-10	 Gaius Mulley <gaius@glam.ac.uk>

	* fixed INTEGER, SHORTINT and LONGINT so that they all
	  call upon gccgm2_GetM2<type> rather than their C counterparts.
	* fixed constant overflow on 32 bit address architectures when
	  compiling arrayhuge.mod and arrayhuge2.mod (as reported by
	  Michael H Lambert <lambert@psc.edu>)
	* M2Code.mod::Code: call FlushWarnings and FlushErrors after StartDeclareScope
	  which flushes errors before code generation starts. This fixes
	  a timeout bug in the regression tests reported by
	  (John B Wallace Jr <wallacjb@enter.net>).
	* M2GenGCC.mod::CodeSavePriority: introduced PriorityDebugging and turned
	  off debugging messages
	* M2GenGCC.mod::CodeRestorePriority: introduced PriorityDebugging and turned
	  off debugging messages
	* all regression tests now pass on GNU/Linux i386 (Debian Sarge)
	* gm2/gm2-compiler/M2Quads.mod::LoopAnalysis:fixed bug in while loop
	* corrected testsuite/gm2/errors/fail/testimport.mod to include a double import.

2006-01-09	 Gaius Mulley <gaius@glam.ac.uk>

	* fixed LONGINT/LONGCARD bugs so that
	  testsuite/gm2/switches/pim4/run/pass/FpuIOBug.mod now passes.
	  LONGINT and LONGCARD are declared as long long int and
	  long long unsigned int respectively.
	* updated gm2/gm2.texi to reflect changes in LONGINT and LONGCARD.

2006-01-08	 Gaius Mulley <gaius@glam.ac.uk>

	* modified examples to utilize the module priority mechanism.

2006-01-06	 Gaius Mulley <gaius@glam.ac.uk>

	* improved implementation of module priorities so that
	  only externally accessible procedures save and restore
	  interrupts.
	* added testsuite/gm2/pimlib/coroutines/pass/priority3.mod and
          testsuite/gm2/pimlib/coroutines/pass/priority3.def to test exporting
	  of procedures which need to save and restore interrupt priorities.

2006-01-05	 Gaius Mulley <gaius@glam.ac.uk>

	* gm2/Make-lang.in: removed GM2_DIRS from the dependancies of
	  various rules, which in turn removed a number of "build loops"
	* gm2/config-lang.in: removed reference to gm2/p2c/p2c-src/examples/Makefile

2006-01-04	 Gaius Mulley <gaius@glam.ac.uk>

	* implemented module priorities.
	* implemented gm2/gm2-libs-pim/TimeDate.mod
	* added testsuite/gm2/pimlib/coroutines/pass/priority.mod,
          testsuite/gm2/pimlib/coroutines/pass/priority2.mod and
          testsuite/gm2/pimlib/logitech/run/pass/timedate.mod
	* included TimeDate to be installed as part of the pim
	  libraries.

2006-01-03	 Michael H Lambert <lambert@psc.edu>

	* fixed typo in gm2/gm2.texi
	* added __ppc__ ifdefs into testsuite/gm2/iso/pass/realbitscast.mod
          so that it ignores the REAL96 test on the G5
	* added __ppc__ ifdefs into testsuite/gm2/switches/pim4/run/pass/FpuIOBug.mod

2005-12-29      Gaius Mulley <gaius@glam.ac.uk>

	* corrections made to gm2/gm2.texi

2005-12-24      Gaius Mulley <gaius@glam.ac.uk>

	* joined lines in gm2/tools-src/createUlmSys as
	  requested by Christoph <modula2@myrealbox.com>
	  so that gm2 will build on netbsd 2.1.
	* added time and tm to gm2/gm2-libs/libc.def.
	* added partial implementation of
	  gm2/gm2-libs-pim/TimeDate.def
          gm2/gm2-libs-pim/TimeDate.mod

2005-12-22      Gaius Mulley <gaius@glam.ac.uk>

	* added gm2/gm2-libs-pim/Random.def and
          gm2/gm2-libs-pim/Random.mod and
	* modified gm2/Make-lang.in to install new module.
	* remove Random from the TODO list.

2005-12-21      Gaius Mulley <gaius@glam.ac.uk>

	* added gm2/gm2-libs-pim/Strings.def and
          gm2/gm2-libs-pim/Strings.mod
 	* modified gm2/Make-lang.in to install new module.

2005-12-19      Gaius Mulley <gaius@glam.ac.uk>

	* implemented logitech compatible library
	  gm2/gm2-libs-pim/RealConversions.def and
          gm2/gm2-libs-pim/RealConversions.mod
	* added regression test for RealConversions
	  testsuite/gm2/pimlib/logitech/run/pass/realconv.mod
	* fixed regression test expect script to set the
	  library path correctly.
	* updated gm2/gm2-libs.texi to reflect addition of
	  RealConversions.mods
	* added gm2/gm2-libs-pim/FloatingUtilities.def
	* added gm2/gm2-libs-pim/FloatingUtilities.mod
	* increased number of builtin functions accessible to GNU Modula-2.

2005-12-13      Gaius Mulley <gaius@glam.ac.uk>

	* gm2/gccgm2.c:default_conversion now checks the base type.
	* gm2/gm2-compiler/M2GCCDeclare.mod: add Subrange types onto the
	  to do list, if they are not yet resolved.

2005-12-10      Gaius Mulley <gaius@glam.ac.uk>

	* fixed Copyright in gm2/gm2-libs-pim library modules
	* gm2/gm2-compiler/M2Quads.mod:BuildForToByDo allowed Z type by value.
	* gm2/gm2-compiler/M2Quads.mod:BuildPseudoBy converted by value if type
	  is known.
	* fixes a bug reported by: James V. Cox example given in
	  testsuite/gm2/pim/run/pass/EnumTest.mod

2005-12-10      Gaius Mulley <gaius@glam.ac.uk>

	* fixed Copyright in gm2/gm2-libs-pim library modules

2005-12-06      Gaius Mulley <gaius@glam.ac.uk>

	* fixed Copyright in University of Ulm modules and also p2c.
	* heavily tidied up the p2c source tree.

2005-12-05      Peter P. Eiserloh <peter@eiserloh.org>

	* contributed the gm2 manual page and associated Makefile
	  in the new subdirectory: gm2/man.

2005-11-29	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug reported by John Wallace and Juan Reyes
	  concerning FOR loops with negative step values.
	* added new runtime regression tests gm2/pim/run/pass/For[78].mod
	  to test these new changes.
	* changes to gm2/gm2-compiler/M2Base.mod, gm2-compiler/M2Code.mod,
          gm2/gm2-compiler/M2GenGCC.mod, gm2/gm2-compiler/M2Quads.mod
	  to ensure that the Negate operator works on large data types
	  LONGCARD contants are changed into LONGINT and overflow is
	  checked.

2005-11-22	Gaius Mulley <gaius@glam.ac.uk>

	* modified ppg to take an extra parameter -f which emits the
	  Free Documentation License header when producing texinfo
	  ebnf rules.
	* fixed many dates on source files.

2005-11-21	Gaius Mulley <gaius@glam.ac.uk>

	* fixed many Copyright dates and GPL, LGPL and FDL license
	  issues.
	* replaced gm2/ulm-lib-gm2/std/Storage.mod with an implementation
	  which uses malloc and free. This in turn fixes a runtime regression
	  test (hello world) now works with the Ulm libraries.
	* fixed gm2/gm2.texi to include FDL notice and also fixed all
	  included texi files in the same way.
	* added GPL, Modula-2 and Copyright notices to all gm2/tools-src
	  files.

2005-11-15	Gaius Mulley <gaius@glam.ac.uk>

	* added more regression tests and
	* completed the printing of set types within gdb
	* completed the printing of array and subrange types within gdb
	* made gdb print Modula-2 style CHARs and improved type printing
	  within gdb.
	* rationalised the gdb and gcc patches within the gm2/patch
	  subdirectories.
	* modified gm2-harness-0.6 to apply patches in order.
	* minor fixes to gm2/gccgm2.c to give better type information.
	* improved gdb section within gm2/gm2.texi

2005-11-11	Gaius Mulley <gaius@glam.ac.uk>

	* fixed minor node bugs in gm2/gm2.texi, gm2/gpl.texi, gm2/gnu.texi

2005-11-10	Gaius Mulley <gaius@glam.ac.uk>

	* added gm2/COPYING.LGPL
	* changed all references of the old FSF address to the new address.
	* fixed bugs reported by John Wallace (MAX(INTEGER), MAX(LONGINT),
	  MIN(INTEGER) and MIN(LONGINT)) were not correctly converted in
	  gm2/gm2-libs-pim/InOut.mod, gm2/gm2-libs/FpuIO.mod,
	  gm2/gm2-libs/NumberIO.mod.
	* added new regression tests in
	  gm2/switches/pim4/run/pass/InOutBug.mod and
	  gm2/switches/pim4/run/pass/FpuIOBug.mod which perform regression
	  runtime tests.

2005-11-07	Gaius Mulley <gaius@glam.ac.uk>

	* added gm2/COPYING and included licence information
	  inside gm2/gm2.texi
	* added gm2/gnu.texi and gm2/gpl.texi and referenced
	  them from gm2/gm2.texi

2005-11-06	Gaius Mulley <gaius@glam.ac.uk>

	* improved the gdb patches

2005-11-03	Gaius Mulley <gaius@glam.ac.uk>

	* fixes to set types and subranges which in turn
	  when applied with the patches made to ../../gcc/dwarf2out.c
	  and also gdb/gdb/dwarf2read.c allow subranges and
	  set types to be debugged when using the dwarf2 format.
	* included the patches to gcc-3.3.6 and gdb-6.3 under the
	  new directory gm2/patches
	* fixed patch for gdb-6.3
	* updated gm2/gm2.texi
	* released gm2-harness-0.6 which will automatically patch
	  gcc-3.3.6 and gdb-6.3, build and install these components.
	* fixed warnings from within the gcc patch

2005-10-14	Gaius Mulley <gaius@glam.ac.uk>

	* fixed set type debugging information.
	  Many changes to gm2/gccgm2.c and
	  minor changes to gm2/gm2-compiler/M2GenGCC.mod.
	  Debugging set types with gdb now works if -gstabs
	  are used on the command line of gm2 and also the
	  modified gdb-6.3 is used.

2005-10-13	Gaius Mulley <gaius@glam.ac.uk>

	* fixed call to ranlib in gm2/gm2-compiler/gm2lcc.mod

2005-10-10	Gaius Mulley <gaius@glam.ac.uk>

	* introduced an invocation to ranlib after producing the
	  archive to fix a linking bug on MacOS OS 10.3.9 reported
	  by: Thomas Ahn <TAhnMaple@gmx.de>.
	* propagated ranlib though the various subcomponents of
	  gm2: gm2/gm2spec.c gm2/lang-specs.h gm2/Make-lang.in
	  gm2/gm2-compiler/gm2lcc.mod gm2/gm2-compiler/M2Options.mod

2005-10-07	Gaius Mulley <gaius@glam.ac.uk>

	* replaced MathLib.mod onto the list of ULM modules
          which prior to installation.
	* fixed ggc bug so that types are remembered and marked.
	  These types are declared in M2GCCDeclare.mod before
	  code generation takes place and do not experience the
	  `push_decl' function.

2005-10-03	Michael H Lambert <lambert@psc.edu>

	* removed $(LIBS) from the dependancies of cc1gm2 in
	  stage1, stage2 and stage3.

2005-09-30	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug in gm2/gm2-libs/FpuIO.mod so that the sign is
	  not prepended to the string if the number is positive.
	* fixed gm2/gm2-libs-pim/Break.c to use HAVE_STDLIB_H and
	  HAVE_MALLOC_H as detected by the configure script.
	* removed ulm-lib-gm2/std/MathLib.mod from the build
	  process as a temporary work around to get gm2 working
	  under opendarwin.

2005-09-27	Gaius Mulley <gaius@glam.ac.uk>

	* finally fixed _toupper porting problem in p2c as reported
	  by Thomas Ahn <TAhnMaple@gmx.de>, Ed Smith-Rowland
	  <3dw4rd@verizon.net>, John o goyo <jgoyo@ca.inter.net>,
          Eduardo Abela <eabela@mac.com>, John Calley
	  <calleys@iquest.net> and many others.
	* finally fixed the linking problem when building under
	  opendarwin. I suspect this will fix the same problems
	  under MacOS.

2005-09-16	Gaius Mulley <gaius@glam.ac.uk>

	* implemented -Wpositive-mod-floor-div option
	* updated gm2/gm2.texi and added many switch testing
	  regression tests.

2005-09-13	Gaius Mulley <gaius@glam.ac.uk>

	* implemented REM
	* implemented MOD, DIV, / as per ISO, PIM2, PIM3, PIM4
	* updated gm2/gm2.texi documentation to reflect the rules

2005-09-12	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug reported by John B. Wallace, Jr <wallacjb@enter.net>
	  testsuite/gm2/pim/options/bounds/fail/IdentifierBug.mod
	* fixed bug reported by John B. Wallace, Jr <wallacjb@enter.net>
	  testsuite/gm2/testsuite/gm2/pim/pass/ABSBug.mod
	* fixed bug reported by John B. Wallace, Jr <wallacjb@enter.net>
	  testsuite/gm2/pim/run/pass/FpuIOBug.mod

2005-09-06	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug reported by John B. Wallace, Jr <wallacjb@enter.net>
          gm2-libs/StringConvert.mod incorrect assumption of negative valued
	  modulus operator.
	* added testsuite/gm2/pimlib/{logitech, ulm} with tests to check
	  that programs can be linked against logitech and the ulm libraries.
	* added testsuite/gm2/pim/run/pass/modulus.mod which tests for
	  various division and modulus cases.

2005-09-01	Gaius Mulley <gaius@glam.ac.uk>

	* implemented -Wdef=extension and -Wmod=extension switches
	  into GNU Modula-2 compiler and subcomponents (gm2l and gm2m).
	* documented the new switches in gm2/gm2.texi

2005-08-09	Gaius Mulley <gaius@glam.ac.uk>

	* fixed nested WITH statement bug and added
	* testsuite/gm2/pim/run/pass/nestedwith.mod to regressively
	  check the fix.

2005-08-08	Gaius Mulley <gaius@glam.ac.uk>

	* fixed many bugs in gm2/gm2-libs-coroutines/SysVec.mod
	* minor updates to gm2/gm2-libs-coroutines/TimerHandler.mod

2005-07-26	Gaius Mulley <gaius@glam.ac.uk>

	* modified debian directory so that 0.49 can be built as
	  a debian package

2005-07-25	Michel Derosa <derosa@videotron.ca>

	* fixed malloc.h include for BSD based systems in
	  gm2/gm2-libs-pim/Break.c

2005-07-21	Gaius Mulley <gaius@glam.ac.uk>

	* moved gm2/examples/executive/Executive, TimerHandler, Debug,
	  SysVec to gm2/gm2-libs-coroutines and
	* made gm2/Make-lang.in install these modules
	* removed the -Wulm option and replaced it with -Wlibs=ulm
	* added -Wlibs=logitech, -Wlibs=pim, -Wlibs=iso,
	  -Wlibs=pim-coroutine
	* altered gm2/Make-lang.in so that the correct library modules
	  are placed into the correct directories during install.

2005-07-20	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug exposed by: testsuite/gm2/pim/pass/maxlongint.mod
	* modified IsMathType in gm2/gm2-compiler/M2Base.mod accordingly.

2005-07-18	Gaius Mulley <gaius@glam.ac.uk>

	* updated gm2/gm2.texi and gm2/gm2-libs.texi
	* introduced modules Delay, ErrorCode, DebugTrace
	  and Break into gm2/gm2-libs-pim
	* modified gm2/Make-file.in so that these modules
	  are built and installed.

2005-07-14	Gaius Mulley <gaius@glam.ac.uk>

	* GM2 Release 0.49
	* tagged CVS using gm2_0_49

	* introduced SHORTCARD into p2c
	* added gm2/gm2-libs-pim/CardinalIO.def and
	  gm2/gm2-libs-pim/CardinalIO.mod
	* added a number of procedures to implement CardinalIO.mod
	  in gm2/gm2-libs/StringConvert.mod
	* improved gm2/gm2.texi
	* modified gm2/Make-file.in so that the library modules
	  in gm2/gm2-libs-pim are also built and installed

2005-07-10	Gaius Mulley <gaius@glam.ac.uk>

	* constant literal string array assignment of smaller sizes to
	  array variables and parameters.

2005-07-09	Gaius Mulley <gaius@glam.ac.uk>

	* implemented MAX(ADDRESS) and MIN(ADDRESS)

2005-07-08	Gaius Mulley <gaius@glam.ac.uk>

	* finally all ulm modules compile under GM2
	* fixed negative integer bug which was exposed in the 32 bit port
	  of gm2 when compiling testsuite/gm2/pim/pass/setoverflow.mod
	  and also gm2/ulm-lib-gm2/std/TimeIO.mod

2005-07-06	Gaius Mulley <gaius@glam.ac.uk>

	* fixed a number of bugs relating to gm2 failuring to compile
	  gm2/ulm-lib-gm2/std/TimeIO.mod. Nested modules within
	  procedures exporting variables.
	* alterations include correct type declaration ahead of
	  variable creation.
	* creating all variables in the outer most procedure scope
	  if these variables are exported from inner modules.
	* also fixed gm2/gccgm2.c so that pointer to sets are cast
	  into a generic ptr
	* also fixed offset into sets (which had assumed sets started
	  with an element value zero).

2005-06-22	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug reported by John O Goyo <jgoyo@ca.inter.net>
	  multiple indexed arrays were internally defined incorrectly
	  and did not allow users to mix array indices by a[x,y,z] and
	  a[x][y,z] etc as per PIM and ISO specification.
	  see testsuite/gm2/pim/pass/index.mod and
              testsuite/gm2/pim/pass/index2.mod and
              testsuite/gm2/pim/run/pass/index3.mod

2005-06-20	Gaius Mulley <gaius@glam.ac.uk>

	* added code to treat LOC as a system type in parameter
	  passing.

2005-06-17	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug reported by John O Goyo <jgoyo@ca.inter.net>
	  CAST of different sized variables would fail.
	* added new switch -Wpedantic-cast which warns if a cast
	  is converting a variable of a different size to the type.

2005-06-08	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug which occurred if a constant set was created
	  in a procedure through the CONST construct.
	* fixed a number of -Wextended-opaque issues in gm2/bnf/m2-h.bnf
	* modified gm2/Make-lang.in to use -Wextended-opaque (for testing)

2005-06-07	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug which occurred if an enumerated type field
	  was imported by another module.
	  (See testsuite/gm2/pim/pass/set10.mod)
        * fixed circular dependancy bug in record generation.

2005-06-03	Gaius Mulley <gaius@glam.ac.uk>

	* reverted some of the changes made to the ulm libraries
	  in the light of fixing arrays with huge indices.
	* mofified gm2/bnf/m2-h.bnf so that expressions within
	  statement sequences are ignored.

2005-06-02	Gaius Mulley <gaius@glam.ac.uk>

	* gm2/gccgm2.c fixed BuildArrayIndexType so that gm2 can build
	  arrays which have huge indices. This removes a failure from
	  the regression tests on systems which have a 32 bit long.

2005-06-01	Gaius Mulley <gaius@glam.ac.uk>

	* gm2/Make-file.in altered grep -e to aid portability under
	  Solaris (as reported by john o goyo <jgoyo@ca.inter.net>).
	* gm2/examples/server added example of a threaded server
	  which uses the executive, transfer and iotransfer.
	* gm2/examples/executive/Executive added KillProcess.
	* gm2/gm2-libs-coroutines/SysVec.mod fixed vector selection
	  bug.

2005-05-27	Gaius Mulley <gaius@glam.ac.uk>

	* gm2/gccgm2.c fixed to detect array indices which exceed
          sizetype.
        * gm2/lang-specs.h fixed to propagate the -Wcpp flags though
	  to gm2 subcomponents.

2005-05-25	Michel Derosa <derosa@videotron.ca>

	* applied patches to gm2/gm2.texi which describe FreeBSD
	  build instructions.

2005-05-19	Gaius Mulley <gaius@glam.ac.uk>

	* rebuilt gm2/gm2-libs/configure
	* gm2/gm2.texi added section heading for advice on building
	  GNU Modula-2 under FreeBSD 5.3

2005-05-19	Michel Derosa <derosa@videotron.ca>

	* applied patches to make gm2 build on FreeBSD 5.3
	* gm2/gm2-libs/configure.in test for signal.h and direct.h
	* gm2/gm2-libs/gm2-libs-host.h.in test for signal.h and direct.h
	* gm2/tools-src/createUlmSys test for signal.h and direct.h

2005-05-18	Gaius Mulley <gaius@glam.ac.uk>

	* testsuite/gm2/types/run/pass/varient5.mod introduced to stress
	  variant records (equivalent to a C union for casting BYTES
	  into a CARDINAL). Based on an idea from Michel Derosa.

2005-05-17	Gaius Mulley <gaius@glam.ac.uk>

	* gm2/gm2-compiler/M2Quads.mod modified to accept zero length strings
	  as compatible with type CHAR.
	* gm2/gm2-compiler/M2GenGCC.mod many modifications/refactoring to enable
	  strings of 1 or 0 characters to be type compatible with CHAR.
	* these fixes allow Iztok's ISO library to compile cleanly.

2005-05-16	Gaius Mulley <gaius@glam.ac.uk>

	* gm2/gm2-compiler/M2GenGCC.mod fixed to allow HIGH(ch) where ch is
	  of type CHAR.
	* gm2/gm2-compiler/M2GenGCC.mod fixed to allow comparison of literals
	  against subrange types.
	* gm2/gm2-compiler/M2GenGCC.mod fixed to allow automatic conversion
	  of strings of 1 or 0 characters to be passed to a parameter of
	  type CHAR.
	* these fixes allow more of the third party tests (from Iztok)
	  to pass.

2005-05-13	Gaius Mulley <gaius@glam.ac.uk>

	* gm2/Make-lang.in shell invocation to use $(SHELL) and also
	  converted bashisms into pure sh as suggested by
	  Michel Derosa <derosa@videotron.ca>

2005-05-12	Gaius Mulley <gaius@glam.ac.uk>

	* gm2/gm2-compiler/SymbolTable.mod and gm2/gm2-compiler/P2SymBuild.mod
	  modified to detect double declaration on import and produce useful
	  error messages.
	* gm2/Make-lang.in fixes to the gm2.install rule.
	* gm2/gm2-compiler/M2Quads.mod fixed BuildStaticArray to calculate
	  indices using INTEGER data type.

2005-05-11	Gaius Mulley <gaius@glam.ac.uk>

	* P2SymBuild.mod added call to CheckForEnumerationInCurrentModule
	  to fix 5 regression tests and allow enumeration types to be
	  visible when aliased via TYPEs and later IMPORTed.
	  (see testsuite/gm2/pim/pass/impf.mod)

2005-05-10	Gaius Mulley <gaius@glam.ac.uk>

	* major changes which now allow GM2 to compile nested varient records
	  (such as found in gm2/ulm-lib-gm2/std/RTErrors.def)
	* added runtime regression test in testsuite/types/run/pass
	* gm2/Make-lang.in modified to include RTErrors.mod to be built with
	  the ulm libraries. Grammer files are built without the -l option to pge.
	* gm2/gccgm2.c new functions gccgm2_BuildOffset1 determinePenultimateField
	  which implement modifications to record/varient field calculation.
	* gm2/gm2.texi contains gm2 internal documentation on how the front end
	  symbol table represents records, field and varient records.
	* gm2/bnf/m2-2.bnf removed commented out code.
	* gm2/examples/map/Makefile builds the utility semantic.
	* gm2/gm2-compiler/M2Base.mod modifications to reflect change in PutFieldRecord
	* gm2/gm2-compiler/M2GCCDeclare.mod added debugging procedures PrintVerbose
	  and PrintSymbol, which can be called interactively from gdb. Also fixed
	  varient record declaration.
	* gm2/gm2-compiler/M2GenGCC.mod fixed varient record field calculation.
	* gm2/gm2-compiler/M2Quads.mod changed operands to OffsetOp.
	* gm2/gm2-compiler/M2SubExp.mod changes to reflect OffsetOp change.
	* gm2/gm2-compiler/P2SymBuild.mod changed to allow nested varient records.
	* gm2/gm2-compiler/SymbolTable.[def, mod] changes to varient record
	  representation. Fixed memory leak.
	* gm2/gm2-compiler/gccgm2.def changed BuildOffset and added BuildOffset1
	* gm2/ulm-lib-gm2/std/RTErrors.def changed parameter name to match
	  implementation module.
	* gm2/ulm-lib-gm2/std/RTErrors.mod fixed pointer/integer constant type clash.

2005-04-11	Gaius Mulley <gaius@glam.ac.uk>

	* fixed examples/executive

2005-03-24	Gaius Mulley <gaius@glam.ac.uk>

	* included the keyword MODULE as an stop set element
	  in gm2m and gm2l.

2005-03-15	Gaius Mulley <gaius@glam.ac.uk>

	* GM2 Release 0.44
	* tagged CVS using gm2_0_44

2005-03-14	Gaius Mulley <gaius@glam.ac.uk>

	* finished tools-src/createUlmSys which builds a SYSTEM.c
	  (from ./configure results) ULM library compatible interface.
	* modified Make-lang.in to install the ULM libraries.
	* added new switch -Wulm which modifies the default search
	  path so that the ULM libraries are included.

2005-01-05	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug reported by john o goyo <jgoyo@ca.inter.net>.
	  (testsuite/gm2/pim/run/pass/Countdown.mod)
	* for loops are now implemented as per ISO description.
	  GNU Modula-2 now calculates the last iteration value
	  before the start of a loop. It then initializes the
	  iteration value and works towards the final value,
	  rather than testing to see whether the iteration value
	  exceeds or preceeds the limit value (this fails when using
	  a CARDINAL iterator and stopping at 0).
	* added a number of run tests to exercise these changes.

2004-12-22	Gaius Mulley <gaius@glam.ac.uk>

	* more fixes to enable to the Z type to work.
	* introduced GetM2ZRealType which maps onto the largest
	  real type tree.
	* 24 regression test failures out of 2148 on the Opteron LP64
	  9 fail within ulm libraries (Procedure/Module scope nesting).
	  15 fail with ISO import/export of enumeration types.
	* exactly the same regression test failures on 32 bit i386
	  implementation.
	* fixed regression test path, all tests are build and run
	  using gm2-harness-0.3

2004-11-29	Gaius Mulley <gaius@glam.ac.uk>

	* internal changes to ordinal type which now use the Z
	  type (long_long_int) for internal calculations before
	  being converted into the actual ordinal type at assignment
	  to a variable or procedure parameter or return value.
	* works on a 32 bit i386 but fails on the Opteron LP64 model.

2004-11-22	Gaius Mulley <gaius@glam.ac.uk>

        * compiler now checks for overflow at compile time
	  when constructing constant expressions.

2004-11-17	Gaius Mulley <gaius@glam.ac.uk>

	* fixed ppg to generate a comment for in-built rules when
	  producing the EBNF documentation within gm2.texi
	* updated gm2/gm2.texi to reflect availability of the
	  gm2-harness which will build and test gm2 automatically.

2004-11-12	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug reported by John B. Wallace, Jr <wallacjb@enter.net>
	  concerning negating a LONGINT constant
	  (see testsuite/gm2/pim/run/TestLong[34].mod).
	* updated gm2/TODO list
	* gm2/gccgm2.c added functions to determine the size necessary
	  for a Modula-2 constant.
	* gm2/gm2.texi modified documentation to reflect the ISO rules
	  concerning importing enumerated types.
	* gm2/gm2-compiler/SymbolTable.mod fixed possible buffer overflow
	  and integrated MakeConstLit with the changes to gccgm2.c.
	* minor modifications made to gm2/gm2-libs-pim/README.texi
	* moved a number of regression tests into pass/fail directories
	  to reflect the expected ISO enumeration behaviour. Note
	  that many of these now fail.

2004-11-05	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug reported by John B. Wallace, Jr <wallacjb@enter.net>
	  concerning assignment of a constant to a LONGINT
	  (see testsuite/gm2/pim/run/TestLong.mod).
	  Creation of LONGINT and LONGCARD constant literals
	  was broken for values > MAX(INTEGER).

2004-10-29      John B. Wallace, Jr <wallacjb@enter.net>

	* fixed infinite loop when calling StrToLongInt.
	* contributed test code testsuite/gm2/pim/run/TestLong.mod

2004-10-26	Gaius Mulley <gaius@glam.ac.uk>

	* fixed -Wpedantic-param-names option.
	* added runtime tests and also parameter switch tests
	* added testsuite/gm2/switches/pedantic-params
	* added testsuite/gm2/pim/run and a number of old m2f tests
	* made compiler check to see that opaque types are really
	  equivalent to a pointer type if -Wextended-opaque is absent.
	* added testsuite/gm2/switches/extended-opaque/{pass,fail}
	  to stress this check.

2004-10-19	Gaius Mulley <gaius@glam.ac.uk>

	* added -Wpedantic-param-names option to check that
	  parameters to procedures declared in definition modules
	  have identical names to their implementation module
	  procedure counterparts.
	* fixed bug report by Iztok Kobal. The compiler would
	  crash when a constant was assigned to a procedure.

2004-10-18	Gaius Mulley <gaius@glam.ac.uk>

	* modified gm2/lang-specs.h to make the front end run
	  with only the -S option. No longer requires -S -c.
	  Bug reported by john o goyo <jgoyo@ca.inter.net>.

2004-10-12	Diego Rodr=EDguez Rodr=EDguez <dieymir@yahoo.es>

	* gm2/Make-lang.in introduced gm2.install rule so that
	  GNU Modula-2 can be installed without overwriting an
	  existing installation of gcc.
	* gm2/README updated to explain how to only install gm2.

2004-10-12	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug reported by John B. Wallace, Jr
	  <wallacjb@enter.net>. See testsuite/gm2/pim/run/pass/str6.mod.

2004-10-07	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug reported by Iztok Kobal,
	  GNU Modula-2 now allows a RETURN statement in the
	  initialization section of the module.
	* fixed another bug reported by Iztok Kobal,
	  binary and unary large set operators failed when
	  handling constant set values.

2004-09-20	Gaius Mulley <gaius@glam.ac.uk>

	* fixed varient record bug as reported by John B. Wallace, Jr
	  <wallacjb@enter.net>. See testsuite/gm2/pim/pass/varient.mod.

2004-09-16	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug in gm2/gm2-compiler/Indexing.mod which
	  occurred after the p2c translation.
	* in turn this fixed a gm2m problem. The bug resulted in
	  touching memory which would not have been malloced so
	  this fix may have cured a number of problems.

2004-09-14	Gaius Mulley <gaius@glam.ac.uk>

	* fixed the ncurses definition module and WindowDevice module.
	* fixed M2RTS:Termination to call termination procedures in
	  reverse.

2004-09-07	Gaius Mulley <gaius@glam.ac.uk>

	* tidied up gm2-compiler/M2Base.mod and introduced
	  compatability matrices which include all the base
	  types.

2004-09-03	Gaius Mulley <gaius@glam.ac.uk>

	* introduced SHORTINT and SHORTCARD data types.
	* added ncurses.def example in examples/ncurses

2004-08-31	Gaius Mulley <gaius@glam.ac.uk>

	* modified SIZE handling so that SIZE is only available
	  from SYSTEM when -Wpim2 is present.
	* fixed bug as reported by "John B. Wallace, Jr."
	  <wallacjb@enter.net>. A variable which when implicitly
	  imported via an IMPORT module; failed.
	  The variable was not being declared correctly by the
	  GNU Modula-2 front end to the GCC back end.

2004-08-27	Gaius Mulley <gaius@glam.ac.uk>

	* added new switch -Wpim2 to stipulate the Modula-2 PIM-2
	  dialect.
	* Made SIZE pervasive for ISO Modula-2 and PIM-[34] Modula-2
	  As reported by Diego RodrÃ­guez RodrÃ­guez <dieymir@yahoo.es>.
	  SIZE can be imported from SYSTEM when -Wpim2 is present.
	* removed the association with ".def" and "@modula-2"
	  inside gm2/lang-specs.h as this conflicts with shared library
	  file extension .def used by gcc. Bug reported by Gerrit P. Haase
	  <gp@familiehaase.de>.

2004-08-26	Gaius Mulley <gaius@glam.ac.uk>

	* implemented type PROCESS for SYSTEM in the pim library
	  directory (gm2/gm2-libs-coroutines).
	* SYSTEM implements NEWPROCESS, TRANSFER, IOTRANSFER.
	  This is achieved by using the GNU pthread library context
	  mechanism.
	* provided an Executive and TimerHandler module in
	  (gm2/examples/executive).
	* many bug fixes and regression tests show that 3 ulm standard
          library modules fail.
	* implemented MAX(REAL), MIN(REAL) and also provided access to
	  three more gcc builtin functions: huge_val, huge_vall, huge_valf
	* started work on a Logitech 3.0 compatible library.

2004-07-06	Gaius Mulley <gaius@glam.ac.uk>

	* improved error handling of unknown objects in EXPORT lists.
	* added regression test
	* implemented a few procedures in the ISO libraries.

2004-07-02	Gaius Mulley <gaius@glam.ac.uk>

	* fixed many IMPORT bugs in inner modules

2004-06-30	Gerrit Haase <gp@familiehaase.de>

	* cygwin patch for gm2/Make-lang.in

2004-06-29	Gaius Mulley <gaius@glam.ac.uk>

	* fixed EXPORT of an object from an inner module into an
	  implementation module which EXPORTs the same object.
	* fixed EXPORT of a procedure from an inner module into an
	  outer module which is not exported but is assigned to a
	  variable.

2004-06-28	Gaius Mulley <gaius@glam.ac.uk>

	* made flex lexical analysers ignore carriage return
	* fixed bug in M2Quads.mod checking parameter of
	  a const var before value was known.
	* fixed local MODULEs so that they can FROM mod IMPORT
	* tidied up some ulm implementation modules in ulm-lib-gm2/std

2004-06-22	Gaius Mulley <gaius@glam.ac.uk>

	* allowed LONGCARD compatibility with INTEGER
	* allowed LONGINT compatibility with CARDINAL
	* allowed LONGCARD compatibility with CARDINAL
	* allowed LONGINT compatibility with INTEGER

2004-06-21	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug in constant set declaration
	  (see ulm library ulm-lib-gm2/std/Calendar.mod and
	   testsuite/gm2/pim/pass/setconst.mod and
           testsuite/gm2/pim/pass/setconst2.mod)
	* all regression tests pass on the Opteron port of gm2.

2004-06-18	Gaius Mulley <gaius@glam.ac.uk>

	* implemented nested module within procedures.
	  This allows a few more ulm library modules to compile.

2004-06-07	Gaius Mulley <gaius@glam.ac.uk>

	* 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

2004-05-10	Gaius Mulley <gaius@glam.ac.uk>

	* gm2 now builds on FreeBSD 5.2.1
	* removed to_upper and to_lower in p2c
	* made gm2/gm2-libs/configure and friends test for `strsignal'
	* fixed initialization bug (missing memset)
	  in gm2/gm2-compiler/Indexing.mod

2004-05-06	Gaius Mulley <gaius@glam.ac.uk>

	* added SHIFT and ROTATE into ISO SYSTEM and
	  made the compiler shift and rotate word and multi-word
	  set types. Multi-word set rotate and shifts are implemented
	  by calling ISO SYSTEM runtime procedures. Word sized sets or
	  smaller are implemented inline using shift/rotate instructions.

2004-05-05	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug report by Paul Whittington <pwhittington@nitrodata.com>
          (see testsuite/gm2/link/pim/fail/import.mod).

2004-04-30	Gaius Mulley <gaius@glam.ac.uk>

	* updated gm2.texi to reflect new options and changes to the
	  run-time system.

2004-04-28	Gaius Mulley <gaius@glam.ac.uk>

	* introduced -Wunbounded-by-reference option which will make a
	  reference to non VAR unbounded data providing it is not written to
	  within the callee procedure.
        * introduced -Wverbose-unbounded option which displays names of
	  unbounded parameters which the compiler will implement as
	  references even though they were specified as non VAR parameters.

2004-04-27	Gaius Mulley <gaius@glam.ac.uk>

	* introduced -Wcase, -Wnil runtime checks
	* introduced -Wcheck-all to enable all runtime flags
	* updated documentation to refect new options

2004-04-19	Gaius Mulley <gaius@glam.ac.uk>

	* added more address regression tests
	* fixed address arithmetic bugs as reported by Waldek Hebisch
	* fixed record referencing bug as reported by Waldek Hebisch

2004-04-08	Gaius Mulley <gaius@glam.ac.uk>

	* tagged CVS using gm2_0_43

2004-04-07	Gaius Mulley <gaius@glam.ac.uk>

	* GM2 Release 0.43
	* The opteron port is finally integrated into CVS
	* fixed bug in vararg parameter declaration which in turn..
	* fixed varargs within the opteron port
	* checked in "work in progress" gm2/gm2-iso/COROUTINES.mod

2004-04-06	Gaius Mulley <gaius@glam.ac.uk>

	* removed gm2-compiler/M2Stack.def gm2-compiler/M2Stack.mod
	* made bnf/h2def.bnf 64 bit clean, but not fixed any bugs in h2def.

2004-04-05	Gaius Mulley <gaius@glam.ac.uk>

	* fixed gm2.paranoid and all regression tests for the Opteron port
	* checked in the opteron port which includes many changes
	* int/word based types are now separated from pointer based types.
	* modified p2c to use int for INTEGER and unsigned int for
	  CARDINAL rather than int and unsigned long.
	* added gm2-compiler/M2StackWord and gm2-compiler/M2StackAddress
	* added gm2-compiler/Indexing to handle arbitary sized arrays of
	  pointers.
	* removed many INTEGER/CARDINAL <-> ADDRESS coersions
	* fixed compiler to use new modules above (many changes)
	* have moved away from M2Printf using WORD parameters to ARRAY OF
	BYTE as this was not 64 bit clean
	* fixed p2c to handle ARRAY OF BYTE correctly
	* fixed gm2 to handle ARRAY OF BYTE correctly

2004-04-01	Gaius Mulley <gaius@glam.ac.uk>

	* fixed record parameter equivalence bug as reported by Waldek
	  (see testsuite/gm2/pim/pass/record4.mod)

2004-03-26	Gaius Mulley <gaius@glam.ac.uk>

	* fixed array type equivalence bug as reported by Waldek
	  (see testsuite/gm2/pim/pass/array2.mod)

2004-03-25	Gaius Mulley <gaius@glam.ac.uk>

	* Implemented __FUNCTION__ keyword which is translated
	  into a string containing the name of the current visible
	  function.
	* Retrofitted a function name into many of the runtime
	  procedures within M2RTS and added a new
	  procedure Halt to M2RTS.

2004-03-18	Gaius Mulley <gaius@glam.ac.uk>

	* Implemented MIN and MAX for types LONGINT and LONGCARD

2004-03-17	Gaius Mulley <gaius@glam.ac.uk>

	* GM2 Release 0.42
	* MinGW cross compilation port entered into CVS
	* added -Wtarget-ar to gm2lcc.mod, gm2specs.c lang-specs.h
	* added gm2/configure and associated files to determine
	  the whereabouts of target `ar'.
	* added gm2/gm2-libs/configure and associated files to
	  test for target libraries, header files and C functions.
	  Required to implement the gm2-libs.

2004-02-13	Gaius Mulley <gaius@glam.ac.uk>

	* GM2 Release 0.41
	* native sparc port passes make gm2.paranoid and make check-gm2
	* native i386  port passes make gm2.paranoid and make check-gm2
	* fixed bug in M2GenGCC.mod, coerced constant set parameter
	  values to correct set type.
	* fixed bug in M2GenGCC.mod when assigning constant to an ISO WORD

2004-02-10	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug in gccgm2.c CompareTrees should be tested for <= 0
	  when testing for small set sizes.
	* fixed Make-lang.in so that we only link gm2-compiler-boot/clex.o
	  during stage1. This build error showed up during cross building.

2004-02-05	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug as demonstrated in
          testsuite/gm2/pim/pass/subrange4.mod
	* all regression tests now pass on the *86 platform
	  under Debian Woody.

2004-02-05	Gaius Mulley <gaius@glam.ac.uk>

	* fixed more constant subrange bugs.
	* added new quad to delimit the start of declaration
	  scope of a procedure.
	* regression test failures reduced from 9 to 3.

2004-01-03	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bugs in forward and previous references within gm2.texi
        * fixed more constant set conversion bugs which reduces
	  the number of regression failures from 15 to 9.

2003-12-26	Gaius Mulley <gaius@glam.ac.uk>

	* increased the number of regression tests to 1332
	* gm2 passes 1317 and fails 15
	* many bug fixes..
	* improved documentation, gm2.texi. Now contains
	  a ebnf description of GNU Modula-2 extracted from
	  bnf/m2.bnf.
	* completed the optional final parameter argument.
	* reimplemented the CAP standard function so that it
	  can be used within constant expressions.

2003-11-27	Gaius Mulley <gaius@glam.ac.uk>

	* fixed a bug in the handling of the -Wcpp option so that it uses
	  -traditional-cpp
	* integrated the gm2 and m2f regression tests into the GNU GCC
          dejagnu format - all the m2f tests are now used to test gm2.
	* started work on a minor extension to GNU Modula-2 which allows
	  the last parameter to be optional. In turn this allows a
	  Modula-2 implementation of the ISO module COROUTINES which is
	  in development.

2003-11-13	Gaius Mulley <gaius@glam.ac.uk>

	* modified the generated .h files to be prefixed with `G' to avoid
	  name clashes which in turn allows gm2 to be built under a vfat
	  file system.

2003-11-07	Gaius Mulley <gaius@glam.ac.uk>

	* changed the flag name -Wverbose to -Wsources

2003-11-07	Gaius Mulley <gaius@glam.ac.uk>

	* improved array index type debugging description in gccgm2.c
	  which allows gdb to understand that arrays are declared ARRAY
	  [low..high] rather than ARRAY [0..high-low]

2003-11-04	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug in procedure type declaration.

2003-11-03	Gaius Mulley <gaius@glam.ac.uk>

	* modified ProcedureBlock rule in bnf/m2.bnf, bnf/m2-[23h].bnf
	  to comply with ISO syntax. The 'BEGIN' statement sequence is
	  optional.
	* updated the gm2.texi to include a description about
	  the -Wextended-opaque option.

2003-10-23	Gaius Mulley <gaius@glam.ac.uk>

	* fixes to opaque type (in)compatibility for expression and assignments.

2003-10-09	Gaius Mulley <gaius@glam.ac.uk>

	* fixed gm2 build with ./configure --enable-checking

2003-10-07	Gaius Mulley <gaius@glam.ac.uk>

	* introduced -Wextended-opaque which enables the GM2 extension
	  to opaque types. This allows opaque types to be non pointer
	  types, but requires that GM2 parse the corresponding
	  implementation module.
	* modified GM2 to default to the standard opaque implementation
	  of using SYSTEM.ADDRESS as the `opaque type' outside the
	  module of its declaration.
	* introduced -Wverbose to allow users see the source file names
	  for modules as they are being compiled.

2003-09-30	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug in ADDADR as reported by Iztok
	* fixed bug in exported type name clashes as reported by Iztok
	* fixed bug with multiple type references to a SET
	* fixed Min`basetype' to contain the type `basetype'
	* tidied up IsReallyPointer in M2Quads.mod

2003-09-25	Gaius Mulley <gaius@glam.ac.uk>

	* fixed -Wmakeall option.
	* fixed CARDINAL type to have range 0..max(unsigned int)
	  rather than 0..max(integer) as reported by Iztok.
	* fixed set type incomparability as reported by Iztok.
	* fixed README note about make gm2.paranoid as reported by
          Matthias Kurz.
	* fixed many of the example programs which were broken during
	  the migration to gcc-3.3.1.
	* fixed lang-specs.h to invoke new cpp.
	* removed the M2PATH environment variable usage.
	* added more modules to make gm2.paranoid.
	* fixed gm2->gcc declaration of arrays.
	* fixed infinite loop in M2GenGCC.mod and M2Optimize.mod
	* added more regression tests.
	* fixed Make-file.in as suggested by Matthias Kurz.
	* fixed tools-src/makeversion and tools-src/buildpg to be
	  more portable as suggested by Matthias Kurz.
	* fixed examples/pthread

2003-09-19	Gaius Mulley <gaius@glam.ac.uk>

	* GM2 release 0.40
	* brought GM2 up to date with gcc-3.3.1
	* introduced new files gm2-common.h, gm2-common.c,
	  gm2-lang.h, gm2-tree.h to reflect the new garbage collection
	  mechanism.
	* major changes to gccgm2.c to reflect migration from gcc-3.2 to
	  gcc-3.3.1
	* introduced gm2-compiler/M2Scope.def, gm2-compiler/M2Scope.mod
	  to manage the quadruples which represent a particular scope
	* major recoding of M2Code and the order that quadruples are coded
	  into GCC trees. This in turn fixes a very serious nested
	  procedure bug. (gm2/m2/comp/autotest/gm2/localproc.mod and
	  convert.mod).
	* changes to M2GCCDeclare.mod, M2GenGCC.mod, M2BasicBlock.mod
	  to allow quadruples to be translated via outer scope to inner
	  scope ordering.
	* M2Code.mod is much cleaner.
	* fixed a number of uninitialised variable errors and bad pointer
	  errors. All caught by the extremely useful x86 utility valgrind.
	  In turn this fixes a Redhat 9.0 build problem.
	* fixed bugs in DynamicStrings.mod, ppg.mod, SEnvironment.mod
	* introduced the debian package files (gm2/debian) so that .deb
	  package (gm2) can be built.
	* fixes to gm2 so that it can compile the University of Ulm's
	  system modules.

2003-06-01	Gaius Mulley <gaius@glam.ac.uk>

	* added the LONGCARD data type.
	* fixed subrange declarations so that they can be prefixed
	  by a qualident.
	* fixed variant record for ISO syntax
	  (gm2/m2/comp/autotest/gm2/caseiso.mod).
	* fixed importing of an enumerated element
	  (gm2/m2/comp/autotest/gm2/impm.mod).

2003-05-27	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug reported by Iztok Kobal
	  (gm2/m2/comp/autotest/gm2/realbitscast.mod).
	  Fixed cast to copy data.
	* enabled SIZE to be invoked from constant expressions.

2003-05-20	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug reported by Iztok Kobal
	  (gm2/m2/comp/autotest/gm2/testlength3.mod)
	  LENGTH is now mapped onto M2RTS.Length if the parameter is
	  not a constant at compile time.

2003-05-16	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug reported by Iztok Kobal
	  (gm2/m2/comp/autotest/gm2/longstrimp.mod)
	  and also (gm2/m2/comp/autotest/gm2/imp[deghij].mod)

2003-05-08	Gaius Mulley <gaius@glam.ac.uk>

	* implemented the standard function LENGTH
	* allowed standard functions to be called from constant expressions
	* improved cyclic data type dependancy error messages
	* SIZE is now only exported from SYSTEM if the switch -Wiso is absent
	  SIZE is declared as a standard procedure if -Wiso is present

2003-05-07	Gaius Mulley <gaius@glam.ac.uk>

	* implemented ISO BITSET as a standard type which takes
	  effect when -Wiso is present on the command line.
	* backed out garbage collection change to m2.lex
	* fixed bugs reported by Iztok Kobal
	  (gm2/m2/comp/autotest/gm2/[testexit.mod, bitset3.mod bits32.mod])

2003-05-06	Gaius Mulley <gaius@glam.ac.uk>

	* modified Storage and SysStorage modules so that the procedure
	  DEALLOCATE assigns the pointer to NIL
	* fixed bug reported by Iztok Kobal
	  (gm2/m2/comp/autotest/gm2/bitset2.mod)

2003-05-05	Gaius Mulley <gaius@glam.ac.uk>

	* fixed two bugs reported by Iztok Kobal.
	* fixed bug in M2GCCDeclare.mod (BITSET's subrange was undeclared).
	* added BITNUM, the subrange from which BITSET is constructed,
	  in SYSTEM.
	* added regression test case for this bug.
	* also modified c.lex to use xstrdup and not strdup.

2003-05-01	Gaius Mulley <gaius@glam.ac.uk>

	* added pseudo functions, CAP, ODD, ABS
	* removed gm2-libs/Math.def which defined ABS

2003-04-29	Gaius Mulley <gaius@glam.ac.uk>

	* examples/pthreads cleaned up
	* introduced ISO SYSTEM. Limitations, TSIZE only takes one parameter,
	  and SHIFT, ROTATE are not implemented yet
	* renamed gm2-libs/Strings to gm2-libs/DynamicStrings to avoid name
	  clash with gm2-iso/Strings
	* p2c modified to understand DEFINITION MODULE FOR "C"
	* gm2-libs/libc.def modified to use DEFINITION MODULE FOR "C"
	* gm2-iso/libc.def removed
	* linking references to libc (in gm2/init/*init) removed
	* gm2/tools-src/def2texi finished
	* gm2/gm2-libs.texi built via gm2/tools-src/def2texi
	* gm2/gm2.texi now contains library definition modules and index
	* added -Wiso switch to gm2 driver

2003-04-12	Gaius Mulley <gaius@glam.ac.uk>

	* first cut of h2def released
	* examples/pthreads introduced
	* examples/vga.def generated by h2def
	* fixed bug in CodeBecomes
	* fixed constant set bug in M2GenGCC.mod
	* updated gm2.texi to reflect introduction of h2def
	* build mechanism tidied up. p2c is now built from the top level
	  makefile.
	* some portability features of p2c fixed, so that it builds
	  cleanly under Apple Darwin
	* many internal changes made to ppg to handle recursive ebnf
	  rules.
	* fixed automatic export of unqualified identifiers from a
	  DEFINITION MODULE FOR "C"

2003-02-02	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug reported by Iztok Kobal, the gm2-iso/ChanConsts module
	  failed to compile. Added a regression test to catch this.

2003-02-01	Gaius Mulley <gaius@glam.ac.uk>

	* bug fixes in error handling. In particular duplicate symbols
	  are better handled.
	* development checkin of the h2def tool and subsidiary modules.

2003-01-20	Gaius Mulley <gaius@glam.ac.uk>

	* bug fixes for gm2m and link-specs.h which allow libraries
	  to be added with the -Wmakeall option.
	* fixed a number of built-in definitions in Builtin.def
	* also added MathLib0.def and MathLib0.mod to the pim libraries.
	* fixed svga example test
	* added long double math built-ins

2003-01-17	Gaius Mulley <gaius@glam.ac.uk>

	* bug fixes to the line numbering debugging info
	  which is passed to gcc. Resulting in better gdb support.

2003-01-14	Gaius Mulley <gaius@glam.ac.uk>

        * added the C `double' math built-ins
	* fixed path in Make-lang.in which caused `file not found
	  error' during build
	* updated documentation to show correspondance between C and
	  M2 data types.
	* fixed bug in M2SubExp.mod shown by indirect procedure calls
	* fixed bug in M2Constants.mod
	* introduced SHORTREAL data type and removed the pseudo module
	  MATH as built-ins are handled via gcc backend.
	* removed corresponding gm2-compiler/M2Math module.

2003-01-11	Gaius Mulley <gaius@glam.ac.uk>

	* changed ebnf to allow empty variant clauses in a case
	  statement. Now complies with ISO case statement syntax.
          (Bug reported by Iztok Kobal)

2003-01-09	Gaius Mulley <gaius@glam.ac.uk>

	* initial checkin of complete built-in function support
	  to obvious C functions.
	* gm2-libs/libc.c, gm2-libs/libc.def:: modified reference
	  to cfree to free as suggested by John Calley

2003-01-02	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug reported by Matthias Manhart
	  (procedure type).

2002-12-20	Gaius Mulley <gaius@glam.ac.uk>

	* added __ATTRIBUTE__ __BUILTIN__ ((Ident))
	  rules for obtaining target compiler constants
	* fixed handling of recursive procedure type definitions
	  bug reported by Iztok Kobal
	* improved base types to aid gdb in displaying data types
	* checked in some sketchy initial ISO library implementation
	  modules

2002-11-03	Gaius Mulley <gaius@glam.ac.uk>

	* GM2 Release 0.33
	* implemented large sets
	* implemented ISO complient sets
	* definition modules no longer have to explicitly export
	  identifiers

2002-06-20	Gaius Mulley <gaius@glam.ac.uk>

	* GM2 Release 0.32
	* now supports building a cross compiler (strong-arm) tested

2002-06-09	Gaius Mulley <gaius@glam.ac.uk>

	* brought gm2 up to date with gcc-3.2
	* fixed the $(srcdir) in all Makefile.in's
	* configuring and building gm2 is now recommended
	  to occur outside the source tree.
	* many changes to gccgm2.c to reflect gcc-3.2

2002-05-04	Gaius Mulley <gaius@glam.ac.uk>

	* implemented DEFINITION MODULE FOR "C"
	* implemented -Wmakeall
	* implemented varargs in "C" modules
	* added gm2/examples directory
	* updated documentation
	* gm2m and gm2l are now built from ebnf descriptions
	  by ppg

2002-04-15	Gaius Mulley <gaius@glam.ac.uk>

	* GM2 Release 0.21
	* brought gm2 up to date with gcc-3.0.4
	* make paranoid works on Debian GNU/Linux (Athlon)
	* finally finished rewrite of a number of key modules
	* Strings.mod used instead of StrLib.mod allowing for
	  dynamic arrays
	* new flex built lexical analyser in use.
	* cpp is run on all definition/implementation modules if
	  -Wcpp is used.
	* gm2m rewritten
	* gm2 and its utilities now use -I for path specification
	  rather than -M
	* Makefiles much simplified, removed most recursive makes.
	* all parsers are now mechanically generated using ppg.
	* ppg built if required.

2001-08-01	Gaius Mulley <gaius@glam.ac.uk>

	* brought gm2 up to date with gcc-3.0
	* fixed opaque handling in the new parser
	* now using new parser by default
	* rewritten NameKey.mod, removing any static limits on array
	sizes by using dynamic data structures throughout.
	* improved p2c so that it handles opaque types properly.
	* modified Lists.def, SymbolKey.def to use opaque types.

2001-03-09	Gaius Mulley <gaius@glam.ac.uk>

	* fixed bug in FpuIO.mod which failed to issue a '-' when emitting
	  real numbers.
	* added many new tests to the regression directory (autotest).
	* fixed bugs in the bnf descriptions. Compiler is now using
 	  automatically generated parser for P1, P2 and P3. Just PH
 	  remains hand built.
        * Introduced a number of small regression tests following
 	  Olivier's extensive bug report on (m2f). Fixed a number
 	  of bugs reported, see gm2/m2/comp/BUGS for details.
	* Fixed bug in M2Lexical.mod causing mismatch between
 	  source line numbers and gdb information.
        * Fixed + - / of constant sets.
        * removed tests for the interim (they exist under
 	  bitset3.mod.breaks and string.mod.breaks respectively)
        * modifications to stop overflow on max CARDINAL when converting
 	  numbers into strings (NumberIO.mod)

2001-02-28	Gaius Mulley <gaius@glam.ac.uk>

	* using new parser P1SyntaxCheck.mod and P2Build.mod
	  P1SyntaxCheck.mod now inserts simple missing tokens.
	* both automatically generated and provide better error
	  recovery
	* improved some error messages

2001-01-23	Gaius Mulley <gaius@glam.ac.uk>

	* brought gm2 up to date with gcc-20001204
	* introduced configure and moved all makefiles to Makefile.in
	* tidied up p2c a little, in an attempt to reduce the compile
 	  time warnings

2000-12-02	Gaius Mulley <gaius@glam.ac.uk>

	* brought gm2 up to date with gcc-20001120
	* garbage collection now working in gm2
	* introduced EXPORT UNQUALIFIED as a method for writing
	  definition modules as interfaces for C libraries
	* altered link tools to reflect EXPORT UNQUALIFIED
	* started work on preprocessing source when -Wcpp is supplied
	* tidied up gccgm2.c

2000-09-25	Gaius Mulley <gaius@glam.ac.uk>

	* added error messages to lang-spec.h. Issued if wrong combination
	  of -Wuselist -Wmodules -Wmakelist and -c are supplied.

2000-09-14	Matthias Kurz <mk@baerlap.north.de>

	* Many makefile portability corrections (tests for symbol links).
	  Made makeversion more portable via guessing email address.
	  Added setenv emulation in libc.c.
	  Inserted missing Close(fo) to gm2lgen.mod.GenMain().
	  Improved README,
	  Added QUIAT to the makefiles.
	  Cast EOF to (char) inside mkfor.c mklink.c.
