From 8220c4e8078b23a6df375354a332fd1a52071990 Mon Sep 17 00:00:00 2001 From: David Brown Date: Mon, 19 Dec 2016 16:11:32 +0000 Subject: [PATCH] Fix heap for -OC build on 32 bit systems. --- src/runtime/Heap.Mod | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/runtime/Heap.Mod b/src/runtime/Heap.Mod index 33d16f7b..c5a5a977 100644 --- a/src/runtime/Heap.Mod +++ b/src/runtime/Heap.Mod @@ -428,8 +428,8 @@ MODULE Heap; END END Scan; - PROCEDURE Sift (l, r: S.ADDRESS; VAR a: ARRAY OF S.ADDRESS); - VAR i, j, x: S.ADDRESS; + PROCEDURE Sift (l, r: LONGINT; VAR a: ARRAY OF S.ADDRESS); + VAR i, j: LONGINT; x: S.ADDRESS; BEGIN j := l; x := a[j]; LOOP i := j; j := 2*j + 1; IF (j < r) & uLT(a[j], a[j+1]) THEN INC(j) END; @@ -439,8 +439,8 @@ MODULE Heap; a[i] := x END Sift; - PROCEDURE HeapSort (n: S.ADDRESS; VAR a: ARRAY OF S.ADDRESS); - VAR l, r, x: S.ADDRESS; + PROCEDURE HeapSort (n: LONGINT; VAR a: ARRAY OF S.ADDRESS); + VAR l, r: LONGINT; x: S.ADDRESS; BEGIN l := n DIV 2; r := n - 1; WHILE l > 0 DO DEC(l); Sift(l, r, a) END; WHILE r > 0 DO x := a[0]; a[0] := a[r]; a[r] := x; DEC(r); Sift(l, r, a) END