[fpc-devel]Internal error 9999 (FPC 1.9.0)
Pedro Lopez-Cabanillas
plcl at telefonica.net
Sun Nov 9 00:36:41 CET 2003
Hi all,
The following test program doesn't compile under FPC 1.9.0, but it does and
works under Kylix 3. I didn't try other Delphi incarnations.
The compiler says:
$ fpc test3
Hint: End of reading config file /etc/fpc.cfg
Free Pascal Compiler version 1.9.0 [2003/11/05] for i386
Copyright (c) 1993-2002 by Florian Klaempfl
Target OS: Linux for i386
Compiling test3.pp
Panic : Internal compiler error, exiting.
test3.pp(34,11) Fatal: Internal error 9999
The problem is triggered by the line containing this cast:
AnsiString(MsgBuff), where MsgBuf has been declared as
type
TByteArray = Array of Byte;
var
MsgBuff: TByteArray;
I know that casting a dynamic array to AnsiString is not a very good
programming practice, and it is only possible because Borland made his
implementation of AnsiString and Dynamic arrays compatible. This is not true
with FPC, i guess.
$ cat test3.pp
program test3;
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
type
TByteArray = Array of Byte;
var
MsgBuff: TByteArray;
MsgIndex: Integer;
procedure MsgInit;
begin
MsgIndex := 0;
MsgBuff := nil;
end;
procedure MsgAdd(b: Byte);
begin
if (MsgIndex >= Length(MsgBuff)) then
SetLength(MsgBuff, Length(MsgBuff) + 128);
MsgBuff[MsgIndex] := b;
Inc(MsgIndex);
end;
var
b: Byte;
begin
MsgInit;
for b:=65 to 122 do MsgAdd(b);
WriteLn(AnsiString(MsgBuff));
end.
Regards,
Pedro
--
ALSA Library Bindings for Pascal
http://alsapas.alturl.com
More information about the fpc-devel
mailing list