fpc/compiler
2004-05-25 18:50:50 +00:00
..
alpha * big transformation of Tai_[const_]Symbol.Create[data]name* 2004-03-02 00:36:32 +00:00
arm + syscall directive support for MorphOS added 2004-04-28 15:19:03 +00:00
html
i386 * fix shl/shr with value > 63 2004-05-23 14:10:17 +00:00
ia64
m68k + <pointer> - <pointer> result is divided by the pointer element size now 2004-05-20 21:54:33 +00:00
msg * give error when goto jumps to label outside current proc scope 2004-05-23 11:39:37 +00:00
new
powerpc * fixed web bug #3103: the fpu conversion code couldn't deal with offsets 2004-05-19 22:26:46 +00:00
sparc + syscall directive support for MorphOS added 2004-04-28 15:19:03 +00:00
systems * fix for IE 2004-05-16 20:41:19 +00:00
utils * regenerated 2004-05-23 18:25:48 +00:00
vis
x86 tai_regalloc.allocation changed to ratype to notify rgobj of register size changes 2004-05-22 23:34:27 +00:00
x86_64 + syscall directive support for MorphOS added 2004-04-28 15:19:03 +00:00
aasmbase.pas + added type similarity check in newasmsymbol 2004-03-18 11:45:39 +00:00
aasmtai.pas * ignore marker block when checking for empty list 2004-05-23 14:31:05 +00:00
aggas.pas tai_regalloc.allocation changed to ratype to notify rgobj of register size changes 2004-05-22 23:34:27 +00:00
aopt.pas
aoptbase.pas
aoptcs.pas
aoptda.pas * Change several $ifdef i386 to x86 2004-01-31 17:45:16 +00:00
aoptobj.pas * Change several $ifdef i386 to x86 2004-01-31 17:45:16 +00:00
assemble.pas * set correct n_line type when starting new .o file by passing 2004-05-21 22:43:36 +00:00
browcol.pas * constants ordinals now always have a type assigned 2004-03-23 22:34:49 +00:00
browlog.pas * fixed compile with -CR 2004-02-11 22:00:10 +00:00
bsdcompile
catch.pas
cclasses.pas * allow setting of name in dictionary always. Otherwise it is never 2004-05-24 17:30:09 +00:00
cg64f32.pas * op_const_reg_reg with OP_SAR fixed 2004-01-22 02:22:47 +00:00
cg64f64.pas * x86-64 compilation fixed 2004-01-13 18:08:58 +00:00
cgbase.pas * top_symbol killed 2004-02-27 10:21:04 +00:00
cgobj.pas tai_regalloc.allocation changed to ratype to notify rgobj of register size changes 2004-05-22 23:34:27 +00:00
cgutils.pas * top_symbol killed 2004-02-27 10:21:04 +00:00
charset.pas
cmsgs.pas * Message system uses open arrays internally 2004-02-20 19:49:21 +00:00
comphook.pas
compiler.pas * another bunch of x86-64 fixes mainly calling convention and 2004-01-14 23:39:05 +00:00
compinnr.inc + added prefetch(const mem) support 2004-02-02 20:41:59 +00:00
comprsrc.pas
cp437.pas
cp850.pas
cp8859_1.pas
crc.pas
cresstr.pas * fixed qword(longint) that removed sign from the number 2004-05-23 15:23:30 +00:00
cstreams.pas
cutils.pas fix range check error when array size > maxlongint 2004-05-22 23:33:18 +00:00
defcmp.pas * voidpointer can be converted to dynarray 2004-04-12 11:26:10 +00:00
defutil.pas + added lib support for Amiga/MorphOS syscalls 2004-05-01 22:05:01 +00:00
depend
dmisc.pas
export.pas
finput.pas
fmodule.pas * stabs updates to write stabs for def for all implictly used 2004-03-08 22:07:46 +00:00
fpcdefs.inc * some alignment issues resolved 2004-03-16 22:12:10 +00:00
fppu.pas * bugfix in [read|write]asmsymbols for data and address labels 2004-03-17 12:12:59 +00:00
gdb.pas * stabs updates to write stabs for def for all implictly used 2004-03-08 22:07:46 +00:00
gendef.pas
globals.pas * changed $mode mac to $mode macpas 2004-05-11 18:20:52 +00:00
globtype.pas * implicit_finally flag must be set in pass1 2004-05-23 15:06:20 +00:00
htypechk.pas * properties are allowed as formal const parameters as well 2004-05-24 21:24:40 +00:00
impdef.pas * compilation fixes + *w tools renamed to * 2004-02-22 14:52:59 +00:00
import.pas
link.pas * increased maxsize of link.res file name 2004-02-24 00:53:48 +00:00
make_old.cmd
Makefile * use UNIXHier 2004-05-24 16:31:36 +00:00
Makefile.fpc * use UNIXHier 2004-05-24 16:31:36 +00:00
mdppc386.bat
mppc68k.bat
mppc386.bat
mppcsparc + add debug info to produced programs 2004-03-20 14:21:56 +00:00
msgidx.inc * give error when goto jumps to label outside current proc scope 2004-05-23 11:39:37 +00:00
msgtxt.inc * give error when goto jumps to label outside current proc scope 2004-05-23 11:39:37 +00:00
nadd.pas + added set of widechar support (limited to 256 chars, is delphi compatible) 2004-05-23 14:14:18 +00:00
nbas.pas * methodpointer is loaded into a temp when it was a calln 2004-05-23 18:28:40 +00:00
ncal.pas * fix passing of array to open array of array (bug 3113) 2004-05-24 17:31:51 +00:00
ncgadd.pas * use op_ordinal for dynarr compares 2004-02-26 16:11:29 +00:00
ncgbas.pas * methodpointer is loaded into a temp when it was a calln 2004-05-23 18:28:40 +00:00
ncgcal.pas * methodpointer is loaded into a temp when it was a calln 2004-05-23 18:28:40 +00:00
ncgcnv.pas * Prepare compiler infrastructure for multiple ansistring types 2004-04-29 19:56:36 +00:00
ncgcon.pas * Prepare compiler infrastructure for multiple ansistring types 2004-04-29 19:56:36 +00:00
ncgflw.pas * cleaner temp get/unget for exceptions 2004-03-29 14:43:47 +00:00
ncginl.pas tai_regalloc.allocation changed to ratype to notify rgobj of register size changes 2004-05-22 23:34:27 +00:00
ncgld.pas tai_regalloc.allocation changed to ratype to notify rgobj of register size changes 2004-05-22 23:34:27 +00:00
ncgmat.pas * fixed generic shl/shr operations 2004-01-23 15:12:49 +00:00
ncgmem.pas * Prepare compiler infrastructure for multiple ansistring types 2004-04-29 19:56:36 +00:00
ncgopt.pas tai_regalloc.allocation changed to ratype to notify rgobj of register size changes 2004-05-22 23:34:27 +00:00
ncgset.pas * top_symbol killed 2004-02-27 10:21:04 +00:00
ncgutil.pas * fixed qword(longint) that removed sign from the number 2004-05-23 15:23:30 +00:00
ncnv.pas * methodpointer is loaded into a temp when it was a calln 2004-05-23 18:28:40 +00:00
ncon.pas * stricter handling of formal const parameters and IE fixed 2004-05-24 20:39:41 +00:00
nflw.pas * remvoe writeln 2004-05-23 15:04:13 +00:00
ninl.pas * methodpointer is loaded into a temp when it was a calln 2004-05-23 18:28:40 +00:00
nld.pas * Prepare compiler infrastructure for multiple ansistring types 2004-04-29 19:56:36 +00:00
nmat.pas * don't change sign for unsigned shl/shr operations 2004-05-19 23:29:25 +00:00
nmem.pas * Prepare compiler infrastructure for multiple ansistring types 2004-04-29 19:56:36 +00:00
nobj.pas * vtbls are now properly aligned 2004-03-31 21:01:01 +00:00
node.pas * stricter handling of formal const parameters and IE fixed 2004-05-24 20:39:41 +00:00
nopt.pas
nset.pas * fixed operator overload allowing for pointer-string 2004-03-18 16:19:03 +00:00
nstate.pas
nutils.pas * methodpointer is loaded into a temp when it was a calln 2004-05-23 18:28:40 +00:00
ogbase.pas
ogcoff.pas
ogelf.pas
oglx.pas
ogmap.pas
options.pas * m68k compiler compilation fixed 2004-05-06 20:30:51 +00:00
owar.pas strip path from filenames of members, because win32 changes .\ to ./ for long filenames 2004-05-09 11:07:39 +00:00
owbase.pas
paramgr.pas + location support for arguments, currently PowerPC/MorphOS only 2004-04-18 15:22:24 +00:00
parser.pas * few small changes to add syscall support to M68k/Amiga target 2004-05-12 13:21:09 +00:00
pass_1.pas * implicit_finally flag must be set in pass1 2004-05-23 15:06:20 +00:00
pass_2.pas * implicit_finally flag must be set in pass1 2004-05-23 15:06:20 +00:00
pbase.pas - Comment out unused tokenstring function 2004-02-21 20:10:27 +00:00
pdecl.pas * constants ordinals now always have a type assigned 2004-03-23 22:34:49 +00:00
pdecobj.pas * fix crash when method is not declared in object declaration 2004-02-26 16:13:25 +00:00
pdecsub.pas * fixed 3114 2004-05-23 20:54:39 +00:00
pdecvar.pas * fix calling convention problem when parsing default value before 2004-04-11 12:38:16 +00:00
pexports.pas index number generation for mixed index-nonindexed fixed, patch by Pavel V. Ozerski 2004-04-24 17:32:05 +00:00
pexpr.pas * methodpointer is loaded into a temp when it was a calln 2004-05-23 18:28:40 +00:00
pinline.pas * methodpointer is loaded into a temp when it was a calln 2004-05-23 18:28:40 +00:00
pmodules.pas * initialize errorsym/errortype.def.owner to prevent crashes 2004-05-23 20:56:42 +00:00
pp.lpi + added to use Lazarus debugging compiler 2004-03-17 11:58:03 +00:00
pp.pas * checkmem remvoed 2004-05-23 16:46:39 +00:00
ppc.cfg
ppc.conf
ppc.dof
ppc.dpr
ppheap.pas
ppu.pas * add DEBUGINFO symbol to reference the .o file that includes the 2004-05-19 21:16:12 +00:00
procinfo.pas * make cycle fixed 2004-03-02 17:32:12 +00:00
pstatmnt.pas * methodpointer is loaded into a temp when it was a calln 2004-05-23 18:28:40 +00:00
psub.pas * also check local typed const 2004-05-24 17:31:12 +00:00
psystem.pas * Prepare compiler infrastructure for multiple ansistring types 2004-04-29 19:56:36 +00:00
ptconst.pas * fixed qword(longint) that removed sign from the number 2004-05-23 15:23:30 +00:00
ptype.pas * fixes to previous constant integer commit 2004-03-29 14:44:10 +00:00
raatt.pas * big transformation of Tai_[const_]Symbol.Create[data]name* 2004-03-02 00:36:32 +00:00
rabase.pas * fixed more alignment issues 2004-01-30 13:42:03 +00:00
rasm.pas
rautils.pas * m68k compiler compilation fixed 2004-05-06 20:30:51 +00:00
README
regvars.pas - removed taicpu.is_reg_move because it's not used anymore 2004-02-08 20:15:42 +00:00
rgbase.pas
rgobj.pas tai_regalloc.allocation changed to ratype to notify rgobj of register size changes 2004-05-22 23:34:27 +00:00
scandir.pas * $message directive compatible with delphi 2004-05-19 23:29:56 +00:00
scanner.pas * Patch from Christian Iversen to support sizeof() in preprocessor 2004-05-23 20:55:38 +00:00
script.pas + Status checks in scripts 2004-04-06 22:44:16 +00:00
switches.pas
symbase.pas * make cycle fixed 2004-03-02 17:32:12 +00:00
symconst.pas * tprocinfoflag moved to globtype 2004-05-23 14:32:17 +00:00
symdef.pas * removed unused voidprocdef 2004-05-23 20:57:10 +00:00
symnot.pas
symsym.pas quote all low ascii chars in stabs 2004-05-22 23:32:52 +00:00
symtable.pas * check for 2gb limit when inserting record fields 2004-05-25 18:50:50 +00:00
symtype.pas * fixed qword(longint) that removed sign from the number 2004-05-23 15:23:30 +00:00
symutil.pas * constants ordinals now always have a type assigned 2004-03-23 22:34:49 +00:00
systems.pas + <pointer> - <pointer> result is divided by the pointer element size now 2004-05-20 21:54:33 +00:00
tgobj.pas * use localalign info for alignment for locals and temps 2004-01-12 22:11:38 +00:00
tokens.pas + added language constructs UNIV, C, ... for mode mac 2004-05-03 10:06:38 +00:00
tpexcept.pas * don't use the local longjmp for 1.9.x 2004-02-12 16:00:39 +00:00
verbose.pas * fix crashes with 1.0.x 2004-02-23 15:59:46 +00:00
version.pas * version changed to 1.9.3 2004-01-11 20:59:41 +00:00
widestr.pas * strlenint is replaced with sizeint 2004-05-02 11:48:46 +00:00

This directory contains the sources of the Free Pascal Compiler

If you want to compile/modify the compiler, please read first the
programmers manual.

To recompile the compiler, you can use the batch files :
 + mppc386.bat    if you want to build a cross compiler from i386 to m68k
 + mppcsparc      if you want to build a cross compiler from i386 to SPARC
 
 or
Use the make utility as following
  
      make OS_TARGET="compiler OS target" \
      CPU_TARGET="compiler CPU target" \
      FPCCPUOPT="Optimization level" \
      PP="compiler used to compile FPC" \
      COMPILER_OPTIONS="Options passed to compiler" \
      
      
If an option is omitted, then target CPU/OS will be same as current CPU/OS
 
Possibles targets are : linux go32v2 win32 os2 freebsd beos netbsd amiga
atari sunos qnx netware openbsd wdosx palmos macos macosx emx
   
Possible compiler switches (* marks a currently required switch):
  -----------------------------------------------------------------
  GDB*                support of the GNU Debugger
  I386                generate a compiler for the Intel i386+
  x86_64              generate a compiler for the AMD x86-64 architecture
  M68K                generate a compiler for the M68000
  SPARC               generate a compiler for SPARC
  POWERPC             generate a compiler for the PowerPC
  VIS                 generate a compile for the VIS
  DEBUG               version with debug code is generated
  EXTDEBUG            some extra debug code is executed
  SUPPORT_MMX         only i386: releases the compiler switch
                      MMX which allows the compiler to generate
                      MMX instructions
  EXTERN_MSG          Don't compile the msgfiles in the compiler, always
                      use external messagefiles, default for TP
  NOAG386INT          no Intel Assembler output
  NOAG386NSM          no NASM output
  NOAG386BIN          leaves out the binary writer, default for TP
  NORA386DIR          No direct i386 assembler reader
  TEST_GENERIC        Test Generic version of code generator
                      (uses generic RTL calls)
  -----------------------------------------------------------------
  cpuflags            The target processor has status flags (on by default)
  cpufpemu            The target compiler will also support emitting software
                       floating point operations
  cpu64bit            The target is a 64-bit processor
  -----------------------------------------------------------------

  Required switches for a i386 compiler be compiled by Free Pascal Compiler:
  GDB;I386

to build a compiler to SPARC target using a Win32/i386 you just use :
      make CPU_TARGET=SPARC