..
aarch64
* implement dogetcopy for the Aarch64 variant of the tryfinally node
2020-04-21 06:07:06 +00:00
arm
+ initial support for arm-freertos largely based on patch by Michael Ring
2020-04-19 20:59:52 +00:00
armgen
* TARMAsmOptimizer.RemoveSuperfluousMove should not mess with PC
2020-04-19 11:04:31 +00:00
avr
* fix for OP_ROR in tcgavr.a_op_reg_reg_internal
2020-04-17 17:19:22 +00:00
generic
Systematically include fpcdefs.inc at sart of all units used by compiler
2019-07-03 13:35:05 +00:00
html
i386
* split i/t_darwin from i/t_bsd, as they don't have that much in common
2020-03-29 18:27:27 +00:00
i8086
* disable cs_opt_regvar on all platforms when compiled for LLVM (LLVM does
2020-01-29 22:21:07 +00:00
jvm
* renamed getintparaloc to getcgtempparaloc
2019-12-24 22:12:25 +00:00
llvm
* use typenames in more cases in the generated LLVM IR (results in smaller
2020-04-02 21:21:44 +00:00
m68k
m68k-amiga: hack to avoid a linker (vlink) warning about merging sections with different flags together. Amiga doesn't support true read only sections anyway
2020-04-17 23:09:16 +00:00
mips
* disable cs_opt_regvar on all platforms when compiled for LLVM (LLVM does
2020-01-29 22:21:07 +00:00
msg
+ add Win64 target to help text
2020-04-21 06:06:20 +00:00
powerpc
* split i/t_darwin from i/t_bsd, as they don't have that much in common
2020-03-29 18:27:27 +00:00
powerpc64
* split i/t_darwin from i/t_bsd, as they don't have that much in common
2020-03-29 18:27:27 +00:00
ppcgen
* Removed lot of unused local vars. It is useful to turn on the notes in options. :)
2020-01-28 18:45:33 +00:00
riscv
- RISC-V: Add controller types for common RV32 MCUs.
2020-01-13 22:54:26 +00:00
riscv32
* disable cs_opt_regvar on all platforms when compiled for LLVM (LLVM does
2020-01-29 22:21:07 +00:00
riscv64
* disable cs_opt_regvar on all platforms when compiled for LLVM (LLVM does
2020-01-29 22:21:07 +00:00
sparc
* common naming for fpu_none string
2019-12-24 16:14:28 +00:00
sparc64
* fix comment
2020-04-17 14:44:11 +00:00
sparcgen
* renamed getintparaloc to getcgtempparaloc
2019-12-24 22:12:25 +00:00
systems
* register the DLL scanner for aarch64-win64
2020-04-21 06:06:40 +00:00
utils
* regenerate makefiles
2020-04-21 06:09:20 +00:00
x86
Add most SSE instructions as intrinsics.
2020-03-06 21:34:22 +00:00
x86_64
+ implement compiler support for SEH on Win64
2020-04-21 06:06:05 +00:00
xtensa
* Xtensa: make use of extui for shifting with constant values >=16
2020-04-19 15:52:41 +00:00
aasmbase.pas
+ support for arm attributes
2019-10-09 17:45:40 +00:00
aasmcfi.pas
+ support for generating Dwarf CFI using .cfi_* directives
2019-03-03 17:15:03 +00:00
aasmcnst.pas
* due to an apparent bug in the clang assembler for COFF when assembling ADRP instructions we can't use symbols that are offset into their section
2020-04-21 06:06:31 +00:00
aasmdata.pas
* factored out checks whether a procdef's symbol needs to be global, and
2019-07-07 21:33:47 +00:00
aasmdef.pas
* also generate indirect symbols for AB_PRIVATE_EXTERN symbols as these might be used from a unit in another package due to inlining
2019-11-21 21:44:12 +00:00
aasmsym.pas
* fix case completeness and unreachable code warnings in compiler that would
2019-05-12 14:29:03 +00:00
aasmtai.pas
+ implement compiler support for SEH on Win64
2020-04-21 06:06:05 +00:00
aggas.pas
* at least clang can savely generate relocatable readonly sections, so use "r" for aarch64-win64
2020-04-21 06:05:25 +00:00
aopt.pas
* track used register better: if a deallocation is moved/removed, the used register may not be removed from the current register used register set
2020-02-23 18:24:31 +00:00
aoptbase.pas
* do prefetching correctly
2020-01-06 20:59:24 +00:00
aoptda.pas
aoptobj.pas
* patch by J. Gareth Moreton: conditional Jump Inversion stoploop variable, resolves #36680
2020-02-09 20:57:59 +00:00
aoptutils.pas
o patch by J. Gareth Moreton, seeks to improve maintainability, safety and efficiency
2019-11-26 22:09:33 +00:00
assemble.pas
* for PE+ specific checks use a constant in systems.pas instead of an explicit list (easier to extend this way)
2020-04-21 06:04:10 +00:00
blockutl.pas
- remmoved doregister parameter from t*sym constructors, as the registration
2019-09-14 17:30:45 +00:00
browcol.pas
* added is_normal_fieldvarsym() helper and use it
2019-12-24 22:12:44 +00:00
catch.pas
ccharset.pas
* some cleanup
2019-12-23 21:52:06 +00:00
cclasses.pas
* do prefetching correctly
2020-01-06 20:59:24 +00:00
cepiktimer.pas
+ forgotten file
2020-01-06 20:59:25 +00:00
cfidwarf.pas
* AVR: fixed TDwarfAsmCFILowLevel.generate_initial_instructions
2020-01-19 15:55:21 +00:00
cfileutl.pas
* fixed opt-in sysroot substitution again, renamed the three-argument version
2019-10-26 13:48:30 +00:00
cg64f32.pas
cgbase.pas
* first part of merging parts of Jeppe's intrinsics patch, mainly r31135
2020-01-14 21:52:39 +00:00
cgexcept.pas
* renamed getintparaloc to getcgtempparaloc
2019-12-24 22:12:25 +00:00
cghlcpu.pas
cgobj.pas
Fix handling of parameters with size below the size of a full register
2020-03-28 13:13:04 +00:00
cgutils.pas
* first step towards supporting 32 bit targets with the LLVM code generator:
2019-01-29 21:39:09 +00:00
cmsgs.pas
comphook.pas
* fixed output of line numbers/columns with -vR
2019-12-24 16:14:29 +00:00
compiler.pas
* fix morphos info unit name after r44454
2020-03-31 05:12:59 +00:00
compinnr.pas
* first part of merging parts of Jeppe's intrinsics patch, mainly r31135
2020-01-14 21:52:39 +00:00
comprsrc.pas
constexp.pas
COPYING.txt
cpid.pas
cprofile.pas
* proper naming
2020-01-06 14:58:06 +00:00
crefs.pas
cresstr.pas
- removed maxcrecordalign parameter/field from recordsymtables, as this value
2019-07-14 19:24:32 +00:00
cscript.pas
cstreams.pas
* partial fix for Mantis #35346 : more "inline" directives for TCStream and TCMemoryStream methods
2019-06-28 13:30:33 +00:00
cutils.pas
* Removed lot of unused local vars. It is useful to turn on the notes in options. :)
2020-01-28 18:45:33 +00:00
cwindirs.pp
dbgbase.pas
* fix case completeness and unreachable code warnings in compiler that would
2019-05-12 14:29:03 +00:00
dbgcodeview.pas
* fix case completeness and unreachable code warnings in compiler that would
2019-05-12 14:29:03 +00:00
dbgdwarf.pas
* Add riscv-embedded to targets that don't support non-constant leb128's.
2020-01-03 17:03:38 +00:00
dbgstabs.pas
* added is_normal_fieldvarsym() helper and use it
2019-12-24 22:12:44 +00:00
dbgstabx.pas
* Removed lot of unused local vars. It is useful to turn on the notes in options. :)
2020-01-28 18:45:33 +00:00
defcmp.pas
* support unique copies of currencies which are handles by torddef, resolves #36013
2019-08-26 19:31:48 +00:00
defutil.pas
* compilation fixed
2020-04-03 20:15:27 +00:00
dirparse.pas
dwarfbase.pas
+ missing unit
2019-02-10 22:37:54 +00:00
elfbase.pas
+ support for arm attributes
2019-10-09 17:45:40 +00:00
entfile.pas
+ Xtensa: support in the build utilities
2020-03-20 22:34:35 +00:00
export.pas
expunix.pas
* fixed llvm compiler compilation with -O3/-Oodfa
2018-12-18 21:13:56 +00:00
finput.pas
Commit of new debug feature implemented by J. Gareth Moreton
2019-06-22 14:08:47 +00:00
fmodule.pas
* have the module keep track whether it was loaded from a PPU with a different endianess than the current host system
2020-01-30 21:48:15 +00:00
fpccrc.pas
fpcdefs.inc
+ -ib parameter to print the code generator backend type: FPC or LLVM
2020-04-18 15:44:42 +00:00
fpcp.pas
* added extra header to ppu inside a subsection, so we won't run into
2019-04-06 21:28:43 +00:00
fpkg.pas
fppu.pas
* have the module keep track whether it was loaded from a PPU with a different endianess than the current host system
2020-01-30 21:48:15 +00:00
gendef.pas
+ implement initial compiler support for Win64 on Aarch64
2020-04-21 06:04:22 +00:00
globals.pas
+ -ib parameter to print the code generator backend type: FPC or LLVM
2020-04-18 15:44:42 +00:00
globstat.pas
* fix for Mantis #27378 : save and (more importantly) restore verbosity when switching a unit
2019-01-03 20:31:34 +00:00
globtype.pas
* fix for Mantis #36935 : apply patch by J. Gareth Moreton to fix a typo in cs_opt_remove_empty_proc
2020-04-20 18:42:30 +00:00
hlcg2ll.pas
* suppress warning for targets without MM registers
2019-06-11 20:03:47 +00:00
hlcgobj.pas
* Xtensa: fix flag handling: B0 is considered as default flags
2020-04-11 13:18:47 +00:00
htypechk.pas
* when checking for an existing operator overload for the assignment operator, check for the correct variant (explicit or not) matching the overload
2020-04-17 14:44:14 +00:00
impdef.pas
import.pas
ldscript.pas
link.pas
* make TLinkerInfo fields ansistrings as xtensa-freertos needs long command lines
2020-03-30 20:42:56 +00:00
macho.pas
Systematically include fpcdefs.inc at sart of all units used by compiler
2019-07-03 13:35:05 +00:00
machoutils.pas
Systematically include fpcdefs.inc at sart of all units used by compiler
2019-07-03 13:35:05 +00:00
Makefile
* regenerate makefiles
2020-04-21 06:09:20 +00:00
Makefile.fpc
* FreeRTOS: try not to build native binaries
2020-04-18 20:39:37 +00:00
MPWMake
msgidx.inc
* regenerate msg{idx,txt}.inc
2020-04-21 06:06:24 +00:00
msgtxt.inc
* regenerate msg{idx,txt}.inc
2020-04-21 06:06:24 +00:00
nadd.pas
* compilation for non-Xtensa targets fixed
2020-04-03 20:15:26 +00:00
nbas.pas
* include ti_nofini in tempinfostoreflags
2020-02-02 14:30:46 +00:00
ncal.pas
* fix for Mantis #36935 : apply patch by J. Gareth Moreton to fix a typo in cs_opt_remove_empty_proc
2020-04-20 18:42:30 +00:00
ncgadd.pas
* factored out the conditions under which add nodes need to perform
2019-08-03 12:19:50 +00:00
ncgbas.pas
* adapt register if the size of the paraloc and the register differ, resolves #34409
2019-11-30 20:37:55 +00:00
ncgcal.pas
* add support for creating non-address-only procvars to
2020-04-02 21:21:36 +00:00
ncgcnv.pas
+ Xtensa: the boolean extension is used as flags
2020-04-03 20:15:22 +00:00
ncgcon.pas
* fix case completeness and unreachable code warnings in compiler that would
2019-05-12 14:29:03 +00:00
ncgflw.pas
+ insert alignments after break/goto/exit/continue jmp instructions, if it is
2020-01-20 21:56:39 +00:00
ncghlmat.pas
ncginl.pas
* avoid internalerror for dec/inc(...,v) with v>high(int64), resolves #35298
2020-01-24 21:39:07 +00:00
ncgld.pas
* add support for creating non-address-only procvars to
2020-04-02 21:21:36 +00:00
ncgmat.pas
* renamed getintparaloc to getcgtempparaloc
2019-12-24 22:12:25 +00:00
ncgmem.pas
* Removed lot of unused local vars. It is useful to turn on the notes in options. :)
2020-01-28 18:45:33 +00:00
ncgnstfl.pas
* fix potential crash with copied goto nodes on nestedparentfp platforms
2019-09-14 17:22:23 +00:00
ncgnstld.pas
* fixed crashes on platforms using parentfpstructs with generic routines
2019-05-14 19:19:14 +00:00
ncgnstmm.pas
* fixed crashes on platforms using parentfpstructs with generic routines
2019-05-14 19:19:14 +00:00
ncgobjc.pas
ncgopt.pas
ncgrtti.pas
* add support for creating non-address-only procvars to
2020-04-02 21:21:36 +00:00
ncgset.pas
Avoid range check error for avr/i8086 CPU by changing local variable dist type to asizeuint
2019-08-19 20:22:22 +00:00
ncgutil.pas
* Xtensa: fix flag handling: B0 is considered as default flags
2020-04-11 13:18:47 +00:00
ncgvmt.pas
* fix for Mantis #36935 : apply patch by J. Gareth Moreton to fix a typo in cs_opt_remove_empty_proc
2020-04-20 18:42:30 +00:00
ncnv.pas
* simplify tc_bool_2_int
2020-04-12 20:50:39 +00:00
ncon.pas
* do not crash when an unsupported code page is encountered, resolves #35581
2019-12-23 21:44:50 +00:00
nflw.pas
* set implicitframe for copied tryfinally nodes as well
2020-04-21 06:07:03 +00:00
ngenutil.pas
+ initial FreeRTOS RTL support, largely based on the Embedded target, limited to Xtensa so far
2020-03-29 17:13:45 +00:00
ngtcon.pas
* add support for creating non-address-only procvars to
2020-04-02 21:21:36 +00:00
ninl.pas
Add most SSE instructions as intrinsics.
2020-03-06 21:34:22 +00:00
nld.pas
* cosmetics
2020-04-03 20:15:25 +00:00
nmat.pas
* better setting of expectloc
2020-04-06 20:44:31 +00:00
nmem.pas
* correctly handle reading of class/object pointers in combination with @, resolves #26326
2019-12-28 17:59:23 +00:00
nobj.pas
* add support for creating non-address-only procvars to
2020-04-02 21:21:36 +00:00
nobjc.pas
node.pas
* when copying goto nodes take care if the label node is part of the copied tree
2019-12-25 17:10:14 +00:00
nopt.pas
* fix case completeness and unreachable code warnings in compiler that would
2019-05-12 14:29:03 +00:00
nset.pas
* last commit was not complete/earlier version committed
2019-12-23 23:07:26 +00:00
nutils.pas
* do not create full copies of objects when object checking is on, resolves #36863
2020-04-05 16:26:10 +00:00
objcasm.pas
objcdef.pas
objcgutl.pas
- removed maxcrecordalign parameter/field from recordsymtables, as this value
2019-07-14 19:24:32 +00:00
objcutil.pas
ogbase.pas
* it's rather useless that sectiontype2options is virtual as we can't use a class type, not to mention that the classes doing the overriding are for the internal assemblers/linkers, but we need it also for external
2020-04-21 06:05:06 +00:00
ogcoff.pas
* the .pdata section currently only needs to be always included for arm-wince (at least until we have full SEH support there as well)
2020-04-21 06:06:13 +00:00
ogelf.pas
+ support for arm attributes
2019-10-09 17:45:40 +00:00
oglx.pas
ogmacho.pas
- remove sectiontype2options overload for mach-O, because the relevant sections have the correct flags in the base method already
2020-04-21 06:05:02 +00:00
ogmap.pas
+ add a Flush method to TExeMap which is useful when debugging internal errors or crashes where the exemap instance has not yet been destroyed
2019-11-02 12:36:26 +00:00
ognlm.pas
ogomf.pas
* it's rather useless that sectiontype2options is virtual as we can't use a class type, not to mention that the classes doing the overriding are for the internal assemblers/linkers, but we need it also for external
2020-04-21 06:05:06 +00:00
omfbase.pas
* compilation of x86 and PowerPC fixed
2019-10-09 19:26:59 +00:00
optbase.pas
+ CalcUseSum: calculates a sum of all use sets of the current node and its children
2020-01-10 21:34:29 +00:00
optconstprop.pas
+ propagate constants across call nodes
2020-02-15 18:27:22 +00:00
optcse.pas
* cse adjusted
2019-11-16 14:07:59 +00:00
optdead.pas
optdeadstore.pas
* set nf_* correctly when an inc/dec node is converted into an add/sub node
2020-02-15 13:53:16 +00:00
optdfa.pas
* take care of for loop counter read after loop
2020-01-26 20:13:18 +00:00
options.pas
+ implement initial compiler support for Win64 on Aarch64
2020-04-21 06:04:22 +00:00
optloadmodifystore.pas
optloop.pas
+ OptimizeForLoop: convert for-loops into zero-based backward for-loops if possible, for most architectures, this results in simpler code
2020-03-08 14:30:59 +00:00
opttail.pas
* also allow by-value open array parameters for the tail recursion optimization
2020-01-21 21:30:10 +00:00
optutils.pas
* more fixes for loop strength reduction
2020-01-11 20:37:05 +00:00
optvirt.pas
* fix case completeness and unreachable code warnings in compiler that would
2019-05-12 14:29:03 +00:00
owar.pas
owbase.pas
owomflib.pas
parabase.pas
* fix PowerPC compilation
2020-02-02 15:20:28 +00:00
paramgr.pas
* renamed getintparaloc to getcgtempparaloc
2019-12-24 22:12:25 +00:00
parser.pas
Set default stack size for i8086-embedded target: 16384 for far data model, and 2048 for other memory models
2019-11-28 14:50:55 +00:00
pass_1.pas
* changed resulttype and firstpass processing from recursion into loop, based
2019-09-15 16:18:14 +00:00
pass_2.pas
- removed withnode (was no longer used since a very long time)
2019-01-05 22:28:37 +00:00
pbase.pas
* instead of declaring another type with a 'attribute' suffix, *search* for another type with a 'ATTRIBUTE' suffix (Delphi allows declaring both a TFoo and TFooAttribute in the same unit)
2019-07-12 22:05:18 +00:00
pcp.pas
Systematically include fpcdefs.inc at sart of all units used by compiler
2019-07-03 13:35:05 +00:00
pdecl.pas
* throw an error if the forward interface type and the actual interface type do not match, resolves #36720
2020-02-21 20:35:27 +00:00
pdecobj.pas
* get rid of the scanner message for attributes for real this time (sometimes I *really* hate Git -.-)
2019-07-13 09:37:44 +00:00
pdecsub.pas
* fix WinAPI directive: the purpose is to present the OS' default calling convention which for Windows means stdcall (at least on those platforms that support stdcall) on other platforms it is cdecl (for now)
2020-04-20 18:29:28 +00:00
pdecvar.pas
- remmoved doregister parameter from t*sym constructors, as the registration
2019-09-14 17:30:45 +00:00
pexports.pas
* fix case completeness and unreachable code warnings in compiler that would
2019-05-12 14:29:03 +00:00
pexpr.pas
* only resolve a dummy symbol if it is a type symbol (thus truly a dummy symbol)
2020-02-14 16:49:07 +00:00
pgentype.pas
pgenutil.pas
* keep track of the fileposinfo for generic constraints
2020-02-16 09:53:32 +00:00
pinline.pas
pkgutil.pas
* keep track of static symbols that a global function references, as those must now be exported from a dynamic package as well if the function can potentially be inlined
2019-11-21 21:44:53 +00:00
pmodules.pas
* Windows on Aarch64 requires a relocation section
2020-04-21 06:04:37 +00:00
pp.lpi
-- Rückwärtiges Zusammenführen von r39680 in ».«:
2019-08-11 16:31:48 +00:00
pp.pas
+ Xtensa: initial skeleton completed
2020-03-20 22:34:33 +00:00
pparautl.pas
* fixed tdel1/2 tests again for AArch64/LLVM
2020-02-16 16:58:25 +00:00
ppc68k.lpi
ppc8086.lpi
ppcaarch64.lpi
* move the homogenous float aggregate determination function to a common
2019-02-23 15:42:39 +00:00
ppcarm.lpi
+ makefiles use -Sew, so added to the project as well
2019-10-12 21:56:18 +00:00
ppcavr.lpi
ppcjvm.lpi
ppcmips.lpi
ppcmipsel.lpi
ppcppc64.lpi
ppcppc.lpi
ppcriscv32.lpi
ppcriscv64.lpi
ppcsparc64.lpi
ppcsparc.lpi
ppcx64.lpi
* unneeded changes reverted
2019-11-10 16:41:53 +00:00
ppcx64llvm.lpi
ppcxtensa.lpi
+ Xtensa: lazarus project
2020-03-20 22:34:30 +00:00
ppheap.pas
ppu.pas
* packed tabstractvarsym.addr_taken/different_scope fields into a set
2019-11-11 09:26:51 +00:00
procdefutil.pas
* fix for Mantis #30205 : (adjusted) patch by Do-wan Kim to only use the default calling convention for exception handlers
2019-02-10 11:26:46 +00:00
procinfo.pas
* make maxpushedparasize a SizeInt: it must store an address size and not an alu value
2020-02-14 21:27:16 +00:00
psabiehpi.pas
* Removed lot of unused local vars. It is useful to turn on the notes in options. :)
2020-01-28 18:45:33 +00:00
pstatmnt.pas
+ in some language modes the loop counter is undefined after the loop by language definition
2020-01-26 20:13:18 +00:00
psub.pas
+ implement compiler support for SEH on Win64
2020-04-21 06:06:05 +00:00
psystem.pas
* cosmetics
2020-04-02 20:04:02 +00:00
ptconst.pas
* ensure that nothing assembly related is generated for generics when a typed constant (this also includes local variable initializations) are parsed
2019-11-21 21:44:16 +00:00
ptype.pas
* better error recovery, resolves #36377
2019-11-29 22:13:17 +00:00
raatt.pas
+ support for arm attributes
2019-10-09 17:45:40 +00:00
rabase.pas
rasm.pas
rautils.pas
* support taking the address of labels defined in assembler blocks in the
2019-09-09 18:33:33 +00:00
README.txt
rescmn.pas
rgbase.pas
somehow committing went wrong, second part of last commit:
2019-09-03 21:07:33 +00:00
rgobj.pas
Modify code to avoid error when compiling with -CriotR option
2020-02-10 09:37:53 +00:00
scandir.pas
* fixed opt-in sysroot substitution again, renamed the three-argument version
2019-10-26 13:48:30 +00:00
scanner.pas
* fix typo
2020-04-17 14:44:16 +00:00
switches.pas
symbase.pas
* also check for Nil symtables in tsymtable.includeoption
2019-11-24 00:04:27 +00:00
symconst.pas
* fixed tdel1/2 tests again for AArch64/LLVM
2020-02-16 16:58:25 +00:00
symcreat.pas
* when creating the static field of a generic, insert it into the generic instead of the global symtable as it isn't really used anyway
2019-11-21 21:44:43 +00:00
symdef.pas
* arm: more fixes for fpu_fpv4_sp_d16
2020-04-12 18:05:50 +00:00
symsym.pas
* first part of merging parts of Jeppe's intrinsics patch, mainly r31135
2020-01-14 21:52:39 +00:00
symtable.pas
* Removed lot of unused local vars. It is useful to turn on the notes in options. :)
2020-01-28 18:45:33 +00:00
symtype.pas
+ add a method to tdef to initialize the defid from within a constructor
2019-12-02 06:58:47 +00:00
symutil.pas
* added is_normal_fieldvarsym() helper and use it
2019-12-24 22:12:44 +00:00
syscinfo.pas
systems.inc
+ add a GAS compatible variant of the Clang assembler (currently used for Aarch64-Win64 as no GNU AS exists for that target, yet)
2020-04-21 06:04:27 +00:00
systems.pas
+ implement initial compiler support for Win64 on Aarch64
2020-04-21 06:04:22 +00:00
tgobj.pas
tgobj: Change direction of stack.
2020-03-21 20:59:32 +00:00
tokens.pas
* fix precedence of IS operator, resolves #35909
2020-03-06 10:10:58 +00:00
verbose.pas
version.pas
widestr.pas
* some cleanup
2019-12-23 21:52:06 +00:00
wpo.pas
wpobase.pas
wpoinfo.pas