* Deduplicate common constants into OPM and do some source format tidying.

* Fix postpush buildall script to force checkout of updated buildall.

* Show enlistment branch in makefiles

* Support non-printables in string literals and tidy case alignment and constant literals.

* Common code for MIN and MAX of integer types.

* Common code for SInt/Int/LInt in ConstOp parameter preparation.

* Common code for SInt/Int/LInt in Op parameter preparation.

* Refactor SetIntType to work with byte size directly. Prepare to revert my incorrect VAL changes.

* Original meaning of VAL restored. Many library files disabled until use of VAL in 64 bits fixed.

* Make Reals.Mod independent of INTEGER size and add reals tests.

* Implement fraction, IsInfinity and IsNaN in oocLowReal.Mod.

* OPB little simplifications and ShorterSize/LongerSize functions.

* Add test for alignment computability

* Replace alignment constants with calculated alignment.

* typ.size aware OPV.Convert

* Add SYSTEM_INT64 and make tests name independent.

* Remove SYSTEM.H includes (string.h and stdint.h).

* Replace uses of uintptr_t and size_t with SYSTEM_ADDRESS.

* Sad hack to make FreeBSD and OpenBSD happy with memcpy declaration.

* Detect 64 bit on FreeBSD, and size_t defined on OpenBSD.

* %zd not supportd by mingw, cast strnlen return to int.

* Add debug for intermittent failure only on OpenBSD.

* Add textTexts as a confidence test and tidy up a couple of other tests.

* Update binary test process.
This commit is contained in:
David C W Brown 2016-08-25 14:41:00 +01:00 committed by GitHub
parent 1f41d80b1e
commit da88496c5f
224 changed files with 7494 additions and 8065 deletions

View file

@ -2,54 +2,43 @@ MODULE clb;
IMPORT Console;
TYPE OnSomething = PROCEDURE (x, y : INTEGER);
PROCEDURE ProcessEvents(x, y : INTEGER; onsomething : OnSomething);
TYPE OnSomething = PROCEDURE (x, y: INTEGER);
PROCEDURE ProcessEvents(x, y: INTEGER; onsomething: OnSomething);
BEGIN
IF onsomething # NIL THEN onsomething(x, y)
ELSE
Console.String("didn't happen"); Console.Ln
END;
IF onsomething # NIL THEN
onsomething(x, y)
ELSE
Console.String("didn't happen"); Console.Ln
END
END ProcessEvents;
PROCEDURE OnEvent(x, y : INTEGER);
BEGIN
Console.String("event happened"); Console.Ln
Console.String("event happened"); Console.Ln
END OnEvent;
PROCEDURE OnEvent2(x, y : INTEGER);
BEGIN
Console.String("happened"); Console.Ln
Console.String("event 2 happened"); Console.Ln
END OnEvent2;
PROCEDURE Something;
VAR onsmth : OnSomething;
VAR onsmth: OnSomething;
BEGIN
onsmth := NIL;
ProcessEvents(0, 0, onsmth);
onsmth := OnEvent;
ProcessEvents(0, 0, onsmth);
END Something;
BEGIN
Something;
(*
ProcessEvents(0, 0, NIL);
ProcessEvents(0, 0, OnEvent);
ProcessEvents(0, 0, OnEvent2);
*)
Something;
(*
ProcessEvents(0, 0, NIL);
ProcessEvents(0, 0, OnEvent);
ProcessEvents(0, 0, OnEvent2);
*)
END clb.

View file

@ -5,31 +5,24 @@ IMPORT Files, Texts, Console;
CONST file="testFiles.Mod";
VAR
VAR
T : Texts.Text;
R : Texts.Reader;
F : Files.File;
ch : CHAR;
BEGIN
F := Files.Old (file);
IF F # NIL THEN
NEW(T);
Texts.Open(T, file);
Texts.OpenReader(R, T, 0);
Texts.Read (R, ch);
F := Files.Old (file);
IF F # NIL THEN
NEW(T);
Texts.Open(T, file);
Texts.OpenReader(R, T, 0);
Texts.Read (R, ch);
WHILE ~R.eot DO
Console.Char(ch);
IF ch = 0DX THEN Console.Char(0AX) END;
WHILE ~R.eot DO
IF ch = 0DX THEN Console.Ln ELSE Console.Char(ch) END;
Texts.Read (R, ch);
END;
ELSE
Console.String ("cannot open"); Console.Ln;
END;
END;
ELSE
Console.String ("cannot open"); Console.Ln;
END;
END testFiles.