summaryrefslogtreecommitdiff
path: root/tests/webtbs/tw4173.pp
blob: c95ae7c0c7f6d91e97e198f949e850d11b3d032b (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
49
50
51
52
53
54
55
56
57
{ Source provided for Free Pascal Bug Report 4173 }
{ Submitted by "Gerhard" on  2005-07-11 }
{ e-mail: gs@g--s.de }
{
  operator with a redefine by ABSOLUTE on its result var
  produces the internal error 200110205;
  only when operator is defined in a unit.
}


{$inline on}

{$define nok} { if this is defined, the operator with problem is compiled }
{ $define ok}  { if this is defined, the operator without problem is compiled }

unit tw4173 ;

interface

  type
    tbcd = record something : integer end ;
    tbcdx = record something : integer end ;

{$ifdef nok}
  operator := ( const bcd : tbcd ) z : comp ; inline ;
{$endif}

{$ifdef ok}
  operator := ( const bcd : tbcdx ) z : comp ; inline ;
{$endif}

implementation

{$ifdef nok}
  operator := ( const bcd : tbcd ) z : comp ; inline ;

    var
      zz : int64 absolute z ;

    begin
     end ;
{$endif}

{$ifdef ok}
  operator := ( const bcd : tbcdx ) z : comp ; inline ;

    var
      zz : int64 ;
      zzz : comp absolute zz ;

    begin
      zz := 3 ;
      z := zzz ;
     end ;
{$endif}

end.