summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/webtbs/tw6977.pp
blob: 462994261dacd0e0669a24bb1cab8b1f8e9315e7 (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
program bug1;

{$mode objfpc}{$H+}
{$r+}

uses Classes;

type

  TCTEntry = record
    Name: AnsiString;
    g: Integer;
  end;

  TCT = record
    Size: Integer;
    Names: array of PChar;
    IReps: array of TCTEntry;
  end;


const

  C: array [0..2] of TCTEntry =
  ((Name:'A'; g:0),
   (Name:'B'; g:0),
   (Name:'C'; g:1));


var
  CTs: array [0..1] of TCT;
  p: Integer;

  procedure A(T: array of TCTEntry);
  var
    i: Integer;
  begin
    with CTs[p] do begin
      Size := Length(T);
      Setlength(IReps, Size);
      Setlength(Names, Size+1);
      Names[Size] := nil;
      for i := 0 to Size-1 do begin
        Names[i] := PChar(T[i].Name);
        IReps[i] := T[i];
      end;
    end;
  end;

begin
  p := 0;
  A(C);
end.