blob: 65b0adbb2d49a4977fcda6d351e734e466eecf9e (
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
|
{ Old file: tbs0182.pp }
{ @record.field doesn't work in constant expr OK 0.99.9 (PM) }
TYPE Rec = RECORD
x:WORD;
y:WORD;
END;
Rec1 = Record
x,y : longint;
end;
Rec2 = Record
r,s : Rec1;
z : word;
end;
plongint = ^longint;
VAR s:WORD;
r:Rec;
rr : Rec2;
CONST p1:POINTER = @s; { Works fine }
p2:POINTER = @R.y; { illegal expression }
p3:pointer = @rr.s.y;
p4:plongint = @rr.s.y;
BEGIN
rr.s.y:=15;
if plongint(p3)^<>15 then
Begin
Writeln('Error : wrong code generated');
Halt(1);
End;
END.
|