..
aarch64
+ Added support for the aarch64-android target.
2018-10-06 09:33:09 +00:00
arm
Add ORN instruction for Thumb2.
2018-09-08 12:10:51 +00:00
avr
* removed temppos field again from parameter locations: they're not allocated
2018-04-27 19:18:55 +00:00
generic
html
i386
+ patch by J. Gareth Moreton to support BMI2 instructions
2018-10-07 10:10:19 +00:00
i8086
+ patch by J. Gareth Moreton to support BMI2 instructions
2018-10-07 10:10:19 +00:00
jvm
* keep track of the temp position separately from the offset in references,
2018-04-22 17:03:16 +00:00
llvm
* fix building with LLVM=1, thanks to Karl-Michael Schindler for the hint
2018-10-05 20:56:56 +00:00
m68k
m68k: try to generate better code from some pointermath - when the left is an address register and we do add/sub, also allocate an address register as temp, also only require that left and right sizes are same, when right is not a const
2018-06-05 16:45:02 +00:00
mips
* removed temppos field again from parameter locations: they're not allocated
2018-04-27 19:18:55 +00:00
msg
Merged riscv_new branch
2018-09-26 19:49:08 +00:00
powerpc
* keep track of the temp position separately from the offset in references,
2018-04-22 17:03:16 +00:00
powerpc64
* keep track of the temp position separately from the offset in references,
2018-04-22 17:03:16 +00:00
ppcgen
Also allow clang assembler for powerpc64-darwin target
2018-08-06 16:13:05 +00:00
riscv
Clean up peephole optimization code.
2018-09-24 17:15:22 +00:00
riscv32
Add missing TFenceFlags and TRoundingMode for riscv32
2018-09-26 21:56:03 +00:00
riscv64
Clean up peephole optimization code.
2018-09-24 17:15:22 +00:00
sparc
* split create_paraloc_info_intern for sparc32 and sparc64
2017-08-20 15:21:51 +00:00
sparc64
* keep track of the temp position separately from the offset in references,
2018-04-22 17:03:16 +00:00
sparcgen
Disable overflow for UDIVX ans SDIVX 64-bit instructions
2018-09-11 08:00:54 +00:00
systems
* Android: Reworked the startup code to use no assembly instructions. Generic assembler startup files contains only section data and are compiled for each CPU.
2018-10-08 16:48:41 +00:00
utils
Adapt ppudump to fix introduced in revision 39912
2018-10-12 06:05:50 +00:00
x86
+ patch by J. Gareth Moreton to support BMI2 instructions
2018-10-07 10:10:19 +00:00
x86_64
* fix .seh_savereg: the offset is checked with a bitmask, not a divisor, so use "and", not "mod"
2018-10-07 12:25:09 +00:00
aasmbase.pas
+ support exporting labels from asm blocks in intel syntax asm blocks via the
2017-10-30 16:44:13 +00:00
aasmcnst.pas
+ add a method to emit a reference to a pooled shortstring constant (aka one per unit); very useful for new RTTI tables to avoid poluting the binary with string constants
2018-08-29 19:20:20 +00:00
aasmdata.pas
* fixed some issues to get correct values of section_count, works better than before but it is still not perfect for unknown reasons
2018-09-12 20:33:18 +00:00
aasmdef.pas
aasmsym.pas
aasmtai.pas
Add rounding mode operands.
2018-09-01 19:48:44 +00:00
aggas.pas
Redo overflow checking code.
2018-09-16 18:37:59 +00:00
aopt.pas
* removed unused units
2017-05-09 19:53:14 +00:00
aoptbase.pas
+ define cpudelayslot: set during compiler compilation for CPUs having branch instructions with delay slot (MIPS, SPARC)
2017-08-20 17:20:38 +00:00
aoptda.pas
* removed unused units
2017-05-09 19:53:14 +00:00
aoptobj.pas
Add RV64GC cpu type.
2018-07-21 22:34:42 +00:00
aoptutils.pas
* unified usage of MatchOpType
2017-05-07 16:18:33 +00:00
assemble.pas
* broken compilation after r39347 fixed
2018-06-30 12:30:25 +00:00
blockutl.pas
* removed unused units
2017-05-09 19:53:14 +00:00
browcol.pas
catch.pas
ccharset.pas
cclasses.pas
* fixed some issues to get correct values of section_count, works better than before but it is still not perfect for unknown reasons
2018-09-12 20:33:18 +00:00
cfidwarf.pas
cfileutl.pas
another fix for the new warning introduced in r39347, hopefully it fixes win32 build
2018-06-30 16:51:41 +00:00
cg64f32.pas
cgbase.pas
Added RiscV32/64 target, from a cleaned up version of branches/laksen/riscv/trunk.
2018-07-20 08:21:15 +00:00
cghlcpu.pas
cgobj.pas
+ basic infrastructure to generate code for floating point exception
2018-08-19 10:54:45 +00:00
cgutils.pas
Added RiscV32/64 target, from a cleaned up version of branches/laksen/riscv/trunk.
2018-07-20 08:21:15 +00:00
cmsgs.pas
+ implemented support for codepage aware compiler messages. It can be enabled
2017-06-08 16:11:33 +00:00
comphook.pas
compiler.pas
* print used unit scopes
2018-05-07 19:48:26 +00:00
compinnr.pas
+ inline support for the x86 'in' and 'out' instructions. Currently only enabled
2018-07-03 17:01:42 +00:00
comprsrc.pas
renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin
2017-11-17 11:27:19 +00:00
constexp.pas
COPYING.txt
cpid.pas
crefs.pas
cresstr.pas
* fixed some issues to get correct values of section_count, works better than before but it is still not perfect for unknown reasons
2018-09-12 20:33:18 +00:00
cscript.pas
* quote assembly filenames in Unix script, fixes sh errors with smartlinked small filenames like unitname(1), etc
2018-01-06 10:17:18 +00:00
cstreams.pas
* broken compilation after r39347 fixed
2018-06-30 12:30:25 +00:00
cutils.pas
* Fixed overflow error when calling align() with corner case values such as align($7FFFFFFC, 4) for the longint variant.
2018-10-12 14:38:14 +00:00
cwindirs.pp
dbgbase.pas
* revert r37968: it does more harm than good
2018-01-15 16:41:22 +00:00
dbgcodeview.pas
+ added new debug output option -godwarfomflinnum for generating line number
2018-05-17 14:38:50 +00:00
dbgdwarf.pas
* generate no uleb with differences for line information
2018-07-22 19:43:47 +00:00
dbgstabs.pas
* more compilation fixes
2018-06-30 12:48:54 +00:00
dbgstabx.pas
defcmp.pas
* support for non-ASCII widechar constants (mantis #31605 )
2018-04-10 19:24:15 +00:00
defutil.pas
+ support mmx shifting
2018-02-27 21:40:12 +00:00
dirparse.pas
elfbase.pas
* The MaybeSwapXXXHeader functions moved from ogelf to the elfbase unit, so they
2018-06-14 13:01:08 +00:00
entfile.pas
Added RiscV32/64 target, from a cleaned up version of branches/laksen/riscv/trunk.
2018-07-20 08:21:15 +00:00
export.pas
* removed unused units
2017-05-09 19:53:14 +00:00
expunix.pas
* removed unused units
2017-05-09 19:53:14 +00:00
finput.pas
fmodule.pas
* removed unused units
2017-05-09 19:53:14 +00:00
fpccrc.pas
fpcdefs.inc
* Enabled safecall support for aarch64 to be on par with other cpus.
2018-10-08 08:37:18 +00:00
fpcp.pas
* removed unused units
2017-05-09 19:53:14 +00:00
fpkg.pas
fppu.pas
* keep track if the unit was found by using a default namespace as prefix
2018-05-05 17:18:39 +00:00
gendef.pas
Add obsolete prefix to cpu_ia64, system_ia64_win64 and system_ia64_embedded, ia64 specfic code has been removed in rev 30836 dated 2015-05-09
2017-08-04 08:54:34 +00:00
globals.pas
Add RV64GC cpu type.
2018-07-21 22:34:42 +00:00
globstat.pas
globtype.pas
* Fixed checks for exceeding limit of locals space. Prevent range and overflow errors during the checks. Introduced the MaxLocalsSize constant which provides the maximum possible size of locals space (stack frame) depending of bitness of a cpu.
2018-10-12 14:43:17 +00:00
hlcg2ll.pas
+ implementation of the vectorcall calling convention by J. Gareth Moreton
2018-02-11 17:50:37 +00:00
hlcgobj.pas
* removed temppos field again from parameter locations: they're not allocated
2018-04-27 19:18:55 +00:00
htypechk.pas
+ add a new modeswitch ArrayOperators which is set by default in Delphi modes that enables the internal array operators (currently only "+")
2018-06-20 19:53:43 +00:00
impdef.pas
import.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ldscript.pas
link.pas
* do not use a wildcard while deleting smartlinked objects after linking stage in a script, conflicts with script filename quoting on Unix at least
2018-01-06 10:19:21 +00:00
macho.pas
machoutils.pas
Makefile
* Regenerated makefiles to support aarch64-android.
2018-10-06 09:36:03 +00:00
Makefile.fpc
Merged riscv_new branch
2018-09-26 19:49:08 +00:00
MPWMake
msgidx.inc
Merged riscv_new branch
2018-09-26 19:49:08 +00:00
msgtxt.inc
Merged riscv_new branch
2018-09-26 19:49:08 +00:00
nadd.pas
* is_range_test returns false if "lower" bound is greater than "upper" bound
2018-09-27 20:24:52 +00:00
nbas.pas
* forgot to commit extension to tspecializenode
2018-09-21 15:17:52 +00:00
ncal.pas
Merged riscv_new branch
2018-09-26 19:49:08 +00:00
ncgadd.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ncgbas.pas
* fixed some issues to get correct values of section_count, works better than before but it is still not perfect for unknown reasons
2018-09-12 20:33:18 +00:00
ncgcal.pas
o fix several issues with floating point exceptions
2018-08-19 15:26:00 +00:00
ncgcnv.pas
* keep track of the temp position separately from the offset in references,
2018-04-22 17:03:16 +00:00
ncgcon.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ncgflw.pas
* moved execution weight calculation into a separate pass, so the info is available already available before the code generation pass if needed
2018-04-08 20:51:27 +00:00
ncghlmat.pas
ncginl.pas
ncginl: another approach to fix the same issue #39184 supposed to address. keep left.resultdef, but try to make the target def always ordinal of an equal size, so it ends up in a data register on m68k
2018-06-07 06:43:02 +00:00
ncgld.pas
* ensure that load nodes only substitute temps in case both references point
2018-04-27 19:18:59 +00:00
ncgmat.pas
+ support mmx shifting
2018-02-27 21:40:12 +00:00
ncgmem.pas
* use sizeuinttype, instead of ptruinttype for the indexdef conversion in
2018-07-19 15:27:14 +00:00
ncgnstfl.pas
ncgnstld.pas
* moved nf_typedaddr to addrnodeflags (anf_typedaddr)
2018-04-03 16:41:01 +00:00
ncgnstmm.pas
* moved nf_typedaddr to addrnodeflags (anf_typedaddr)
2018-04-03 16:41:01 +00:00
ncgobjc.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ncgopt.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ncgrtti.pas
* generate RTTI for *all* parameters of a method or procedure variable
2018-10-07 12:25:33 +00:00
ncgset.pas
* broken compilation after r39347 fixed
2018-06-30 12:30:25 +00:00
ncgutil.pas
- removed the check for pocall_oldfpccall from ncgutil.gen_save_used_regs and
2018-05-06 12:41:40 +00:00
ncgvmt.pas
* move getrecorddef and gettabledef from TVMTWritter to symdef as they might be used from the RTTI as well
2018-08-29 19:21:23 +00:00
ncnv.pas
* broken compilation after r39347 fixed
2018-06-30 12:30:25 +00:00
ncon.pas
* broken compilation after r39347 fixed
2018-06-30 12:30:25 +00:00
nflw.pas
+ correctly set var state of addr and frame in raise statements, resolves #33818
2018-06-03 09:31:19 +00:00
ngenutil.pas
* fixed execution order of implicit finalization and class destructors: first
2018-04-08 15:41:00 +00:00
ngtcon.pas
* revert r39043 and r39045 which disallow static array constants inside dynamic constants for Delphi modes
2018-05-21 08:13:17 +00:00
ninl.pas
* addendum for Mantis #34333 : also complain about number of arguments with the maximum number of arguments for Copy ( = 3 ) is exceeded
2018-09-27 19:44:35 +00:00
nld.pas
* fix for Mantis #34355 : correctly check whether the array constructor is empty (aka []) or not
2018-10-07 12:25:24 +00:00
nmat.pas
* constant folding of not must check if the deftype is really an orddef, resolves #33696
2018-07-07 14:17:41 +00:00
nmem.pas
* accept dereferences in generics definitions, resolves #33700 properly
2018-07-13 21:00:33 +00:00
nobj.pas
* removed unused units
2017-05-09 19:53:14 +00:00
nobjc.pas
* broken compilation after r39347 fixed
2018-06-30 12:30:25 +00:00
node.pas
* moved nf_typedaddr to addrnodeflags (anf_typedaddr)
2018-04-03 16:41:01 +00:00
nopt.pas
* moved nf_typedaddr to addrnodeflags (anf_typedaddr)
2018-04-03 16:41:01 +00:00
nset.pas
+ add flags that allow checking for overloads with isbinaryoverloaded() and isunaryoverloaded() without modifying the passed in node or even checking for normally non-overloadable operators
2018-06-20 19:53:34 +00:00
nutils.pas
* correctly take care of short boolean evaluation when rearranging nodes during CSE
2018-09-25 20:31:03 +00:00
objcasm.pas
objcdef.pas
* removed unused units
2017-05-09 19:53:14 +00:00
objcgutl.pas
* broken compilation after r39347 fixed
2018-06-30 12:30:25 +00:00
objcutil.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ogbase.pas
* patch by J. Gareth Moreton to fix 33909
2018-07-01 12:54:30 +00:00
ogcoff.pas
* changed type used for section alignment from byte/shortint to longint, so the
2017-10-25 15:47:29 +00:00
ogelf.pas
* The MaybeSwapXXXHeader functions moved from ogelf to the elfbase unit, so they
2018-06-14 13:01:08 +00:00
oglx.pas
ogmacho.pas
* changed type used for section alignment from byte/shortint to longint, so the
2017-10-25 15:47:29 +00:00
ogmap.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ognlm.pas
* changed type used for section alignment from byte/shortint to longint, so the
2017-10-25 15:47:29 +00:00
ogomf.pas
* more compilation fixes
2018-06-30 12:48:54 +00:00
omfbase.pas
* broken compilation after r39347 fixed
2018-06-30 12:30:25 +00:00
optbase.pas
* moved execution weight calculation into a separate pass, so the info is available already available before the code generation pass if needed
2018-04-08 20:51:27 +00:00
optconstprop.pas
* use an enum instead of integer constants to represent inline numbers
2017-05-10 14:41:43 +00:00
optcse.pas
* correctly take care of short boolean evaluation when rearranging nodes during CSE
2018-09-25 20:31:03 +00:00
optdead.pas
* removed unused units
2017-05-09 19:53:14 +00:00
optdeadstore.pas
* removed unused units
2017-05-09 19:53:14 +00:00
optdfa.pas
* removed unused units
2017-05-09 19:53:14 +00:00
options.pas
+ Added support for the aarch64-android target.
2018-10-06 09:33:09 +00:00
optloadmodifystore.pas
+ enabled the load-modify-store optimization for the double argument version
2017-07-21 13:17:18 +00:00
optloop.pas
* do not unroll loops if the counter variable is accessed outside the current scope
2018-06-03 15:12:48 +00:00
opttail.pas
optutils.pas
* properly pass execution weight in SetExecutionWeight
2018-08-16 20:45:36 +00:00
optvirt.pas
* removed unused units
2017-05-09 19:53:14 +00:00
owar.pas
owbase.pas
owomflib.pas
* more compilation fixes
2018-06-30 12:48:54 +00:00
parabase.pas
* removed temppos field again from parameter locations: they're not allocated
2018-04-27 19:18:55 +00:00
paramgr.pas
* broken compilation after r39347 fixed
2018-06-30 12:30:25 +00:00
parser.pas
renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin
2017-11-17 11:27:19 +00:00
pass_1.pas
* removed unused units
2017-05-09 19:53:14 +00:00
pass_2.pas
* avoid overflows of execution weight
2018-08-16 20:45:36 +00:00
pbase.pas
* a symbol might be specified using a partial namespace path as long as the missing part is a namespace symbol,
2018-05-05 17:18:45 +00:00
pcp.pas
pdecl.pas
* when creating a unique type alias for an object, class or interface,
2018-01-07 12:25:16 +00:00
pdecobj.pas
+ add support for threadvars inside classes
2018-06-23 13:49:12 +00:00
pdecsub.pas
* only i386 uses oldfpccall for interrupts, all other architectures use now stdcall, resolves #34317
2018-09-27 21:00:35 +00:00
pdecvar.pas
* patch by Ondrej Pokorny: the stored property modifier does not delete the inherited default value anymore, resolves #33564
2018-07-01 20:11:13 +00:00
pexports.pas
pexpr.pas
* compilation fixed
2018-09-26 19:38:17 +00:00
pgentype.pas
pgenutil.pas
* if the generic dummy symbol is a procsym (with procdefs added) then this is the symbol that should be resolved to
2018-06-15 13:49:21 +00:00
pinline.pas
* fix for Mantis #34333 : improve error output for incorrect calls to Copy()
2018-09-26 21:33:51 +00:00
pkgutil.pas
* check that the PPU version of a unit loaded for package adjustment matches exactly (we don't accept different versions when loading PPUs normally, so why should we with packages?)
2018-01-14 21:16:37 +00:00
pmodules.pas
* two comment spelling fixes. Mantis #34092 & #34097
2018-08-08 08:39:20 +00:00
pp.lpi
- removed missing file from project
2017-04-30 20:48:35 +00:00
pp.pas
Added RiscV32/64 target, from a cleaned up version of branches/laksen/riscv/trunk.
2018-07-20 08:21:15 +00:00
pparautl.pas
+ introduce a new method tparamanager.asm_result_var(), which determines whether
2018-02-15 17:41:07 +00:00
ppc68k.lpi
ppc8086.lpi
* use an enum instead of integer constants to represent inline numbers
2017-05-10 14:41:43 +00:00
ppcaarch64.lpi
ppcarm.lpi
* version update
2018-01-31 18:52:18 +00:00
ppcavr.lpi
+ version update
2018-01-31 18:46:23 +00:00
ppcjvm.lpi
ppcmips.lpi
ppcmipsel.lpi
ppcppc64.lpi
ppcppc.lpi
ppcriscv32.lpi
* RISC-V 32 compilation fixed
2018-07-26 19:18:47 +00:00
ppcriscv64.lpi
* fix assembling with official binutils
2018-07-22 13:10:24 +00:00
ppcsparc64.lpi
+ basics for sparc64 support, we continue to use the name "sparc" for sparc32, both sparc are identified by sparcgen (dirs, defines etc.)
2017-05-30 21:17:17 +00:00
ppcsparc.lpi
+ basics for sparc64 support, we continue to use the name "sparc" for sparc32, both sparc are identified by sparcgen (dirs, defines etc.)
2017-05-30 21:17:17 +00:00
ppcx64.lpi
* made lazarus project names more systematic
2017-12-28 14:34:04 +00:00
ppcx64llvm.lpi
* made lazarus project names more systematic
2017-12-28 14:34:04 +00:00
ppheap.pas
ppu.pas
* increase PPU version after the addition of the field to keep track of management operators (don't seperately to help merging)
2018-09-03 18:00:30 +00:00
procinfo.pas
* removed unused units
2017-05-09 19:53:14 +00:00
pstatmnt.pas
* also pass the pattern with which the potential unit/namespace symbol had been found to try_consume_unitsym*()
2018-05-05 17:18:31 +00:00
psub.pas
Merged riscv_new branch
2018-09-26 19:49:08 +00:00
psystem.pas
Added RiscV32/64 target, from a cleaned up version of branches/laksen/riscv/trunk.
2018-07-20 08:21:15 +00:00
ptconst.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ptype.pas
+ add support for threadvars in records
2018-06-23 13:49:16 +00:00
raatt.pas
Write real atomic operations, and add memory barrier operations.
2018-07-29 16:43:09 +00:00
rabase.pas
rasm.pas
* forgotten comment
2018-02-06 21:38:51 +00:00
rautils.pas
Write real atomic operations, and add memory barrier operations.
2018-07-29 16:43:09 +00:00
README.txt
rescmn.pas
rgbase.pas
+ added individual bits of the x86 flags register as subregisters
2017-04-26 13:52:52 +00:00
rgobj.pas
* avoid overflows of execution weight
2018-08-16 20:45:36 +00:00
scandir.pas
+ basic infrastructure to generate code for floating point exception
2018-08-19 10:54:45 +00:00
scanner.pas
* if an include file name ends in dot, and the file is not found, also search
2018-06-27 14:41:06 +00:00
switches.pas
* allow $MinEnumSize, $PackSet and $PackRecords to be used with $Push and $Pop
2018-06-12 19:40:45 +00:00
symbase.pas
+ add a comment to the destructor of tsymtable so that others (and maybe me a well) will hopefully see that the destructor of that class is not completely trivial!
2018-08-31 19:16:48 +00:00
symconst.pas
* instead of a flags field generate a table with all Initialize operators of all fields (nested or not, parent class or not) for class types; objects and records don't use this (yet)
2018-08-29 19:21:35 +00:00
symcreat.pas
* moved nf_typedaddr to addrnodeflags (anf_typedaddr)
2018-04-03 16:41:01 +00:00
symdef.pas
fix position of ppuload_platform for trecorddef
2018-10-11 21:02:25 +00:00
symsym.pas
* do not unroll loops if the counter variable is accessed outside the current scope
2018-06-03 15:12:48 +00:00
symtable.pas
* fix big endian targets by using an explicit assignment with typecast instead of an absolute variable
2018-09-10 21:12:29 +00:00
symtype.pas
+ add method has_non_trivial_init_child() to tdef which provides access to the symtable's
2018-06-20 19:00:11 +00:00
symutil.pas
* removed unused units
2017-05-09 19:53:14 +00:00
syscinfo.pas
Add arm-palmos target to list supporting po_syscall
2017-09-15 20:25:59 +00:00
systems.inc
+ Added support for the aarch64-android target.
2018-10-06 09:33:09 +00:00
systems.pas
+ Added support for the aarch64-android target.
2018-10-06 09:33:09 +00:00
tgobj.pas
* Fixed checks for exceeding limit of locals space. Prevent range and overflow errors during the checks. Introduced the MaxLocalsSize constant which provides the maximum possible size of locals space (stack frame) depending of bitness of a cpu.
2018-10-12 14:43:17 +00:00
tokens.pas
+ implementation of the vectorcall calling convention by J. Gareth Moreton
2018-02-11 17:50:37 +00:00
verbose.pas
+ implemented support for codepage aware compiler messages. It can be enabled
2017-06-08 16:11:33 +00:00
version.pas
Merged riscv_new branch
2018-09-26 19:49:08 +00:00
widestr.pas
wpo.pas
wpobase.pas
wpoinfo.pas
* removed unused units
2017-05-09 19:53:14 +00:00