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.
|