[fpc-pascal]FPC 1.9.0 compiler run time error - switches.
lawrence at paradicesoftware.com
lawrence at paradicesoftware.com
Thu Nov 13 08:39:28 CET 2003
Hello again -
Still testing the new 1.9.0 beta compiler (Win32), I have come across
another issue which is much easier to demonstrate:
Take the following program:
program asmtest;
procedure myasmstuff;
var
BOB : dword;
begin
asm
mov eax,BOB
xor eax,eax
mov BOB,eax
end ['eax'];
end;
begin
myasmstuff;
end.
If I compile this using PPC386 at the command line (default configuration
file) like so:
E:\Projects\tests>ppc386 -Rintel asmtest
Hint: End of reading config file e:\pp\bin\win32\fpc.cfg
Free Pascal Compiler version 1.9.0 [2003/11/05] for i386
Copyright (c) 1993-2002 by Florian Klaempfl
Target OS: Win32 for i386
Compiling asmtest.pp
Linking asmtest.exe
16 Lines compiled, 0.5 sec
No problem, it compiles and the program runs without any output (as
expected).
But a small change to the command line [adding the -S2 switch], like so:
E:\Projects\tests>ppc386 -Rintel -S2 asmtest
Hint: End of reading config file e:\pp\bin\win32\fpc.cfg
Free Pascal Compiler version 1.9.0 [2003/11/05] for i386
Copyright (c) 1993-2002 by Florian Klaempfl
Target OS: Win32 for i386
Compiling asmtest.pp
Compilation aborted asmtest.pp:8
Runtime error 216 at 0x004CF77E
0x004CF77E
0x004437D9
0x004438DB
0x00443C34
0x00479DFB
0x0047B662
0x0047BB75
0x0047BE30
0x00479C90
0x0047B662
Is the order of switches on the command line (same thing happens if I modify
the FPC.CFG file) supposed to be significant?
If I put the -S2 switch before the -Rintel switch, it compiles with no
problems....
If I use the -S2 switch *by itself*, I get the RTE 216 again (as opposed to
a list of assembler instructions not recognised, as I would expect)....
And on the positive side, for my existing code that the new version DOES
compile, it makes a much smaller EXE (e.g. 75kb instead of 110kb). This is
fantastic! I can't wait for the remaining bugs to be removed and 2.0 to be
released...
Lawrence.
More information about the fpc-pascal
mailing list