blob: 89426defa923c309ff3df03a9fe67b7c2aa48eda (
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
|
{ %FAIL }
{ Source provided for Free Pascal Bug Report 2053 }
{ Submitted by "Luis Castedo" on 2002-07-24 }
{ e-mail: castedo@elai.upm.es }
program tb2;
{$MODE TP}
{$C+}
type
TMyRecord = record
mr_sglDummy1: array[0..3] of Single;
mr_lDummy2 : ptrint;
mr_iDummy3 : Integer;
mr_iDummy4 : Integer;
end;
{ TMyRecordArray = array[Integer] of TMyRecord;} { Error }
TMyRecordArray = array[Ptrint] of TMyRecord; { OK }
PMyRecordArray = ^TMyRecordArray;
var
pArray: PMyRecordArray;
begin
GetMem(pArray, 50 * SizeOf(TMyRecord));
Assert(Assigned(pArray));
WriteLn('pArray = ', ptrint(pArray));
WriteLn('@(pArray^[0]) = ', ptrint(@(pArray^[0])));
pArray^[0].mr_lDummy2 := 0;
FreeMem(pArray, 50 * SizeOf(TMyRecord));
end.
|