summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/webtbs/tw2594.pp
blob: a3c1b83db58c52a04f9c56b0ddc1e7a08a9504c7 (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
{ Source provided for Free Pascal Bug Report 2594 }
{ Submitted by "Pavel V. Ozerski" on  2003-07-24 }
{ e-mail: ozerski@list.ru }

{$ifndef MACOS}
{$APPTYPE CONSOLE}
{$else}
{$APPTYPE TOOL}
{$endif}

{$ifdef fpc}
{$mode delphi}
{$endif}
type
 tp=procedure;
var
  err : boolean;
procedure expect(l1,l2:longint);
begin
  if l1<>l2 then
    begin
      writeln('ERROR got ',l1,' expected ',l2);
      err:=true;
    end
  else
    writeln(l1);
end;

var
 p:tp;
 pp:pointer absolute p;
begin
 expect(longint(@p),0);
 expect(longint(@pp),longint(@@p));
 expect(longint(addr(@p)),longint(@@p));
 expect(longint(@addr(p)),longint(@@p));
 expect(longint(@(addr(p))),longint(@@p));
 expect(longint(@(@p)),longint(@@p));
 if err then
   halt(1);
end.