..
aarch64
Decrease amount of code duplication regarding handling of safecall and record constructors.
2013-01-25 20:39:28 +00:00
alpha
arm
ARM: try to inline 64bit multiplication for the most common cases instead of calling FPC_MUL_ helpers (results in 5-10x speedup)
2013-07-30 14:40:50 +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
* when a i8086 reference uses only one register, choose it from the set [BX,BP,SI,DI] as it can be treated either as a base or an index, depending on what's convenient
2013-07-29 21:03:10 +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 internal linker: support TLS IE/LE and GPREL32 relocations, is now able to link tw14265.
2013-07-29 09:30:40 +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
+ 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
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
x86_64 internal ELF linker:
2013-07-29 08:34:00 +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
* initialise dollarsign field of jasmin tasminfo
2012-10-21 17:56:16 +00:00
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
* 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
* 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
Avoid range check error in IDE by changing value of sfHasMemInfo constant to fit with longint value
2012-11-07 16:22:57 +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
+ 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
cfidwarf.pas
cfileutl.pas
* only call findclose if findfirst succeeded
2013-07-30 13:39:32 +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
* fixed writing of local static symbols on AIX
2012-10-14 15:59:49 +00:00
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
Fix for Mantis #22160
2012-09-25 09:45:25 +00:00
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
Fix for Mantis #22160
2012-09-25 09:45:25 +00:00
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
* record/use the code page of string constants typecasted to an ansistring
2013-08-02 13:23:32 +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 in objectdef_rtti_class_full() when writing the current vmt address for objects that have no vmt
2013-07-31 15:10:46 +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
* use Tai_const.Create_nil_dataptr in TVMTWriter.intf_gen_intf_ref for writing the nil value for the GUID ptr of Corba interfaces
2013-07-31 15:18:13 +00:00
ncnv.pas
* record/use the code page of string constants typecasted to an ansistring
2013-08-02 13:23:32 +00:00
ncon.pas
* record/use the code page of string constants typecasted to an ansistring
2013-08-02 13:23:32 +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
* record/use the code page of string constants typecasted to an ansistring
2013-08-02 13:23:32 +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
+ 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
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
+ 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
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
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
* fix loop unrolling of for in loops
2013-08-02 21:21:14 +00:00
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
- get rid of m_all, use a set instead for tokens, this allows to disable/enable tokens depending on the language mode
2012-09-30 21:03:35 +00:00
pdecl.pas
* record/use the code page of string constants typecasted to an ansistring
2013-08-02 13:23:32 +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
* record/use the code page of string constants typecasted to an ansistring
2013-08-02 13:23:32 +00:00
pgenutil.pas
Correctly specialize generics if locally declared types are used (e.g. two procedures could both define a different "TRec" type which is used to specialize a generic inside the procedures).
2013-07-26 09:02:24 +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
* reverted accidental commit in r22568
2012-10-07 19:46:59 +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
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
* 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
* record/use the code page of string constants typecasted to an ansistring
2013-08-02 13:23:32 +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
Use TRegNameTable instead of array[tregisterindex] of string[10]
2012-10-22 10:23:21 +00:00
rgobj.pas
* coalesce more aggressive
2013-07-26 19:06:20 +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
* tobjectdef.vmtmethodoffset updated to take into account the current i8086 memory model code pointer size
2013-07-30 23:26:34 +00:00
symnot.pas
symsym.pas
* record/use the code page of string constants typecasted to an ansistring
2013-08-02 13:23:32 +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
Correctly specialize generics if locally declared types are used (e.g. two procedures could both define a different "TRec" type which is used to specialize a generic inside the procedures).
2013-07-26 09:02:24 +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