..
aarch64
Decrease amount of code duplication regarding handling of safecall and record constructors.
2013-01-25 20:39:28 +00:00
alpha
+ support for handling OS_128/OS_S128 on 64 Bit CPUs as far as needed for method pointers in registers
2012-09-06 15:12:12 +00:00
arm
* arm thumb: do not generate illegal ror instructions
2013-05-04 22:00:17 +00:00
avr
+ patch by Justin Smyth to support the lpc1343, resolves #23844
2013-02-14 20:38:53 +00:00
generic
html
i386
+ Merge the targetandroid branch. Support for arm and i386 android targets.
2013-02-13 12:00:15 +00:00
i8086
+ added 8086 workaround for the 'imul reg,const' 186+ instruction. The compiler can now generate strict 8086/8088 code.
2013-05-01 19:18:12 +00:00
ia64
* -O4 switch for optimizations which are correct but which might have unexpected effects
2012-08-09 18:58:54 +00:00
jvm
* merge i8086 branch by Nikolay Nikolov
2013-04-25 20:23:51 +00:00
m68k
- 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
mips
* MIPS: rewrote 32-bit code generation methods, reducing code duplication.
2013-05-05 05:55:03 +00:00
msg
* "can not" -> "cannot"
2013-03-26 18:35:38 +00:00
powerpc
- removed ppc-specific tcgpara.composite field, it's no longer used or
2013-02-06 15:37:50 +00:00
powerpc64
high level code generator: const types changed from aint to tcgint to avoid problems on < 32-bit cpus; ppcjvm should also be updated, but isn't yet
2013-03-09 22:16:03 +00:00
ppcgen
* pass the procdef to getintparaloc instead of only the proccalloption, so
2013-01-06 15:05:40 +00:00
sparc
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
systems
* 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
utils
ppudump: fix help message
2013-05-04 02:23:39 +00:00
vis
+ ossinttype/osuinttype defs that correspond to OS_SINT/OS_INT for use in
2012-05-12 16:03:15 +00:00
x86
* set nasm cpu type according to the current cpu level set by -Cp
2013-05-01 15:47:23 +00:00
x86_64
* Win64 SEH: Fixed handling control flow statements also in 'except' and 'on' parts of try..except statements.
2013-05-01 01:47:01 +00:00
aasmbase.pas
* indention fixes
2013-05-03 20:41:55 +00:00
aasmdata.pas
+ put guids in a constant pool as well
2013-03-29 18:48:55 +00:00
aasmsym.pas
aasmtai.pas
* detabbed
2013-05-04 19:39:12 +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
* more consistent updates of used registers
2012-08-22 19:52:15 +00:00
aoptbase.pas
+ RegModifiedBetween
2012-08-23 21:03:14 +00:00
aoptcs.pas
* RefsHaveIndexReg -> cpurefshaveindexreg
2012-03-10 19:43:52 +00:00
aoptda.pas
aoptobj.pas
* ignore alignment entries in FindLabel
2012-09-04 10:43:44 +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
* better error reporting
2013-04-14 15:51:25 +00:00
cfidwarf.pas
cfileutl.pas
* make ansistring unique before starting to change it using a pchar
2012-11-24 13:15:54 +00:00
cg64f32.pas
* replaced tcgint(lo(x)) with longint(lo(x)) and tcgint(hi(x)) with longint(hi(x)) in cg64f32.pas, which should fix some of the const sign expansion regressions on some 32-bit architectures
2013-04-28 07:42:56 +00:00
cgbase.pas
* fixed the defines of OS_PAIR and OS_SPAIR for cpus with 16-bit or 8-bit ALU
2013-03-12 01:00:40 +00:00
cghlcpu.pas
+ cghlcpu unit with thlbasecgcpu class that overrides all abstract tcg
2012-04-28 14:27:31 +00:00
cgobj.pas
* initial support for system procs that use calling conventions that push left to right on i8086 or i386
2013-04-21 13:26:12 +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
* replaced most (if not all) remaining fields/parameters in the compiler
2012-04-29 17:36:23 +00:00
constexp.pas
- 2.0 overlefts removed
2012-11-18 17:07:57 +00:00
COPYING.txt
cpid.pas
crefs.pas
cresstr.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
cstreams.pas
cutils.pas
+ added min and max functions for Tconstexprint
2013-04-01 20:23:14 +00:00
cwindirs.pp
dbgbase.pas
* correctly deal with writing debug information in the Stabs writer for class
2012-07-26 14:27:10 +00:00
dbgdwarf.pas
Fix bug introduced by myself for win32 dwarf info generation Bug #23365 and 23330
2012-11-22 13:49:21 +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
* don't treat bitpacked arrays of subranges of char that can be represented
2013-03-09 10:37:30 +00:00
defutil.pas
+ support u64bit as well in defutil.range_to_basetype
2013-04-07 10:57:27 +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
+ enable the div helper for i8086
2013-03-16 23:20:18 +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
* merged trunk up to r20882
2012-04-15 15:54:10 +00:00
globals.pas
* merge i8086 branch by Nikolay Nikolov
2013-04-25 20:23:51 +00:00
globstat.pas
Fix for Mantis #22160
2012-09-25 09:45:25 +00:00
globtype.pas
* changed the default i8086 calling convention to pocall_pascal
2013-04-21 18:03:36 +00:00
hlcg2ll.pas
* yet another 8/16-bit ALU fix in thlcg2ll.location_force_reg
2013-03-17 12:55:06 +00:00
hlcgobj.pas
+ generate thumb_func directives for thumb as well
2013-04-29 18:23:01 +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
* moved maybequoted() from cutils to cfileutl and let its behaviour vary
2012-04-16 19:52:36 +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
* suppress annoying wlib header
2013-03-23 00:08:52 +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
* "can not" -> "cannot"
2013-03-26 18:35:38 +00:00
msgtxt.inc
* "can not" -> "cannot"
2013-03-26 18:35:38 +00:00
nadd.pas
* merge i8086 branch by Nikolay Nikolov
2013-04-25 20:23:51 +00:00
nbas.pas
+ support of stackframesize for arm thumb
2013-04-07 21:00:38 +00:00
ncal.pas
* merge i8086 branch by Nikolay Nikolov
2013-04-25 20:23:51 +00:00
ncgadd.pas
* throw an internal error if code generation depends on expectloc but expectloc and real loc do not match
2012-08-13 15:02:55 +00:00
ncgbas.pas
* report resolveref errors on the correct line number
2012-12-15 22:54:22 +00:00
ncgcal.pas
* moved ARM/x86 ifdef'ed code from ncgcal to virtual methods
2013-04-07 13:42:06 +00:00
ncgcnv.pas
* set the location size of load nodes of procsyms without methodpointer/
2013-03-19 12:27:57 +00:00
ncgcon.pas
+ put guids in a constant pool as well
2013-03-29 18:48:55 +00:00
ncgflw.pas
* properly fix raise node handling on x86-64 after r24288
2013-04-26 20:17:54 +00:00
ncginl.pas
+ implemented Seg() for i8086 (small/tiny memory model)
2013-03-30 13:04:58 +00:00
ncgld.pas
* set the location size of load nodes of procsyms without methodpointer/
2013-03-19 12:27:57 +00:00
ncgmat.pas
* initial support for system procs that use calling conventions that push left to right on i8086 or i386
2013-04-21 13:26:12 +00:00
ncgmem.pas
* initial support for system procs that use calling conventions that push left to right on i8086 or i386
2013-04-21 13:26:12 +00:00
ncgnstld.pas
ncgnstmm.pas
ncgobjc.pas
ncgopt.pas
* migrated g_copyshortstring, g_incrrefcount and g_array_rtti_helper to thlcg
2012-06-24 21:36:28 +00:00
ncgrtti.pas
compiler, rtl: write CodePage for AnsiString RTTI (Delphi compatible), change TTypeData appropriately + test
2013-05-05 05:05:08 +00:00
ncgset.pas
* 16-bit ALU fixes in tcgcasenode.genlinearcmplist
2013-03-24 22:40:27 +00:00
ncgutil.pas
+ generate thumb_func directives for thumb as well
2013-04-29 18:23:01 +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
* merge i8086 branch by Nikolay Nikolov
2013-04-25 20:23:51 +00:00
ncon.pas
+ put guids in a constant pool as well
2013-03-29 18:48:55 +00:00
nflw.pas
* fix parameter order for compilerproc created by raise nodes
2013-04-28 16:34:28 +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
* support pointer constants as initialisation values for procvar typed
2012-05-20 14:51:15 +00:00
ninl.pas
* merge i8086 branch by Nikolay Nikolov
2013-04-25 20:23:51 +00:00
nld.pas
* reject assignments to vecn[rangen] (mantis #22941 )
2012-09-21 22:42: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
compiler: calculate offset of record fields in taddrnode also for bitpacked structures (Jonas comment in bug #0019357 )
2013-01-18 01:56:55 +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
+ introduce tvariantrecbranch to be able to store
2013-04-14 15:50:42 +00:00
nopt.pas
* fixed genmultistringadd() optimization for jvm and enabled it
2012-04-16 20:51:51 +00:00
nset.pas
compiler: remove unused variables and unneeded assignments
2013-01-21 01:24:36 +00:00
nstate.pas
nutils.pas
+ calculate node complexity for addrnodes and labelnodes
2013-04-28 16:36:10 +00:00
objcdef.pas
objcgutl.pas
objcutil.pas
* don't generate a classClass call for objc loadvmtaddrnodes generated
2012-03-29 20:54:47 +00:00
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
+ generic implementation of ReplaceForbiddenAsmSymbolChars() instead
2012-04-11 18:01:57 +00:00
ogmap.pas
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
* don't apply cse on static variables being regable
2013-03-10 20:29:52 +00:00
optdead.pas
* replaced most (if not all) remaining fields/parameters in the compiler
2012-04-29 17:36:23 +00:00
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
* merge i8086 branch by Nikolay Nikolov
2013-04-25 20:23:51 +00:00
optloop.pas
* improved for loop unrolling
2012-09-04 21:34:00 +00:00
opttail.pas
optutils.pas
+ introduce cnf_call_never_returns to signal the dfa if a call node never returns
2013-04-21 16:53:25 +00:00
optvirt.pas
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
- removed ppc-specific tcgpara.composite field, it's no longer used or
2013-02-06 15:37:50 +00:00
paramgr.pas
- removed ppc-specific tcgpara.composite field, it's no longer used or
2013-02-06 15:37:50 +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
* merged trunk up to r20882
2012-04-15 15:54:10 +00:00
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
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
pdecobj.pas
+ introduce tvariantrecbranch to be able to store
2013-04-14 15:50:42 +00:00
pdecsub.pas
Fix for Mantis #22433 .
2013-04-08 14:51:42 +00:00
pdecvar.pas
* merge i8086 branch by Nikolay Nikolov
2013-04-25 20:23:51 +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
* merge i8086 branch by Nikolay Nikolov
2013-04-25 20:23:51 +00:00
pgenutil.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
pinline.pas
* asizeint => longint, it is unlikely that an variant record well ever have more than 2^31 branches
2013-04-16 16:49:42 +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
* project file updates
2012-09-08 21:58:45 +00:00
ppc8086.lpi
+ enable jump optimizer for i8086
2013-05-01 13:54:13 +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
* properly read asizeints from ppus on 16 bit targets
2013-03-19 21:33:46 +00:00
ppx86_64.lpi
* version update
2012-06-03 18:55:44 +00:00
procinfo.pas
* estimatedtempsize should be a longint to avoid warnings on 8 bit targets
2013-04-07 21:01:18 +00:00
pstatmnt.pas
* don't make a deep copy of records (and in the future, objects) in with-
2013-03-20 16:23:25 +00:00
psub.pas
* typo fixed
2013-05-04 19:37:34 +00:00
psystem.pas
* Define CExtended and clongdouble as double for Android.
2013-01-22 11:16:22 +00:00
ptconst.pas
* factored out code to decide when an asmsym for a staticvarsym has to be
2012-08-25 15:12:39 +00:00
ptype.pas
* merge i8086 branch by Nikolay Nikolov
2013-04-25 20:23:51 +00:00
raatt.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
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
Also check for the type of the register when replacing it. In certain circumstances this can still lead to access to invalid memory resulting either in an access violation or invalid registers.
2012-10-19 19:35:45 +00:00
scandir.pas
- -CPPAKCSET=NORMAL and CPPAKCSET=DEFAULT should set setalloc to 0 as $PACKSET=... with the same parameters does
2013-03-17 15:10:33 +00:00
scanner.pas
* merge i8086 branch by Nikolay Nikolov
2013-04-25 20:23:51 +00:00
script.pas
* GNU ld only supports double quotes in its response file -> requote there
2012-05-03 12:41:16 +00:00
switches.pas
symbase.pas
symconst.pas
compiler, rtl, tests: write Delphi compatible (more or less) type information for Class Reference and Pointer types (mantis #0024367 )
2013-05-04 12:47:05 +00:00
symcreat.pas
* fixed typo in jvm record clone implementation comment
2013-01-26 21:28:30 +00:00
symdef.pas
* merge i8086 branch by Nikolay Nikolov
2013-04-25 20:23:51 +00:00
symnot.pas
symsym.pas
* enable absolute for i8086-msdos
2013-03-29 15:13:29 +00:00
symtable.pas
+ support of stackframesize for arm thumb
2013-04-07 21:00:38 +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
+ 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
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