← DL-Pascal collection

cov08.log

DOWNLOAD ORIGINAL FILE

=== Section 8: Dynamic Memory and Pointers ===

-- New/Dispose --
OK   New non-nil
OK   Deref write
OK   Deref modify
OK   Dispose done
OK   New real
OK   Real deref
OK   Char deref
OK   Str deref
OK   Rec deref x
OK   Rec deref y
OK   Rec deref name
OK   WITH deref

-- Multi Alloc --
OK   Multi alloc a
OK   Multi alloc b
OK   Multi alloc c
OK   Multi indep b
OK   Multi indep c
OK   Multi dispose
OK   Re-alloc

-- GetMem/FreeMem --
OK   GetMem non-nil
OK   GetMem cast
OK   GetMem array
OK   FreeMem done

-- Mark/Release --
OK   Mark alloc a
OK   Mark alloc b
OK   Release done

-- MemAvail/MaxAvail --
OK   MemAvail > 0
  MemAvail: 15831 bytes
OK   MaxAvail > 0
  MaxAvail: 15831 bytes
OK   Alloc reduces
OK   Dispose recovers

-- NIL --
OK   NIL assign
OK   NIL compare
OK   After New <> NIL
OK   After NIL

-- HeapError --
OK   Safe alloc works
OK   HeapError done

-- SizeOf --
OK   SizeOf Byte
OK   SizeOf Char
OK   SizeOf Boolean
FAIL SizeOf Integer
FAIL SizeOf Word
FAIL SizeOf LongInt
FAIL SizeOf Real
FAIL SizeOf Pointer
FAIL SizeOf TMyInt
FAIL SizeOf TMyWord
FAIL SizeOf TMyLong
FAIL SizeOf TMyReal
FAIL SizeOf TMyPtr
  SizeOf(TMyInt) =1
  SizeOf(TMyWord)=1
  SizeOf(TMyLong)=1
  SizeOf(TMyReal)=1
  SizeOf(TMyPtr) =1
OK   SizeOf TRInt=2
OK   SizeOf TRWord=2
OK   SizeOf TRLong=4
OK   SizeOf TRReal=8
OK   SizeOf TRPtr=2
  SizeOf(TRInt) =2
  SizeOf(TRWord)=2
  SizeOf(TRLong)=4
  SizeOf(TRReal)=8
  SizeOf(TRPtr) =2
OK   SizeOf TNode > 0
OK   SizeOf TStr255
OK   SizeOf TData=25
  SizeOf(TNode)=2
  SizeOf(TData)=25
  SizeOf(TStr255)=256

-- Linked List --
OK   List length
OK   List sum
OK   List find 3
OK   List disposed

-- Ptr to Ptr --
OK   Ptr to ptr
OK   Ptr write thru

-- Stack vs Heap --
OK   Stack local
OK   Stack array
OK   Heap in proc
OK   Stack+Heap

-- Addr --
OK   Addr non-nil
OK   Addr deref
OK   Addr write

=== Section 8 complete ===