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

ooc-980713 & oo2c-1.3.8



New in 1.3.8:

Some fixes to the compiler and some library modules.  Revised
TextRider module as discussed on the mailing list.  The low-level file
modules use O_BINARY if it is defined.  For details check the
ChangeLog below.

-- mva



1998-07-13  Juergen Zimmermann  <jnzimmer@informatik.uni-kl.de>

	* optimizers/ConstPropagation.Mod:
	Fixed bug with loops. Remove loop, if only taken once.

1998-07-12  Michael van Acken  <acken@informatik.uni-kl.de>

	* backend/ansi-c/lib/liboo2c.Mod: Changed library version to 3:2:0.

1998-07-11  Michael van Acken  <acken@informatik.uni-kl.de>

	* lib/LRealStr.Mod, lib/LRealConv.Mod:
	Some bugfixes by Mike Griebling.  Sorry, he did not send a ChangeLog
	entry.

	* lib/Integers.Mod:
	Code cleanup and a bugfix by Mike Griebling.  Sorry, he did not send a
	ChangeLog entry.

	* lib/TextRider.Mod (Scanner):
	New type code `undefined', set when initializing the
	scanner or calling `ClearError'.  `invalid' is used for
	`invalidFormat' or `valueOutOfRange' errors, `error' for everything
	else.  Both error codes are sticky.

	(ReadReal): Overflow check for SHORT() did not take rounding into
	account.

1998-07-03  Michael van Acken  <acken@informatik.uni-kl.de>

	* lib/TextRider.Mod (RealLReal, ReadNum):
	Signal `invalidFormat' error if a real
	representation is longer than 1023 characters.
	(InitWriter): Use `CharClass.systemEol' as default for new writers.

	* lib/CharClass.Mod (eol, IsEol):
	Fixed for all implementations of OOC.  Renamed `IsEOL'
	to `IsEol' for consistent naming.
	(systemEol): New string, holds target system's eol marker.

1998-06-30  Michael van Acken  <acken@informatik.uni-kl.de>

	* backend/ansi-c/GenStatm.Mod (CallInstr):
	Fixed code generation for C style rest parameter `...'.

	* lib/TextRider.Mod: Some fixes for auto detection of eol.

1998-06-29  Michael van Acken  <acken@informatik.uni-kl.de>

	* lib/TextRider.Mod (Reader.SetEol):
	Expanded statement about inconsistency.

	* lib/TextRider.Mod (Reader.SetEol):
	Made inconsistency example more clear.

	* lib/TextRider.Mod: Renamed `SetEOL' to `SetEol'.

	(Reader.SetEol): Added auto detection to the specs again.

	(Lookahead, Consume, Reader.Eol, ReaderReadLine):
	Added eol auto detection magic.

	(Reader.ClearError,Reader.SetPos):
	Reset ongoing auto detection if called.

	* backend/ansi-c/lib/OakFiles.c:
	If the current system knows O_BINARY, use it for the calls to open().

	* backend/ansi-c/lib/Files.c (open_file):
	If the current system knows O_BINARY, use it for the call
	to open().

1998-06-28  Michael van Acken  <acken@informatik.uni-kl.de>

	* backend/ansi-c/oo2c.Mod (Compile):
	Get rid of `objInLibrary' flag if we just recompiled the
	module.

	* backend/ansi-c/lib/liboo2c.Mod:
	Bumped version to 3:0:0 because of interface changes in TextRider.

	* optimizers/GuardCond.Mod (TransitiveHull):
	It can happen that both "RegionA contradicts
	RegionB" _and_ "RegionA implies RegionB" holds, if RegionA is
	unreachable.

	* lib/TextRider.Mod:
	Rewrote reader and scanner to permit end-of-line markers with more
	than one byte.

	(SetEOL): New method for Reader, Writer, Scanner.

	(Scanner.SkipSpaces): Removed from the interface.

	Note: I did not fix the potential string buffer overruns in ReadLReal
	and Scanner.ReadNum.

	* frontend/ParseStatm.Mod (AssignToVar.Visible):
	The predicate was too restrictive for values
	`a' on the exit path of a loop.

1998-06-27  Michael van Acken  <acken@informatik.uni-kl.de>

	* lib/TextRider.Mod: Proposal for extended eol handling.

1998-06-24  Michael van Acken  <acken@informatik.uni-kl.de>

	* lib/TextRider.Mod (UngetChar, ReadChar):
	When "ungetting" a character, save the current
	value of `res' and set it to `done' again.  Precondition for
	`UngetChar': the "ungetted" character was read while `res=done'.
	`ReadChar' restores the `res' of a previously "unget" character.

	(Eol): Does not move position anymore.

	(Check): Added pre-condition `r. byteReader. res = done'

	(ReadLInt, ReadHex): Unget last character, even if it triggered an
	error or `readAfterEnd'.

	(ReadSet): Minor rewrite to establish pre-condition for `Check'.

	(StateScan): Tried to fix error handling.

	Turned several local support type-bound procedures into normal
	procedures; this is more efficient, and the compiler can better work
	on normal calls.

	Only remaining problem: InOutTest reports that it processed 4 lines
	from ScanTest.dat, although MG's reference file reported 5 lines.
	Because the last line of the input file has no end of line character,
	this is somehow correct from the point of view of the module's code.