fpc/compiler
pierre 831a876ec5 Added asmsymbindname array name for TAsmSymBind type
for use in new messages commits 29444-29445

git-svn-id: trunk@29446 -
2015-01-12 10:15:17 +00:00
..
aarch64 + change always floating point divisions into multiplications if they are a power of two, 2014-11-16 20:47:38 +00:00
alpha + change always floating point divisions into multiplications if they are a power of two, 2014-11-16 20:47:38 +00:00
arm * unified internal errors 2014-12-13 11:46:59 +00:00
avr + change always floating point divisions into multiplications if they are a power of two, 2014-11-16 20:47:38 +00:00
generic + change always floating point divisions into multiplications if they are a power of two, 2014-11-16 20:47:38 +00:00
html
i386 + change always floating point divisions into multiplications if they are a power of two, 2014-11-16 20:47:38 +00:00
i8086 + implemented inc/dec for huge pointers 2014-12-10 23:52:46 +00:00
ia64 + change always floating point divisions into multiplications if they are a power of two, 2014-11-16 20:47:38 +00:00
jvm * associate debug information for local variables with the second instead of 2014-12-16 20:52:46 +00:00
m68k m68k: some more basic FPU stuff 2015-01-05 05:26:44 +00:00
mips Try to avoid uncorrect optimization 2015-01-02 23:00:22 +00:00
msg Added two new messages for changes in assembler symbols after use. 2015-01-12 10:05:21 +00:00
powerpc * unified internal errors 2014-12-13 11:46:59 +00:00
powerpc64 + change always floating point divisions into multiplications if they are a power of two, 2014-11-16 20:47:38 +00:00
ppcgen * unified internal errors 2014-12-13 11:46:59 +00:00
sparc + change always floating point divisions into multiplications if they are a power of two, 2014-11-16 20:47:38 +00:00
systems * mips-linux: Enabled tf_safecall_exceptions (it just works, no reason to keep disabled) and also tf_pic_uses_got (so that checks elsewhere in compiler set pi_needs_got flag; actual functionality is not changed because currently MIPS just forces pi_needs_got unconditionally). 2014-12-29 23:26:40 +00:00
utils * version updated to 3.1.1 2015-01-04 21:09:04 +00:00
vis + change always floating point divisions into multiplications if they are a power of two, 2014-11-16 20:47:38 +00:00
x86 * make integer division instruction (div/idiv) on x86 dependent on the 2015-01-04 13:08:57 +00:00
x86_64 * first dragonfly patch (existing most). Mantis #27091 2014-12-07 20:27:02 +00:00
aasmbase.pas Added asmsymbindname array name for TAsmSymBind type 2015-01-12 10:15:17 +00:00
aasmdata.pas Possible fix for the OpenSolaris x86_64 cycle failure, due to bind change from AB_GLOBAL back to AB_LOCAL after code generation, which lead to invalid code 2015-01-10 22:55:11 +00:00
aasmsym.pas
aasmtai.pas Avoid referencing an empty ansistring in tai_stabs.create_ansistr 2014-11-05 20:29:18 +00:00
aggas.pas Fix error with .ref pseudo-op. with assembler labels that still had dollar signs on AIX assembler 2014-12-15 09:10:50 +00:00
agjasmin.pas * fixed DFA warnings for JVM target 2014-08-20 15:48:42 +00:00
aopt.pas * honour -Oonopeephole 2014-03-11 23:18:58 +00:00
aoptbase.pas * simplified RegInInstruction() and fixed range errors 2013-11-06 10:46:22 +00:00
aoptcs.pas
aoptda.pas
aoptobj.pas * Modified FindRegAlloc() to skip branch delay slots in the same way it is done in GetNextInstruction(). This fixes processing sequences "dealloc reg; branch reg,label; NOP; alloc reg" in BuildLabelTableAndFixRegAlloc(), deallocation is now correctly moved after branch. Before this change, the last allocation was ignored, and deallocation was moved forward until another instruction using reg was encountered. 2014-10-21 20:56:37 +00:00
asmutils.pas * Changed section for ansi/wide/unicodestring constants, resourcestrings (content only) and dataconstnodes from sec_rodata to sec_rodata_norel, because they never contain relocations. 2012-11-18 17:00:18 +00:00
assemble.pas + internal assembler: early check for empty asmlists. 2014-09-08 23:26:20 +00:00
browcol.pas Avoid infinite recursion on generic classes for IDE browser 2013-11-12 16:39:20 +00:00
bsdcompile
catch.pas
ccharset.pas compiler, rtl: move cpXXXX.pas files from compiler to RTL\charmaps directory and cleanup them, enable charmaps building for the majority of targets 2013-03-12 01:35:25 +00:00
cclasses.pas * reimplemented r28329 in a different way, as suggested by Jonas 2014-08-07 19:36:52 +00:00
cfidwarf.pas
cfileutl.pas * first dragonfly patch (existing most). Mantis #27091 2014-12-07 20:27:02 +00:00
cg64f32.pas + support overriding tdef/tsym methods with target-specific functionality: 2014-03-29 22:31:55 +00:00
cgbase.pas + added tcgsize2str function 2014-04-03 16:50:50 +00:00
cghlcpu.pas + override g_save_registers() and g_restore_registers() with do-nothing versions 2013-11-10 21:33:38 +00:00
cgobj.pas * tcg.translate_register: check that reg.allocator is not nil before calling its method (in case of "assembler nostackframe" function returning an x87 float compiler tries to translate NR_ST which is used for function result). 2014-12-10 07:13:14 +00:00
cgutils.pas * calc_divconst_magic_unsigned: explicitly limit the shift amount to number of bits of target platform. This happens implicitly only on x86, on other 32-bit targets shifting by more than 31 bits calculates as zero. 2014-06-16 17:05:01 +00:00
cmsgs.pas
comphook.pas Increase status.errorcount only inside GenerateError procedure, to simplify debugging 2013-01-16 09:45:57 +00:00
compiler.pas merged/updated AROS/i386 target to trunk from AROS branch, to support Marcus Sackrow's work on AROS support which will hopefully benefit all Amiga-like targets (classic, MorphOS) on the long run. Compiler only, RTL comes in the next run. 2014-08-17 18:18:07 +00:00
compinnr.inc * made setstring() a compiler intrinsic so it can set the compile-time 2014-10-12 20:27:06 +00:00
comprsrc.pas * made maybequoted_for_script() public 2014-10-19 16:34:43 +00:00
constexp.pas * make use of the noreturn directive for internalerror 2013-11-10 09:01:03 +00:00
COPYING.txt * updated address of FSF (mantis #24646, patch by Alexey Svistunov) 2013-06-27 14:04:34 +00:00
cpid.pas
crefs.pas * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables 2013-12-01 17:02:08 +00:00
cresstr.pas compiler: remove RST writer 2014-01-19 04:40:41 +00:00
cstreams.pas * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables 2013-12-01 17:02:08 +00:00
cutils.pas + added min and max functions for Tconstexprint 2013-04-01 20:23:14 +00:00
cwindirs.pp
dbgbase.pas * don't generate debug info for class fields in generic types 2014-06-10 19:05:10 +00:00
dbgdwarf.pas Generate mimnimal DWARF debug information for non-multithreaded thread variables 2014-11-26 09:59:13 +00:00
dbgstabs.pas * stabn writing code simplified 2014-08-30 16:56:01 +00:00
dbgstabx.pas Do not consider ansi/wide/unicode strings as taggable for stabs 2014-04-22 22:32:14 +00:00
defcmp.pas Added support for partial specialization. This should fix a few problems with generics, the tests for which will be added in the next days after I've verified them. 2014-06-05 20:05:05 +00:00
defutil.pas * is_farpointer and is_hugepointer moved from defutil to symcpu 2014-08-06 20:32:41 +00:00
dirparse.pas * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables 2013-12-01 17:02:08 +00:00
elfbase.pas + Added values for DT_FLAGS and DT_FLAGS_1 dynamic tags. 2013-03-29 14:46:44 +00:00
export.pas
expunix.pas * first dragonfly patch (existing most). Mantis #27091 2014-12-07 20:27:02 +00:00
finput.pas * don't hard-code size of linebuf entries 2014-05-15 09:08:05 +00:00
fmodule.pas * reimplemented r28329 in a different way, as suggested by Jonas 2014-08-07 19:36:52 +00:00
fpccrc.pas
fpcdefs.inc * m68k: Transform 32-bit div/mod nodes into helper calls during pass 1. This is consistent with the way other targets do it, and results in pretty much nicer code. 2014-06-28 13:28:01 +00:00
fppu.pas * write better hint message about the first occurence of an identifuer in case of a duplicate identifier error 2015-01-04 21:23:26 +00:00
gendef.pas
globals.pas * $SUBARCH => $FPCSUBARCH 2014-12-23 20:48:35 +00:00
globstat.pas Fix for Mantis #22160 2012-09-25 09:45:25 +00:00
globtype.pas + support the $fpcmemorymodel macro in fpc.cfg 2014-12-23 18:55:57 +00:00
hlcg2ll.pas Avoid Internal Error 200310121 with -O3 for test/units/system/tabs.pp with ppcarm 2014-11-23 16:29:09 +00:00
hlcgobj.pas - rm the ifdef cpu16bitalu and cpu64bitalu from thlcgobj.a_load_ref_cgpara, 2014-04-26 13:46:36 +00:00
htypechk.pas * fix for issue introduced in r28862: the compiler considered also 2015-01-04 19:41:21 +00:00
impdef.pas merged/updated AROS/i386 target to trunk from AROS branch, to support Marcus Sackrow's work on AROS support which will hopefully benefit all Amiga-like targets (classic, MorphOS) on the long run. Compiler only, RTL comes in the next run. 2014-08-17 18:18:07 +00:00
import.pas
ldscript.pas + Basic ld script parsing capabilities (barely enough to parse glibc2.1 'libc.so' files, lacks any error handling). 2012-08-21 08:37:39 +00:00
link.pas * pass the -b option to wlib to avoid creating .bak files 2014-03-24 17:35:11 +00:00
macho.pas
machoutils.pas
Makefile * version updated to 3.1.1 2015-01-04 21:09:04 +00:00
Makefile.fpc * version updated to 3.1.1 2015-01-04 21:09:04 +00:00
MPWMake
msgidx.inc Regenerated after msg/errore.msg commit: 2015-01-12 10:10:21 +00:00
msgtxt.inc Regenerated after msg/errore.msg commit: 2015-01-12 10:10:21 +00:00
nadd.pas + change always floating point divisions into multiplications if they are a power of two, 2014-11-16 20:47:38 +00:00
nbas.pas * changed the "laststatement" parameter of internalstatements() from "var" 2014-07-18 09:09:16 +00:00
ncal.pas * unified internal errors 2014-12-13 11:46:59 +00:00
ncgadd.pas * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables 2013-12-01 17:02:08 +00:00
ncgbas.pas * 16-bit and 8-bit ALU fixes in tcgtempdeletenode.pass_generate_code 2013-12-23 14:09:28 +00:00
ncgcal.pas * force objects and records only into memory if their address is passed, hint from Jonas, improves code after r29139 2014-12-27 16:42:34 +00:00
ncgcnv.pas * fixed optimisation from r25067 for the generic case where a signed value 2014-07-23 14:06:06 +00:00
ncgcon.pas * Inserted explicit typecasts in order to prevent range check errors at some places where signed and unsigned types are assigned to each other (mostly MIPS-specific, but one was necessary in generic code). 2014-08-10 21:26:14 +00:00
ncgflw.pas * handle the result of FPC_CATCHES via the high level code generator (which makes it i8086 far pointer safe) 2014-04-02 14:25:19 +00:00
ncginl.pas * fixed length(ansistring/widestring/dynarray) in i8086 far data memory models 2014-04-27 02:26:35 +00:00
ncgld.pas Fix for Mantis #26177. Use the correct value for the method data when using a method pointer of a type or record helper. 2014-07-05 08:54:10 +00:00
ncgmat.pas * Moved handling of emulated floating point negation into new virtual method tcgunaryminusnode.second_float_emulated. Also changed it into simple flipping of the sign bit, which is how it is defined by IEEE 754, and already done for ARM targets. Relevant ARM-specific parts can now be removed, and m68k code gets significantly better without further efforts. 2014-08-27 21:16:30 +00:00
ncgmem.pas * Fixed type of parameter passed to FPC_CHECKPOINTER after r23325, must be the pointer itself, not what it points to. Was causing IE 200306031 when compiling for i386 with -gc. 2014-09-12 18:50:09 +00:00
ncgnstld.pas
ncgnstmm.pas
ncgobjc.pas
ncgopt.pas * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables 2013-12-01 17:02:08 +00:00
ncgrtti.pas * fixed writing rtti published property getter/setter/stored proc info in the 2014-09-30 01:47:17 +00:00
ncgset.pas + 8-bit ALU support in tcgcasenode.genlinearcmplist 2014-04-26 12:41:58 +00:00
ncgutil.pas * gen_load_cgpara_loc with OS_(S)32 for 8 bit ALUs fixed 2014-10-04 18:28:21 +00:00
ncgvmt.pas * changed tcallnode.fforcedprocname from shortstring into tsymstr, 2014-05-10 12:47:25 +00:00
ncnv.pas Fix for tw8513 failure for big endian processors 2014-11-19 06:58:02 +00:00
ncon.pas + support overriding tdef/tsym methods with target-specific functionality: 2014-03-29 22:31:55 +00:00
nflw.pas * fixes several issues with loop unrolling 2014-12-31 15:45:06 +00:00
ngenutil.pas Fix for Mantis #27185. 2014-12-21 14:01:32 +00:00
ngtcon.pas * Fixed another case of emitting data without defining a section. Mantis #26473. 2014-10-03 11:19:25 +00:00
ninl.pas * set nf_internal for if nodes generated by assert, prevent warning for assert(true); resolves #26467 2014-12-14 19:41:22 +00:00
nld.pas + support overriding tdef/tsym methods with target-specific functionality: 2014-03-29 22:31:55 +00:00
nmat.pas * Moved handling of emulated floating point negation into new virtual method tcgunaryminusnode.second_float_emulated. Also changed it into simple flipping of the sign bit, which is how it is defined by IEEE 754, and already done for ARM targets. Relevant ARM-specific parts can now be removed, and m68k code gets significantly better without further efforts. 2014-08-27 21:16:30 +00:00
nmem.pas Removed vecn nodes from constant pointer address calculations to absolute variables, since only subscripts were being handled leading to problems like those described in issue #17118. 2014-11-03 20:12:19 +00:00
nobj.pas * TVMTBuilder.intf_allocate_vtbls: fixed the Ioffset calculation in i8086 far 2014-05-03 17:05:50 +00:00
nobjc.pas
node.pas + nf_addr_taken: it marks nodes which address is taken 2014-02-07 20:40:42 +00:00
nopt.pas * when concatenating ansistrings, do not map CP_NONE (rawbytestring) to 2013-07-19 16:33:14 +00:00
nset.pas + support overriding tdef/tsym methods with target-specific functionality: 2014-03-29 22:31:55 +00:00
nstate.pas
nutils.pas * better complexity estimation for some inline nodes 2014-04-27 14:28:01 +00:00
objcdef.pas
objcgutl.pas * changed some random data label names to match the label names outputted by 2013-12-31 00:28:46 +00:00
objcutil.pas
ogbase.pas * ELF linker: track relocation style (REL or RELA) of each input section and use it instead of global default on MIPS targets. This fixes internal linking of tests/test/units/system/tres*.pp. 2014-11-13 22:10:53 +00:00
ogcoff.pas * ogcoff.pas: when encountering symbol of unsupported type in input object file, give a meaningful error message instead of internal error. Mantis #27020. 2014-11-11 21:29:10 +00:00
ogelf.pas * first dragonfly patch (existing most). Mantis #27091 2014-12-07 20:27:02 +00:00
oglx.pas
ogmacho.pas
ogmap.pas + Property TObjSymbol.ObjData, allows to access owning TObjData for external/common symbols, i.e. ones with ObjSection=nil. 2013-07-30 09:23:48 +00:00
ognlm.pas * Replaced oso_disabled flag by TExeSection.Disabled boolean property. Makes code a bit nicer to read. 2013-04-28 20:29:49 +00:00
optbase.pas * run CheckAndWarn to get proper locations for warnings about uninitialized variables 2013-12-01 17:01:51 +00:00
optconstprop.pas * propagate constants into the header of a for loop 2013-12-31 13:16:09 +00:00
optcse.pas + apply cse to more inline nodes 2014-04-27 14:28:17 +00:00
optdead.pas * eliminate classes unit from the compiler by copying an array of string based 2014-03-30 12:03:10 +00:00
optdeadstore.pas * be more careful when removing dead stores 2013-12-28 20:19:42 +00:00
optdfa.pas * managed types cause a different warning/hint when they are 2014-12-14 20:48:54 +00:00
options.pas + handle -CPPACKENUM and -CPPACKRECORD, resolves #27153 2014-12-13 21:08:18 +00:00
optloop.pas * fixes several issues with loop unrolling 2014-12-31 15:45:06 +00:00
opttail.pas + support overriding tdef/tsym methods with target-specific functionality: 2014-03-29 22:31:55 +00:00
optutils.pas * set successor node for load nodes as well, they can be generated when inlining 2013-12-28 20:19:38 +00:00
optvirt.pas * changed tcallnode.fforcedprocname from shortstring into tsymstr, 2014-05-10 12:47:25 +00:00
owar.pas + Basic ld script parsing capabilities (barely enough to parse glibc2.1 'libc.so' files, lacks any error handling). 2012-08-21 08:37:39 +00:00
owbase.pas * Don't access tcfilestream.size 3 times in sequence, as each access costs two seeks (syscalls). 2012-07-12 16:10:34 +00:00
parabase.pas * add a tdef to each parameter location and set it for all target 2013-06-02 10:24:02 +00:00
paramgr.pas * Don't force CORBA (unmanaged) interfaces to be returned in parameter. All managed types including Variant and COM interfaces are already checked by handle_common_ret_in_param, superfluous checks removed. 2014-09-26 16:03:13 +00:00
parser.pas merged/updated AROS/i386 target to trunk from AROS branch, to support Marcus Sackrow's work on AROS support which will hopefully benefit all Amiga-like targets (classic, MorphOS) on the long run. Compiler only, RTL comes in the next run. 2014-08-17 18:18:07 +00:00
pass_1.pas * indention and new line fixes 2013-11-06 21:10:28 +00:00
pass_2.pas
pbase.pas Fix for Mantis #26278. 2014-06-13 21:36:55 +00:00
pdecl.pas + write name of missing feature in error message 2014-12-07 18:20:56 +00:00
pdecobj.pas Fix for Mantis #27120. 2014-12-12 13:57:43 +00:00
pdecsub.pas * improve error location reporting, resolves #26279 2014-12-14 21:18:28 +00:00
pdecvar.pas * check for read/write after a newly declared property (mantis #26011) 2014-06-15 10:59:47 +00:00
pexports.pas * handle exports with a name consisting of a single character correctly 2012-07-22 14:23:09 +00:00
pexpr.pas Fix for Mantis #25606. 2014-11-28 22:06:10 +00:00
pgenutil.pas Fix for Mantis #26922. 2014-11-28 16:35:28 +00:00
pinline.pas * handle records in iso mode properly if no tag-field is given 2014-12-11 19:21:13 +00:00
pmodules.pas * boolean constant instead of IFDEFs for detection of microcontroller support 2014-11-10 12:34:59 +00:00
pp.lpi + support overriding tdef/tsym methods with target-specific functionality: 2014-03-29 22:31:55 +00:00
pp.pas cpu_i8086 and system_i8086_msdos added to the systems.inc enums 2013-03-07 22:38:35 +00:00
pparautl.pas + support overriding tdef/tsym methods with target-specific functionality: 2014-03-29 22:31:55 +00:00
ppc68k.lpi * project file updates 2012-09-08 21:58:45 +00:00
ppc8086.lpi + generate the stack segment for i8086 far data memory models from within fpc 2014-05-27 23:29:50 +00:00
ppcaarch64.lpi + lazarus compiler project for aarch64 2012-12-16 12:35:02 +00:00
ppcarm.lpi * project file updates 2012-09-08 21:58:45 +00:00
ppcavr.lpi * project file updates 2012-09-08 21:58:45 +00:00
ppcjvm.lpi * jvm lazarus project file properly named 2013-04-28 08:39:20 +00:00
ppcmips.lpi * project file updates 2012-09-08 21:58:45 +00:00
ppcmipsel.lpi * project file updates 2012-09-08 21:58:45 +00:00
ppcppc64.lpi * project file updates 2012-09-08 21:58:45 +00:00
ppcppc.lpi * project file updates 2012-09-08 21:58:45 +00:00
ppcsparc.lpi * project file updates 2012-09-08 21:58:45 +00:00
ppheap.pas * Only -dextheaptrc sets keepreleased to tue (meaning no memory is really released by heaptrc memory manager) 2012-09-19 07:57:31 +00:00
ppu.pas * bumped PPU version because r28596 breaks compatibility on Amiga/68k and MorphOS 2014-09-05 02:39:35 +00:00
ppx86_64.lpi
procinfo.pas * Added virtual method tprocinfo.postprocess_code and moved target-specific processing from base class into target-specific descendant classes (ARM and AVR, other targets still to do). 2014-04-02 13:14:06 +00:00
pstatmnt.pas * allow the "then" part of an if-statement to be terminated by any endtoken, 2014-04-30 19:25:06 +00:00
psub.pas Fix for Mantis #24872. 2015-01-06 20:46:12 +00:00
psystem.pas * made setstring() a compiler intrinsic so it can set the compile-time 2014-10-12 20:27:06 +00:00
ptconst.pas * Don't place symbols with vo_force_finalize flag into read-only sections, resolves #26691. 2014-09-08 19:41:24 +00:00
ptype.pas * fixed indentation in ptype.expr_type. Prevously it looked like the 'if' is 2014-09-30 21:42:35 +00:00
raatt.pas - removed unused type and variable 2014-12-25 10:25:21 +00:00
rabase.pas
rasm.pas * Moved local label infrastructure into tasmreader, reduces number of global vars. Functionality is not changed. 2014-04-05 09:43:13 +00:00
rautils.pas * Asm readers: allow using procedure symbols in references, resolves #22376. 2014-11-17 05:34:55 +00:00
README.txt
regvars.pas
rescmn.pas * add a -dfpc define to the resource compiler commandlines, which allows to make FPC specific exceptions in resource scripts. Mantis #24044 2013-05-04 21:25:36 +00:00
rgbase.pas Use TRegNameTable instead of array[tregisterindex] of string[10] 2012-10-22 10:23:21 +00:00
rgobj.pas + m68k: initial implementation of do_spill_replace (supports only MOVE instructions for now). Tested with qemu for Coldfire target. 2014-07-30 01:20:59 +00:00
scandir.pas + added error message in case the HUGEPOINTERNORMALIZATION directive is used 2014-07-04 17:16:58 +00:00
scanner.pas * skip <type>(<expr>) in the cond. expression parser if eval is false 2014-11-22 22:45:02 +00:00
script.pas * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables 2013-12-01 17:02:08 +00:00
switches.pas + added the $F switch to the turbo and macSwitchTable, as that takes precedence 2014-04-13 15:14:43 +00:00
symbase.pas compiler: have unit interface symtable in stack while parsing implementation uses list (fixes issue #10477) 2013-09-17 08:53:37 +00:00
symconst.pas Add new procedure option: po_syscall_has_libsym, 2014-10-03 19:26:16 +00:00
symcreat.pas * fixed finish_copied_procdef() in case newstruct is nil after support for 2014-07-18 09:09:03 +00:00
symdef.pas Fix generation of class names for specializations. 2014-12-26 18:14:52 +00:00
symnot.pas
symsym.pas * changed explicit paraloc handling to use ppuload/ppuwrite functions in paraloc instead of directly writing the data. this hopefully fixes some endian issues when using crosscompiled-on-littleendian PPUs with explicit paralocs on bigendian systems (this means Amiga/68k and MorphOS) 2014-09-04 23:09:05 +00:00
symtable.pas * write better hint message about the first occurence of an identifuer in case of a duplicate identifier error 2015-01-04 21:23:26 +00:00
symtype.pas * support for raising the visibility of inherited properties on the JVM 2014-06-12 11:08:44 +00:00
symutil.pas
systems.inc * first dragonfly patch (existing most). Mantis #27091 2014-12-07 20:27:02 +00:00
systems.pas * first dragonfly patch (existing most). Mantis #27091 2014-12-07 20:27:02 +00:00
tgobj.pas * changed forcesize parameter of tgobj.gethltemp() from aint into asizeint, 2014-08-18 22:36:43 +00:00
tokens.pas + added parser support for huge pointer declarations 2014-06-27 10:44:02 +00:00
verbose.pas * make use of the noreturn directive for internalerror 2013-11-10 09:01:03 +00:00
version.pas * version updated to 3.1.1 2015-01-04 21:09:04 +00:00
widestr.pas * add support for Latin-2 character sets (ISO & IBM) 2014-03-27 22:48:13 +00:00
wpo.pas
wpobase.pas * changed tcallnode.fforcedprocname from shortstring into tsymstr, 2014-05-10 12:47:25 +00:00
wpoinfo.pas * call "message" rather than "cgmessage" when throwing fatal errors, because 2014-07-18 09:09:21 +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 haiku
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
  cpu64bitaddr        The targets use a 64-bit address space (pointers and
                       the default integer type are 64 bit)
  cpu64bitalu         The target cpu has 64-bit registers available (unless
                       cpu64bitaddr is also defined, pointers and default
                       integer type remain 32 bit, but the cpu can perform
                       64 bit calculations directly without needing helpers)
  -----------------------------------------------------------------

  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