Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2002-11

Internal error error: 55665566 ?

3 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Mattias Gaertner

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.

Mattias Gaertner

Reply by email

Peter Vreman
to Mattias Gaertner
you wrote 41 lines
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

Reply by email

Mattias Gaertner
to Peter Vreman
Show quoted text 34 lines
At 23:04 21-11-2002, you wrote: > [..] >synmemo.pas(179,1) Fatal: Internal error 55665566 > [..] 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.

Thx a lot. That helped. :)

This problem is fixed in 1.1 and will never be fixed in 1.0.x.

Mattias

Reply by email