blob: caa7df20eee6efaaf0e1ee195dd3d716dd4170a4 (
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
|
program BugDemo2;
type
MyRecordType =
record
RecordElement1 : word;
RecordElement2 : word;
end;
var
MyRecord : MyRecordType;
MyPointer1,MyPointer2 : pointer;
begin
with MyRecord do
begin
{ next statement crashes the compiler }
MyPointer1 := addr(RecordElement2);
{ next statement is OK }
MyPointer2 := addr(MyRecord.RecordElement2);
end;
if MyPointer1<>MyPointer2 then
begin
Writeln('Error with addr() and with statement');
halt(1);
end;
end.
|