fpc/compiler
Jonas Maebe 958d6dacef * fix for imul optimization in popt386 (exclude top_ref as first
argument)
  * in csopt386: change "mov reg1,reg2; <several operations on reg2>;
    mov reg2,reg1" to "<several operations on reg1>" (-dnewopt...)
2000-02-12 19:28:56 +00:00
..
m68k * updated copyright to 2000 2000-01-07 01:14:18 +00:00
new * regenerated 2000-02-09 14:29:22 +00:00
utils * log truncated 2000-02-09 13:22:42 +00:00
aasm.pas * log truncated 2000-02-09 13:22:42 +00:00
ag68kgas.pas * log truncated 2000-02-09 13:22:42 +00:00
ag68kmit.pas * log truncated 2000-02-09 13:22:42 +00:00
ag68kmot.pas * log truncated 2000-02-09 13:22:42 +00:00
ag68kmpw.pas * log truncated 2000-02-09 13:22:42 +00:00
ag386att.pas * log truncated 2000-02-09 13:22:42 +00:00
ag386bin.pas * log truncated 2000-02-09 13:22:42 +00:00
ag386int.pas * log truncated 2000-02-09 13:22:42 +00:00
ag386nsm.pas * log truncated 2000-02-09 13:22:42 +00:00
aopt386.pas * log truncated 2000-02-09 13:22:42 +00:00
assemble.pas * log truncated 2000-02-09 13:22:42 +00:00
browcol.pas * log truncated 2000-02-09 13:22:42 +00:00
browlog.pas * log truncated 2000-02-09 13:22:42 +00:00
catch.pas * log truncated 2000-02-09 13:22:42 +00:00
cg68kadd.pas * log truncated 2000-02-09 13:22:42 +00:00
cg68kcal.pas * log truncated 2000-02-09 13:22:42 +00:00
cg68kcnv.pas * log truncated 2000-02-09 13:22:42 +00:00
cg68kcon.pas * log truncated 2000-02-09 13:22:42 +00:00
cg68kflw.pas * log truncated 2000-02-09 13:22:42 +00:00
cg68kinl.pas * log truncated 2000-02-09 13:22:42 +00:00
cg68kld.pas * log truncated 2000-02-09 13:22:42 +00:00
cg68kmat.pas * log truncated 2000-02-09 13:22:42 +00:00
cg68kmem.pas * log truncated 2000-02-09 13:22:42 +00:00
cg68kset.pas * log truncated 2000-02-09 13:22:42 +00:00
cg386add.pas * log truncated 2000-02-09 13:22:42 +00:00
cg386cal.pas * added regallocs for esi 2000-02-09 18:08:33 +00:00
cg386cnv.pas * log truncated 2000-02-09 13:22:42 +00:00
cg386con.pas * log truncated 2000-02-09 13:22:42 +00:00
cg386flw.pas * big update for exception handling code generation: possible mem holes 2000-02-10 23:44:42 +00:00
cg386inl.pas * log truncated 2000-02-09 13:22:42 +00:00
cg386ld.pas * added regallocs for esi 2000-02-09 18:08:33 +00:00
cg386mat.pas * log truncated 2000-02-09 13:22:42 +00:00
cg386mem.pas * added regallocs for esi 2000-02-09 18:08:33 +00:00
cg386set.pas * log truncated 2000-02-09 13:22:42 +00:00
cga68k.pas * log truncated 2000-02-09 13:22:42 +00:00
cgai386.pas * big update for exception handling code generation: possible mem holes 2000-02-10 23:44:42 +00:00
cobjects.pas * log truncated 2000-02-09 13:22:42 +00:00
comphook.pas * log truncated 2000-02-09 13:22:42 +00:00
compiler.pas * log truncated 2000-02-09 13:22:42 +00:00
comprsrc.pas * log truncated 2000-02-09 13:22:42 +00:00
cpuasm.pas * log truncated 2000-02-09 13:22:42 +00:00
cpubase.pas * log truncated 2000-02-09 13:22:42 +00:00
cpuinfo.pas * updated copyright to 2000 2000-01-07 01:14:18 +00:00
cresstr.pas * updated copyright to 2000 2000-01-07 01:14:18 +00:00
csopt386.pas * fix for imul optimization in popt386 (exclude top_ref as first 2000-02-12 19:28:56 +00:00
daopt386.pas * fixed bug due to lack of support for top_symbol operands 2000-02-10 14:57:13 +00:00
depend * updated copyright to 2000 2000-01-07 01:14:18 +00:00
dmisc.pas * log truncated 2000-02-09 13:22:42 +00:00
errord.msg * updated German message file 2000-01-22 15:16:04 +00:00
errore.msg * -gl option added 2000-02-07 12:19:26 +00:00
errores.msg * updated copyright to 2000 2000-01-07 01:14:18 +00:00
errorf.msg * updated copyright to 2000 2000-01-07 01:14:18 +00:00
errorn.msg * updated copyright to 2000 2000-01-07 01:14:18 +00:00
errorr.msg Latest changes from Michail Baikov 2000-02-11 16:33:37 +00:00
export.pas * log truncated 2000-02-09 13:22:42 +00:00
files.pas * dont' check for ppl files as they aren't used atm. 2000-02-10 16:00:23 +00:00
gdb.pas * log truncated 2000-02-09 13:22:42 +00:00
gendef.pas * log truncated 2000-02-09 13:22:42 +00:00
globals.pas * addpath fixed with list of paths when inserting at the beginning 2000-02-10 11:45:48 +00:00
globtype.pas * log truncated 2000-02-09 13:22:42 +00:00
hcgdata.pas * log truncated 2000-02-09 13:22:42 +00:00
hcodegen.pas * log truncated 2000-02-09 13:22:42 +00:00
htypechk.pas * log truncated 2000-02-09 13:22:42 +00:00
i386att.inc * fixed typo 1999-10-28 09:48:10 +00:00
i386atts.inc * fixed fpu suffix parsing for att reader 2000-01-28 09:41:39 +00:00
i386ins.dat * fixed fpu suffix parsing for att reader 2000-01-28 09:41:39 +00:00
i386int.inc * fixed typo 1999-10-28 09:48:10 +00:00
i386op.inc * fixed typo 1999-10-28 09:48:10 +00:00
i386prop.inc * Jcc doesn't destroy anything (instead of everyting) 1999-11-13 19:03:16 +00:00
i386tab.inc * fixed fpu suffix parsing for att reader 2000-01-28 09:41:39 +00:00
import.pas * log truncated 2000-02-09 13:22:42 +00:00
innr.inc * log truncated 2000-02-09 13:22:42 +00:00
link.pas * log truncated 2000-02-09 13:22:42 +00:00
make.cmd * updated copyright to 2000 2000-01-07 01:14:18 +00:00
Makefile * regenerated 2000-02-09 14:29:22 +00:00
Makefile.fpc * ppuclean target, which is used by for the ide compiling so a new 2000-02-08 00:10:53 +00:00
mdppc386.bat * more fixes to get it with delphi running 1999-05-05 09:19:03 +00:00
messages.pas * log truncated 2000-02-09 13:22:42 +00:00
mppc68k.bat + temporary variables now in temp_gen.pas unit 1998-06-08 13:13:28 +00:00
mppc386.bat + floating point register variables !! 1999-08-04 13:45:17 +00:00
msgidx.inc * -gl option added 2000-02-07 12:19:26 +00:00
msgtxt.inc * -gl option added 2000-02-07 12:19:26 +00:00
og386.pas * log truncated 2000-02-09 13:22:42 +00:00
og386cff.pas * log truncated 2000-02-09 13:22:42 +00:00
og386dbg.pas * log truncated 2000-02-09 13:22:42 +00:00
og386elf.pas * log truncated 2000-02-09 13:22:42 +00:00
options.pas * addpath fixed with list of paths when inserting at the beginning 2000-02-10 11:45:48 +00:00
opts68k.pas * log truncated 2000-02-09 13:22:42 +00:00
opts386.pas * log truncated 2000-02-09 13:22:42 +00:00
owar.pas * log truncated 2000-02-09 13:22:42 +00:00
owbase.pas * log truncated 2000-02-09 13:22:42 +00:00
parser.pas * log truncated 2000-02-09 13:22:42 +00:00
pass_1.pas * log truncated 2000-02-09 13:22:42 +00:00
pass_2.pas * big update for exception handling code generation: possible mem holes 2000-02-10 23:44:42 +00:00
pbase.pas * log truncated 2000-02-09 13:22:42 +00:00
pdecl.pas * log truncated 2000-02-09 13:22:42 +00:00
pexports.pas * log truncated 2000-02-09 13:22:42 +00:00
pexpr.pas * log truncated 2000-02-09 13:22:42 +00:00
pmodules.pas * log truncated 2000-02-09 13:22:42 +00:00
popt386.pas * fix for imul optimization in popt386 (exclude top_ref as first 2000-02-12 19:28:56 +00:00
pp.pas * big update for exception handling code generation: possible mem holes 2000-02-10 23:44:42 +00:00
ppc.dpr * updated copyright to 2000 2000-01-07 01:14:18 +00:00
ppheap.pas * log truncated 2000-02-09 13:22:42 +00:00
ppovin.pas * log truncated 2000-02-09 13:22:42 +00:00
ppu.pas * log truncated 2000-02-09 13:22:42 +00:00
pstatmnt.pas * log truncated 2000-02-09 13:22:42 +00:00
psub.pas * log truncated 2000-02-09 13:22:42 +00:00
psystem.pas * log truncated 2000-02-09 13:22:42 +00:00
ptconst.pas * log truncated 2000-02-09 13:22:42 +00:00
ptype.pas * log truncated 2000-02-09 13:22:42 +00:00
ra68kmot.pas * log truncated 2000-02-09 13:22:42 +00:00
ra386.pas * log truncated 2000-02-09 13:22:42 +00:00
ra386att.pas * log truncated 2000-02-09 13:22:42 +00:00
ra386dir.pas * log truncated 2000-02-09 13:22:42 +00:00
ra386int.pas * log truncated 2000-02-09 13:22:42 +00:00
rautils.pas * log truncated 2000-02-09 13:22:42 +00:00
README * refer to prog manual instead of cws 2000-02-06 13:00:05 +00:00
scandir.inc * log truncated 2000-02-09 13:22:42 +00:00
scanner.pas * log truncated 2000-02-09 13:22:42 +00:00
script.pas * log truncated 2000-02-09 13:22:42 +00:00
switches.pas * log truncated 2000-02-09 13:22:42 +00:00
symconst.pas * added st_default stringtype 2000-01-09 23:16:05 +00:00
symdef.inc * avoid stack overflow in tref.done (bug 846) 2000-02-11 13:53:49 +00:00
symdefh.inc * log truncated 2000-02-09 13:22:42 +00:00
symppu.inc * log truncated 2000-02-09 13:22:42 +00:00
symsym.inc * avoid stack overflow in tref.done (bug 846) 2000-02-11 13:53:49 +00:00
symsymh.inc * log truncated 2000-02-09 13:22:42 +00:00
symtable.pas * avoid stack overflow in tref.done (bug 846) 2000-02-11 13:53:49 +00:00
systems.pas * log truncated 2000-02-09 13:22:42 +00:00
t_go32v1.pas * log truncated 2000-02-09 13:22:42 +00:00
t_go32v2.pas * log truncated 2000-02-09 13:22:42 +00:00
t_linux.pas * -Xt option to link staticly against c libs 2000-02-09 10:35:48 +00:00
t_os2.pas * log truncated 2000-02-09 13:22:42 +00:00
t_win32.pas * fixed group() writing 2000-01-12 10:31:45 +00:00
tcadd.pas * log truncated 2000-02-09 13:22:42 +00:00
tccal.pas * log truncated 2000-02-09 13:22:42 +00:00
tccnv.pas * log truncated 2000-02-09 13:22:42 +00:00
tccon.pas * log truncated 2000-02-09 13:22:42 +00:00
tcflw.pas * log truncated 2000-02-09 13:22:42 +00:00
tcinl.pas * log truncated 2000-02-09 13:22:42 +00:00
tcld.pas * log truncated 2000-02-09 13:22:42 +00:00
tcmat.pas * log truncated 2000-02-09 13:22:42 +00:00
tcmem.pas * log truncated 2000-02-09 13:22:42 +00:00
tcset.pas * log truncated 2000-02-09 13:22:42 +00:00
temp_gen.pas * log truncated 2000-02-09 13:22:42 +00:00
tgen68k.pas * log truncated 2000-02-09 13:22:42 +00:00
tgeni386.pas * esi is never deallocated anymore in methods 2000-02-10 11:27:18 +00:00
todo.txt * lineifno 2000-01-28 11:24:46 +00:00
tokendat.pas * updated copyright to 2000 2000-01-07 01:14:18 +00:00
tokens.dat * regenerated, it was broken by a previous commit 2000-01-10 23:45:38 +00:00
tokens.pas * log truncated 2000-02-09 13:22:42 +00:00
tpexcept.pas + {$asmmode att} for people with -Rintel in their ppc386.cfg 2000-02-11 23:59:35 +00:00
tree.pas * log truncated 2000-02-09 13:22:42 +00:00
types.pas * log truncated 2000-02-09 13:22:42 +00:00
verbose.pas * log truncated 2000-02-09 13:22:42 +00:00
version.pas * log truncated 2000-02-09 13:22:42 +00:00

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