blob: 21c6c8215952212d347bfeee23b5364bb1724435 (
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
42
43
44
45
46
47
48
|
{ Source provided for Free Pascal Bug Report 1623 }
{ Submitted by "Henrik C. Jessen" on 2001-09-28 }
{ e-mail: henrik.jessen@nettest.com }
PROGRAM Test;
{$inline on}
FUNCTION fnc(x: integer): integer; INLINE;
BEGIN
fnc:=x*2;
END;
FUNCTION lfnc(x: longint): longint; INLINE;
BEGIN
lfnc:=x*2;
END;
VAR
i: Integer;
j : longint;
BEGIN
i:=4;
if fnc(i)<>8 then
Begin
Writeln('Error in inlined integer functions');
RunError(1);
End;
j:=4;
if lfnc(j)<>8 then
Begin
Writeln('Error in inlined longint functions');
RunError(1);
End;
j:=lfnc(lfnc(4));
if j<>16 then
Begin
Writeln('Error in inlined longint functions twice');
RunError(1);
End;
i:=fnc(fnc(4));
if i<>16 then
Begin
Writeln('Error in inlined integer functions twice');
RunError(1);
End;
END.
|