..
aarch64
Decrease amount of code duplication regarding handling of safecall and record constructors.
2013-01-25 20:39:28 +00:00
alpha
arm
* UMUL et al. have only register restrictions on arm below v6
2013-07-24 20:18:12 +00:00
avr
* don't use the paracgsize in get_paraloc_def(), because it generally
2013-06-02 14:05:07 +00:00
generic
html
i386
* cleanup of unused units
2013-07-07 20:00:33 +00:00
i8086
+ added an i8086 specific override of thlcgcpu.location_force_mem, which handles 6-byte (medium/compact memory model) method pointers
2013-07-20 19:40:27 +00:00
ia64
jvm
Fix jvm compiler compilation failure after rev 25013
2013-07-02 12:52:32 +00:00
m68k
* don't use the paracgsize in get_paraloc_def(), because it generally
2013-06-02 14:05:07 +00:00
mips
* MIPS: handle get_frame internally, so it sets pi_needs_stackframe flag on current procedure. This makes possible not to force pi_needs_stackframe on every procedure and thus omit saving/restoring $fp register when it is not necessary.
2013-07-24 15:25:12 +00:00
msg
o error message file update by Karl-Michael Schindler:
2013-06-18 18:31:24 +00:00
powerpc
* don't use the paracgsize in get_paraloc_def(), because it generally
2013-06-02 14:05:07 +00:00
powerpc64
* missing part of r24776, using a build server also has pitfalls :/
2013-06-02 14:35:29 +00:00
ppcgen
* renamed thlcgobj.tcgsize2orddef to defutil.cgsize_orddef
2013-06-01 18:28:15 +00:00
sparc
* add a tdef to each parameter location and set it for all target
2013-06-02 10:24:02 +00:00
systems
* Internal ELF linker: for MIPS targets, place .got section after .data. This corresponds to behavior of ld, and reduces amount of processing when adding GOT slots for local symbols (which requires re-doing layout for all sections that come after .got)
2013-07-21 13:10:57 +00:00
utils
+ added po_far to tprocoptions
2013-06-08 16:34:30 +00:00
vis
x86
* use add/sub instead of inc/dec on modern CPUs when optimizing for speed
2013-07-07 19:50:13 +00:00
x86_64
* adapt max_linear_list on x86-64 as well
2013-07-07 20:01:10 +00:00
aasmbase.pas
* indention fixes
2013-05-03 20:41:55 +00:00
aasmdata.pas
The scheduler pass of the ARM optimizer left markers in the instruction list, which could prevent further peephole optimizations
2013-06-02 16:37:41 +00:00
aasmsym.pas
aasmtai.pas
+ tai_const.Create_type_name and tai_const.Create_pint_unaligned
2013-07-07 15:09:36 +00:00
aggas.pas
* Make Win64 SEH support enabled by default. If necessary to disable, compiler should be cycled with OPT=-dDISABLE_WIN64_SEH. Mantis #24012 .
2013-03-08 16:58:05 +00:00
agjasmin.pas
aopt.pas
aoptbase.pas
* Fixed label optimizer to work with MIPS, and enabled level 1 optimization for MIPS targets.
2013-07-03 14:40:24 +00:00
aoptcs.pas
aoptda.pas
aoptobj.pas
* Fixed label optimizer to work with MIPS, and enabled level 1 optimization for MIPS targets.
2013-07-03 14:40:24 +00:00
asmutils.pas
assemble.pas
* Make Win64 SEH support enabled by default. If necessary to disable, compiler should be cycled with OPT=-dDISABLE_WIN64_SEH. Mantis #24012 .
2013-03-08 16:58:05 +00:00
browcol.pas
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
* better error reporting
2013-04-14 15:51:25 +00:00
cfidwarf.pas
cfileutl.pas
handle the cases where f contains an absolute path
2013-06-01 15:22:58 +00:00
cg64f32.pas
* refactored cg64f32.splitparaloc64 to use cgpara.locations_count
2013-05-19 18:44:54 +00:00
cgbase.pas
+ added trefaddr.addr_seg for referencing the segment of a symbol
2013-06-10 01:16:37 +00:00
cghlcpu.pas
cgobj.pas
* basic avx support for floating point operations (use -Cfavx to activate)
2013-06-14 20:03:01 +00:00
cgutils.pas
* tlocation.value reverted back to longint on non 64-bit archs. This fixes the tset5.pp and tset5a.pp regressions on powerpc and probably other 32-bit platforms.
2013-04-28 17:52:06 +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
applied fix from trunk for building with fpc 2.6.x on unix
2013-03-09 18:35:24 +00:00
compinnr.inc
+ pseudo procedure aligned: tells the compiler to assume that the given parameter is naturally aligned, counterpart of unaligned
2013-01-04 19:13:24 +00:00
comprsrc.pas
constexp.pas
* workaround for 2.6.x to avoid overflow errors when compiled with -CRiot
2013-06-26 21:40:52 +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
cresstr.pas
* Put string with unit name into sec_rodata_norel (other strings are already there since r23017, this one was missed).
2013-06-08 22:59:18 +00:00
cstreams.pas
cutils.pas
+ added min and max functions for Tconstexprint
2013-04-01 20:23:14 +00:00
cwindirs.pp
dbgbase.pas
dbgdwarf.pas
+ tai_const.Create_type_name and tai_const.Create_pint_unaligned
2013-07-07 15:09:36 +00:00
dbgstabs.pas
compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation)
2013-01-16 01:14:23 +00:00
dbgstabx.pas
defcmp.pas
* previously, we preferred pchar->shortstring to pchar->ansistring in
2013-07-24 09:39:34 +00:00
defutil.pas
+ added is_farpointer(tdef) and is_hugepointer(tdef) helper functions to defutil
2013-06-10 20:50:05 +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
* Add missing checks for android target.
2013-01-21 12:08:25 +00:00
finput.pas
* patch by Aleksa Todorovic: store relative include paths in PPUs, resolves #9961
2013-03-17 16:22:00 +00:00
fmodule.pas
fpccrc.pas
fpcdefs.inc
* MIPS: handle get_frame internally, so it sets pi_needs_stackframe flag on current procedure. This makes possible not to force pi_needs_stackframe on every procedure and thus omit saving/restoring $fp register when it is not necessary.
2013-07-24 15:25:12 +00:00
fppu.pas
* patch by Aleksa Todorovic: store relative include paths in PPUs, resolves #9961
2013-03-17 16:22:00 +00:00
gendef.pas
globals.pas
+ implemented the tiny memory model for i8086-msdos; we now produce working dos .com files as well
2013-06-02 23:02:10 +00:00
globstat.pas
globtype.pas
* the memory model const sets introduced in r24812 moved to i8086/cpuinfo.pas
2013-06-08 19:52:28 +00:00
hlcg2ll.pas
+ def_cgmmsize() that returns a vector tcgsize for arraydefs (as generated
2013-06-02 10:24:08 +00:00
hlcgobj.pas
+ full support for parameter passing in the high level code generator
2013-06-02 10:24:13 +00:00
htypechk.pas
Small optimization for the search of operator overloads. Add a flag "sto_has_generic" to all symtables that contain an operator overload (the flag propagates up the owning symtables) and check this flag when searching for units with operators.
2013-03-04 16:02:18 +00:00
impdef.pas
import.pas
ldscript.pas
link.pas
reverted the link object search change
2013-06-01 15:35:59 +00:00
macho.pas
machoutils.pas
Makefile
+ enable jump optimizer for i8086
2013-05-01 13:54:13 +00:00
Makefile.fpc
+ enable jump optimizer for i8086
2013-05-01 13:54:13 +00:00
MPWMake
msgidx.inc
* nostackframe now results in an error if used on pascal subroutines
2013-06-16 18:59:03 +00:00
msgtxt.inc
* nostackframe now results in an error if used on pascal subroutines
2013-06-16 18:59:03 +00:00
nadd.pas
nadd.pas, taddnode.create_internal:
2013-07-09 08:51:49 +00:00
nbas.pas
* keep managed types in registers if possible. Under certain circumstances (if they don't require init/final code,
2013-06-23 15:16:30 +00:00
ncal.pas
* make actualtargetnode a normal procedure using pointers to node so it can be used also when replacing nodes
2013-06-29 22:20:30 +00:00
ncgadd.pas
+ avx uses add to multiply by 2
2013-06-15 21:18:40 +00:00
ncgbas.pas
* keep managed types in registers if possible. Under certain circumstances (if they don't require init/final code,
2013-06-23 15:16:30 +00:00
ncgcal.pas
* far proc fixes in tcgcallnode.pass_generate_code
2013-06-09 14:21:03 +00:00
ncgcnv.pas
+ MIPS: emulate "flags", i.e. support LOC_FLAGS location. This allows to generate differently optimized code for branching and for conversion to register, typically saving a register and instruction per compare.
2013-07-19 14:06:47 +00:00
ncgcon.pas
* i8086 specific code from tcgpointerconstnode.pass_generate_code moved to an i8086 specific overriden method
2013-05-24 17:16:55 +00:00
ncgflw.pas
* Fixed register live range in for-loops:
2013-06-21 15:26:14 +00:00
ncginl.pas
* sizeof(x), typeof(x): if "x" is typenode, request GOT for PIC because a global VMT label will be loaded.
2013-06-03 18:07:32 +00:00
ncgld.pas
+ added i8086 medium/compact model 6-byte (mixed near + far) method pointer support in tcgloadnode and tcgassignmentnode
2013-07-20 15:06:14 +00:00
ncgmat.pas
* fixed tcgnotnode.second_64bit for 8/16-bit cpus after r24678
2013-06-01 14:05:53 +00:00
ncgmem.pas
* handle also LOC_CREGISTER/LOC_CMMREGISTER in tcgvecnode.pass_generate_code, resolves #24705
2013-07-04 19:36:28 +00:00
ncgnstld.pas
ncgnstmm.pas
ncgobjc.pas
ncgopt.pas
ncgrtti.pas
* use create_nil_dataptr instead of create_sym(nil) in TRTTIWriter.write_rtti_reference; among other things, this fixes writeln(enum) in the i8086 medium memory model
2013-06-25 21:02:55 +00:00
ncgset.pas
* 16-bit ALU fixes in tcgcasenode.genlinearcmplist
2013-03-24 22:40:27 +00:00
ncgutil.pas
* MIPS: floating point parameters on stack should be loaded to/from FPU registers directly, without using temp.
2013-07-17 11:00:46 +00:00
ncgvmt.pas
* Moved all code responsible for writing VMTs and interface wrappers (nobj.TVMTWriter, ncgutil.gen_intf_wrappers, ptype.write_persistent_type_info) into a new unit ncgvmt.pas.
2013-04-19 13:31:27 +00:00
ncnv.pas
* make actualtargetnode a normal procedure using pointers to node so it can be used also when replacing nodes
2013-06-29 22:20:30 +00:00
ncon.pas
+ far pointer support in tpointerconstnode
2013-05-24 12:41:53 +00:00
nflw.pas
Fix for Mantis #17598 . When extended syntax is off allow the result of constructors to be dropped when the constructor is called as an instance method instead of a class method.
2013-07-09 07:56:45 +00:00
ngenutil.pas
+ create a default heap on embedded targets and register this default heap
2013-03-16 10:37:18 +00:00
ngtcon.pas
* check range of enums and booleans in typed constant expressions when
2013-05-14 12:05:00 +00:00
ninl.pas
* Define SUPPORT_GET_FRAME for targets having "get_frame" as internal symbol (x86,arm and jvm, currently), removes need to enumerate these targets in every related conditional compilation directive and simplifies configuring this feature for other targets.
2013-06-26 11:03:24 +00:00
nld.pas
* keep managed types in registers if possible. Under certain circumstances (if they don't require init/final code,
2013-06-23 15:16:30 +00:00
nmat.pas
* tmoddivnode.pass_typecheck: in the case of unsigned div/mod positive_const, check also the upper bound of the const, so it doesn't get truncated
2013-04-14 21:56:32 +00:00
nmem.pas
* far pointer fix in taddrnode.pass_typecheck
2013-06-09 23:07:30 +00:00
nobj.pas
* Moved all code responsible for writing VMTs and interface wrappers (nobj.TVMTWriter, ncgutil.gen_intf_wrappers, ptype.write_persistent_type_info) into a new unit ncgvmt.pas.
2013-04-19 13:31:27 +00:00
nobjc.pas
node.pas
* make actualtargetnode a normal procedure using pointers to node so it can be used also when replacing nodes
2013-06-29 22:20:30 +00:00
nopt.pas
nset.pas
compiler: remove unused variables and unneeded assignments
2013-01-21 01:24:36 +00:00
nstate.pas
nutils.pas
* make actualtargetnode a normal procedure using pointers to node so it can be used also when replacing nodes
2013-06-29 22:20:30 +00:00
objcdef.pas
objcgutl.pas
objcutil.pas
ogbase.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
ogcoff.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
ogelf.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
oglx.pas
ogmacho.pas
ogmap.pas
* Output sizes in map files without truncation and without leading zeros, plus a few more tweaks to make it look more like map files generated by ld. Resolves #24747 .
2013-07-17 14:52:02 +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
optcse.pas
* make actualtargetnode a normal procedure using pointers to node so it can be used also when replacing nodes
2013-06-29 22:20:30 +00:00
optdead.pas
optdfa.pas
+ introduce cnf_call_never_returns to signal the dfa if a call node never returns
2013-04-21 16:53:25 +00:00
options.pas
* Define SUPPORT_GET_FRAME for targets having "get_frame" as internal symbol (x86,arm and jvm, currently), removes need to enumerate these targets in every related conditional compilation directive and simplifies configuring this feature for other targets.
2013-06-26 11:03:24 +00:00
optloop.pas
opttail.pas
optutils.pas
+ has_life_info
2013-06-14 20:52:40 +00:00
optvirt.pas
owar.pas
owbase.pas
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
* missing part of r24776, using a build server also has pitfalls :/
2013-06-02 14:35:29 +00:00
parser.pas
Increase status.errorcount only inside GenerateError procedure, to simplify debugging
2013-01-16 09:45:57 +00:00
pass_1.pas
pass_2.pas
pbase.pas
pdecl.pas
* got rid of tpointerdef.update_savesize, overrode size instead
2013-06-08 21:23:16 +00:00
pdecobj.pas
+ introduce tvariantrecbranch to be able to store
2013-04-14 15:50:42 +00:00
pdecsub.pas
Fix bug report 24612:
2013-06-17 15:21:07 +00:00
pdecvar.pas
* merge i8086 branch by Nikolay Nikolov
2013-04-25 20:23:51 +00:00
pexports.pas
pexpr.pas
* rm support for Mem without segment on i8086
2013-06-02 16:20:26 +00:00
pgenutil.pas
Completely reworked implementation of generic constraints, by moving the generic constraint data from the symbols to the definitions (I originally thought that this would simplyfy things, but the more correct approach is to add it to the defs).
2013-05-29 08:19:02 +00:00
pinline.pas
* convert function like used new into a appropriate nodes only in pass_1 so proper error checking can be carried out, resolves #24495
2013-05-31 14:55:49 +00:00
pmodules.pas
+ introduce tf_no_objectfiles_when_smartlinking so object file generation on i8086-msdos can be turned off
2013-04-30 19:11:55 +00:00
pp.lpi
pp.pas
cpu_i8086 and system_i8086_msdos added to the systems.inc enums
2013-03-07 22:38:35 +00:00
pparautl.pas
Added support for type helpers. In non Delphi modes they use "type helper" and in mode Delphi they use "record helper". They can also be used on constants.
2013-02-06 09:49:35 +00:00
ppc68k.lpi
ppc8086.lpi
+ i8086/n8086cnv.pas added to lazarus project
2013-06-10 01:19:22 +00:00
ppcaarch64.lpi
+ lazarus compiler project for aarch64
2012-12-16 12:35:02 +00:00
ppcarm.lpi
ppcavr.lpi
ppcjvm.lpi
* jvm lazarus project file properly named
2013-04-28 08:39:20 +00:00
ppcmips.lpi
ppcmipsel.lpi
ppcppc64.lpi
ppcppc.lpi
ppcsparc.lpi
ppheap.pas
ppu.pas
+ added po_far to tprocoptions
2013-06-08 16:34:30 +00:00
ppx86_64.lpi
procinfo.pas
* estimatedtempsize should be a longint to avoid warnings on 8 bit targets
2013-04-07 21:01:18 +00:00
pstatmnt.pas
Fix for Mantis #17598 . When extended syntax is off allow the result of constructors to be dropped when the constructor is called as an instance method instead of a class method.
2013-07-09 07:56:45 +00:00
psub.pas
* Mark procedures with shortstring value parameters as non-leaf, because such parameters generate a call (to fpc_shortstr_assign).
2013-07-11 08:21:45 +00:00
psystem.pas
* Define SUPPORT_GET_FRAME for targets having "get_frame" as internal symbol (x86,arm and jvm, currently), removes need to enumerate these targets in every related conditional compilation directive and simplifies configuring this feature for other targets.
2013-06-26 11:03:24 +00:00
ptconst.pas
ptype.pas
* merge i8086 branch by Nikolay Nikolov
2013-04-25 20:23:51 +00:00
raatt.pas
Add support in ARM assembler reader for ldr reg, =literal syntax
2013-07-21 16:06:57 +00:00
rabase.pas
rasm.pas
rautils.pas
- Removed ConcatPasString procedure, it duplicates ConcatString (it the past they probably used to differ, but today both preserve null characters).
2013-02-25 22:09:39 +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
rgobj.pas
+ MIPS: prevent coalescing written-to registers with $sp,$fp,$zero and $at.
2013-06-15 04:04:08 +00:00
scandir.pas
Add support for integer constants to SetPEFlags and SetPEOptFlags. This is Delphi compatible.
2013-06-13 10:51:42 +00:00
scanner.pas
* merge i8086 branch by Nikolay Nikolov
2013-04-25 20:23:51 +00:00
script.pas
switches.pas
symbase.pas
symconst.pas
+ added po_far to tprocoptions
2013-06-08 16:34:30 +00:00
symcreat.pas
* fixed typo in jvm record clone implementation comment
2013-01-26 21:28:30 +00:00
symdef.pas
* tprocdef.customprocname: fixed bug introduced in r21069 that was causing result to always contain 'procedure' or 'function' word. These should be included only if pno_proctypeoption flag is given. Resolves #24640 .
2013-07-17 12:41:55 +00:00
symnot.pas
symsym.pas
* keep managed types in registers if possible. Under certain circumstances (if they don't require init/final code,
2013-06-23 15:16:30 +00:00
symtable.pas
Finally refactor "b_needs_init_final" flag to be a symtable flag which is written to/loaded from the PPU (as discussed in the thread "Status report for "class helpers"" in fpc-devel on 29th January 2011).
2013-05-17 12:15:13 +00:00
symtype.pas
Add support for generic type constraints. They are currently only useful to stop specialization of a generic. The parsing of a generic is still too lax and needs to be changed in the future...
2012-12-16 13:44:58 +00:00
symutil.pas
systems.inc
+ openwatcom wlib support added
2013-03-22 23:44:33 +00:00
systems.pas
* only display and allow ABIs that are actually supported by the current
2013-05-08 14:30:38 +00:00
tgobj.pas
* prevent previously freed temp blocks from getting lost occasionally (can
2013-03-27 17:16:34 +00:00
tokens.pas
* Fixed unused var note.
2013-04-26 10:29:35 +00:00
verbose.pas
Increase status.errorcount only inside GenerateError procedure, to simplify debugging
2013-01-16 09:45:57 +00:00
version.pas
ifdef cpu86 replaced with ifdef cpui386
2013-03-07 22:21:27 +00:00
widestr.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
wpo.pas
wpobase.pas
wpoinfo.pas