[fpc-devel]Internal error error: 55665566 ?
Peter Vreman
peter at freepascal.org
Thu Nov 21 23:44:20 CET 2002
At 23:04 21-11-2002, you wrote:
>Hi,
>
>I get a 'magic' number:
>
>Compiling ./synmemo.pas
>synmemo.pas(179,1) Fatal: Internal error 55665566
>
>The position(179,1) points to the start of the 'implementation' keyword.
>The interface of the unit itself looks pretty normal, so I have no clue, how
>to report this bug.
>Maybe it has something to do with the published properties.
>
>The unit looks something like this:
>----- snip -----
>unit SynMemo;
>
>interface
>
>uses
> Classes, LCLLinux, SynEdit;
>
>type
> TSynMemo = class(TCustomSynEdit)
> public
> // TCustomSynMemo properties
> published
> // inherited properties
> property Align;
> [... lots of properties]
> property MaxUndo;
> property Options;
> property OverwriteCaret;
> property ReadOnly;
> end;
>
>implementation
>----- snap -----
>
>When commenting the published properties it compiles fine. So, I have
>committed it to the lazarus cvs. Any ideas?
>I'm using the 1.0.7. compiler from today.
I guess that there is a reference to a field/procedure that is defined in
an unit loaded from synedit. The current unit will try to load a reference
to the definition defined in that unit, but fails because the current unit
does not have mapping entry available for that unit
Small example:
unit a
uses b
cl3=class(cl2)
property f;
end;
unit b
uses c
cl2=class(cl1)
property f : longint read f1;
end;
unit c
cl1=class
f1 : longint;
end;
unit a knows in this example only about the interface of unit b. Therefor
it is not possible to create a reference to f1 directly from unit a to unit
c. And for the 1.0.x compilers that is the problem.
This problem is fixed in 1.1 and will never be fixed in 1.0.x.
Peter
More information about the fpc-devel
mailing list