[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ooc-970610 & oo2c-1.2.7
What's new? Not much. But check for yourself:
oo2c:
o run-time check to catch activation of procedure variable of NIL has
been added
o (large) array intializations in a module will be detected under
certain circumstances and will be translated into a compact variable
initialization (see backend/doc/ArrayInit in the source distrib for
the details)
o the predefined procedures didn't check for write access for their
variable parameters
libraries:
o cleaned up Calendar module (Mike G. prefers the term "massacre" here)
o added encryption module Blowfish
The Blowfish module is an example for the layered channel concept. It
implements a stream channel that can be put on top of any other
channel, e.g. a Files.File or StdChannels.stdin/out.
-- mva
------------------------------------------------------------------------
ChangeLog May 14 to June 10:
Tue Jun 10 07:29:43 1997 Michael van Acken <acken@informatik.uni-kl.de>
* lib/Blowfish.Mod: Initial revision
* backend/ansi-c/CodeGen.Mod:
Added code to detect constant intialization of scalar arrays in the
module body. See backend/ansi-c/doc/ArrayInit for details.
Sun Jun 8 16:47:57 1997 Michael van Acken <acken@informatik.uni-kl.de>
* lib/Calendar.Mod:
Changed module style to adhere to the standards set by other library
modules: Replaced type `Calendar' with `SysClock.DateTime'. Replaced
all type-bound procedures with normal ones. Removed procedures
IncByMonth, IncByYear, FindDate, MoonPhase, PaschalFullMoon. Added
predicate IsLeapYear. Misc name changes to obey the naming
conventions used in other parts of the lib, like InitFromStr ->
StrToTime, ToStr -> TimeToStr, ToTimeStamp -> SetTimeStamp,
InitFromTimeStamp -> GetTimeStamp.
* frontend/ParseStatm.Mod (PredefCall):
Oops. Write access to variable parameters of predefined
procedures wasn't checked. Exception for ADR: the argument can be a
read-only imported variable, a procedure name, or a string constant,
but not a constant value of scalar type.
* optimizers/AlgebraicTransformation.Mod:
Division, modulo, and multiplication by power of two will be converted
into arithmetic shift resp. logical "and". Extended and exported
procedures GetZero and GetOne.
Sat Jun 7 09:42:23 1997 Michael van Acken <acken@informatik.uni-kl.de>
* optimizers/ConstPropagation.Mod:
Added code to handle type casts between integer, real, or set
constants. Unreachable code elimination is still disabled.
Fri Jun 6 17:21:49 1997 Michael van Acken <acken@informatik.uni-kl.de>
* backend/ansi-c/lib/Files.c (FileDesc.Register):
After a file had been closed Register was doing
nothing, instead of setting the appropriate error code.
Fri May 23 18:29:05 1997 Michael van Acken <acken@informatik.uni-kl.de>
* frontend/ParseStatm.Mod (ProcedureCall):
Set flag `instrCheckNil' for call if the procedure
address isn't derived from an address instruction and pragma variable
"DerefCheck" is set.
* backend/ansi-c/GenStatm.Mod (CallInstr):
Insert test for procedure value of NIL when required.
* frontend/Data.Mod (Flag instrCheckNil):
Can be set for call instructions, too.