This directory contains the sources of the Free Pascal Compiler To recompile the compiler, use the batch file mppc386.bat If you want to build a m68k version to cross compile from i386 to m68k use the batch file mppc68k.bat If you want to compile/modify the compiler, please read first the programmers manual. Changes in the syntax or semantic of FPC: ----------------------------------------- 28/01/99 implicit conversion from boolean to integer is not possible anymore (solved several bugs) but this could lead to errors on previously accepted code (PM) 01/02/99 c styled comments are supported (/* ... */), mainly for the Sibyl sources of Medigo (FK) 02/02/99 class destructors take now two parameters: flag if the helper routine should free the instance and self pointer (FK) 22/02/99 PROTECTED and PRIVATE have now the same behavior as in TP 09/03/99 small records and arrays passed by value to a function are now directly copied into a 4 bytes parameter (needed for C and DLL calls) (PM) 11/03/99 the makefile.fpc is now also needed for the compiler and RTL, you can find it in the base.zip package (PFV) 24/03/99 new directives UNITPATH,INCLUDEPATH,OBJECTPATH,LIBRARYPATH to set the searchpaths where to find the files for that module (PFV) 25/03/99 new directive STATIC +/- or on/off , works like -St commandline switch 02/04/99 rtl/cfg/ directory has been removed, it's not used anymore 15/04/99 FINALIZATION is supported 21/04/99 Default assembler for i386 changed to AT&T instead of direct 25/04/99 initialized vars supported in Delphi mode (only $J+ mode) getting the address of an untyped const is now forbidden as in BP 27/04/99 New unit format PPU016, you need to recompile all older units 01/05/99 Internal assembler. Assembler readers now support MMX,KNI instructions. 12/05/99 rtl/utils/ directory moved to utils/. Moved the utils only needed for compiler development to compiler/utils/ 13/05/99 Classes are now only allowed in the ObjFpc or Delphi mode. Use {$mode objfpc} or {$mode delphi}. Or from commandline -S2 or -Sd 16/05/99 Remove options -Up (use now -Fu) and -Fg (use now -Fl) 17/05/99 Redesign of ansistring temporary handling, please report any problems 17/05/99 Most stuff of the objpas unit is now in the system unit because the new temporary ansistring handling support exceptions and exceptions need the class OOP model 18/05/99 The compiler will stop directly if there are errors in the commandline parameters 16/08/99 DLL are relocatable by default (need to strip symbols) -WN make non relocatable DLL (which can retain debug info) for both type of DLL the prefered image base can be specified with -WB1100000 for instance to get image base at $11000000. 08/09/99 pointer addition/substraction (only available in fpc,objfpc mode) now uses the size of the type the pointer points to, just like inc(),dec() already did. Now inc(p) is the same as p:=p+1. But old code can be broken by this when there is a p:=p+4 then it's now parsed like: p:=p+4*sizeof(type). To get the old situation you can use typecasting: p:=ptype(pointer(p)+4). 08/09/99 class/object field return their offsets in the object/class. You must access them self with loading the object/class pointer and then create a reference where you add the field 07/11/99 Small change to property writing in PPU => all units exporting classes with properties must be recompiled (no new unit format, so be careful) (FK) 08/11/99 PP variable in Makefiles changed to FPC 14/11/99 makefile.fpc is not available anymore. You must now use fpcmake which is available from the utils/. There is also an example Makefile.fpc