summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/webtbs/tw1132.pp
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.