summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/webtbs/tw17998.pp
blob: f84f7c6b82bd34ce98eee820f8d920b2febdd9a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
{ %opt=-gh }

{$mode objfpc}

program test;
type
  tr = record
    b: byte;
    str: ansistring;
    b2,b3: byte;
  end;
  pr = ^tr;
var
  A: pr;
begin
  HaltOnNotReleased:=true;
  getmem(a,sizeof(tr)*4);
  Initialize(a^, 4);
  a[0].str:='test';
  a[0].str:=a[0].str+'ab';
  a[1].str:='test';
  a[1].str:=a[1].str+'ab';
  a[2].str:='test';
  a[2].str:=a[2].str+'ab';
  a[3].str:='test';
  a[3].str:=a[3].str+'ab';
  Finalize(A[1], 2);
  if (a[0].str<>'testab') then
    halt(1);
  if (a[1].str<>'') then
    halt(2);
  if (a[2].str<>'') then
    halt(3);
  if (a[3].str<>'testab') then
    halt(4);
  Finalize(a^,4);
  freemem(a);
end.