..
aarch64
* more readable fix for the missing ait_instruction check
2022-05-15 19:32:27 +02:00
arm
* extend tabstractprocdef.getcopyas by a parameter to control whether the copy should be registered or not
2022-05-26 21:42:59 +02:00
armgen
+ Aarch64: SxthSxtw2Sxth optimization
2022-01-20 22:15:14 +01:00
avr
* AVR: trgcpu.do_spill_read must load ofs
2022-05-05 19:35:38 +02:00
generic
* cleanup of 2.7.0 defines
2021-10-31 13:20:28 +01:00
html
i386
* extend tabstractprocdef.getcopyas by a parameter to control whether the copy should be registered or not
2022-05-26 21:42:59 +02:00
i8086
* extend tabstractprocdef.getcopyas by a parameter to control whether the copy should be registered or not
2022-05-26 21:42:59 +02:00
jvm
* extend tabstractprocdef.getcopyas by a parameter to control whether the copy should be registered or not
2022-05-26 21:42:59 +02:00
llvm
llvmdbg: emit uppercase symbol names unless C++-style debug info is selected
2022-05-21 22:32:35 +02:00
m68k
* extend tabstractprocdef.getcopyas by a parameter to control whether the copy should be registered or not
2022-05-26 21:42:59 +02:00
mips
* cleanup: cs_opt_loopunroll is a generic optimization for a long time already
2022-03-08 23:03:18 +01:00
msg
+ apply patch by Blaise.ru: allow initialisation of method pointers with class methods (when class types are
2022-05-26 21:42:55 +02:00
powerpc
* extend tabstractprocdef.getcopyas by a parameter to control whether the copy should be registered or not
2022-05-26 21:42:59 +02:00
powerpc64
* cleanup: cs_opt_loopunroll is a generic optimization for a long time already
2022-03-08 23:03:18 +01:00
ppcgen
TOC handling: clean up
2022-02-06 22:10:06 +01:00
riscv
Fix check that third parameter of ADDI hp1 instruction is a constant
2021-06-02 19:58:38 +00:00
riscv32
* cleanup: cs_opt_loopunroll is a generic optimization for a long time already
2022-03-08 23:03:18 +01:00
riscv64
* cleanup: cs_opt_loopunroll is a generic optimization for a long time already
2022-03-08 23:03:18 +01:00
sparc
* cleanup: cs_opt_loopunroll is a generic optimization for a long time already
2022-03-08 23:03:18 +01:00
sparc64
* cleanup: cs_opt_loopunroll is a generic optimization for a long time already
2022-03-08 23:03:18 +01:00
sparcgen
+ sanity checks in mips and sparc register allocator
2021-12-17 21:25:17 +01:00
systems
* increase default dwarf version for linux targets where current distributions exist
2022-05-16 22:56:30 +02:00
utils
+ initial support for anonymous functions, for now as essentially nested functions
2022-05-26 21:43:00 +02:00
wasm32
+ support different versions of llvm-mc (version 10 seems to be the earliest that works)
2022-05-26 15:06:35 +03:00
x86
* fix #39730 as suggested by Jonas
2022-05-23 22:28:59 +02:00
x86_64
* extend tabstractprocdef.getcopyas by a parameter to control whether the copy should be registered or not
2022-05-26 21:42:59 +02:00
xtensa
* cleanup: cs_opt_loopunroll is a generic optimization for a long time already
2022-03-08 23:03:18 +01:00
z80
* cleanup: cs_opt_loopunroll is a generic optimization for a long time already
2022-03-08 23:03:18 +01:00
aasmbase.pas
* Corrected label reference counts caused by TAsmLabel.GetName incrementing refs
2022-05-14 18:57:05 +00:00
aasmcfi.pas
aasmcnst.pas
* Corrected label reference counts caused by TAsmLabel.GetName incrementing refs
2022-05-14 18:57:05 +00:00
aasmdata.pas
llvmdbg: build hashtable to lookup llvmdecl belonging to a global variable
2022-05-21 22:32:35 +02:00
aasmdef.pas
aasmsym.pas
aasmtai.pas
Add missing reference increases for ait_jvar labels
2022-05-20 21:18:44 +02:00
aggas.pas
Use '.rodata' for read-only data section for aarch64 CPU
2022-01-08 00:18:47 +01:00
aopt.pas
* do not remove register deallocations/allocation pairs if the register is written
2021-04-06 19:16:17 +00:00
aoptbase.pas
aoptda.pas
aoptobj.pas
* x86: New jump/label tracking in CrossJump optimisations
2022-04-24 16:42:35 +00:00
aoptutils.pas
* patch by J. Gareth Moreton: x86 JccMovJmpMov2MovSetcc improvement, resolves #38761
2021-05-26 21:03:56 +00:00
assemble.pas
LLVM: separate as_clang_llvm_darwin
2022-05-14 22:38:49 +02:00
blockutl.pas
* extend tabstractprocdef.getcopyas by a parameter to control whether the copy should be registered or not
2022-05-26 21:42:59 +02:00
browcol.pas
catch.pas
ccharset.pas
cclasses.pas
Allocate THashSet item and its key together when FOwnKeys=true.
2022-01-21 22:13:39 +01:00
cepiktimer.pas
cfidwarf.pas
* don't generate high-level CFI statements when the selected assembler
2021-04-08 19:50:27 +00:00
cfileutl.pas
cg64f32.pas
- Bug fix to new ADD/SUB optimisation where conditions are concerned
2021-11-17 20:18:57 +00:00
cgbase.pas
- clean up
2021-05-24 09:26:44 +00:00
cgexcept.pas
cghlcpu.pas
cgobj.pas
JccAdd2SetccAdd modified to make use of GetIntRegisterBetween
2022-01-08 22:43:41 +00:00
cgutils.pas
Fast mod
2022-01-30 08:22:39 +00:00
cmsgs.pas
comphook.pas
+ print full file path if -vb is passed even if no line number is known, resolves #39419
2021-10-26 21:37:28 +02:00
compiler.pas
* m68k-sinclairql: fix the inclusion of the target proper
2022-01-25 12:04:49 +01:00
compinnr.pas
comprsrc.pas
* patch by Cyrax: Quote path - which is passed to Windres or alike program, resolves #36526
2022-04-08 22:42:05 +02:00
comptty.pas
constexp.pas
* revert accidently committed code
2022-02-06 20:15:00 +01:00
COPYING.txt
cprofile.pas
crefs.pas
cresstr.pas
Typed const builder: store tsym
2022-05-13 22:49:02 +02:00
cscript.pas
Add fForceUseForwardSlash to TLinkRes class, used for vlink linker on hosts using backslashes
2021-04-17 22:17:46 +00:00
cstreams.pas
* patch by Rika to pass some strings by reference, resolves #39338
2021-11-09 22:41:52 +01:00
cutils.pas
cutils: also use minalign, when varalign equals it, not only when varalign is less than it (21 years old bug?)
2022-04-29 23:45:45 +02:00
dbgbase.pas
LLVM: enable DWARF debug info generation
2022-05-13 22:49:02 +02:00
dbgcodeview.pas
dbgdwarf.pas
* moved a bunch of constants from dbgdwarf to dbgdwarfconst
2022-05-13 22:49:02 +02:00
dbgdwarfconst.pas
* moved a bunch of constants from dbgdwarf to dbgdwarfconst
2022-05-13 22:49:02 +02:00
dbgstabs.pas
Call increfs manually to avoid removal of stabs debug related labels
2022-05-16 15:12:07 +00:00
dbgstabx.pas
defcmp.pas
* better fix for #39634 which avoids breaking existing code
2022-04-22 22:08:46 +02:00
defutil.pas
+ add utility function to check whether an invokable can be invoked without explicit parameters
2022-05-26 21:42:57 +02:00
dirparse.pas
dwarfbase.pas
elfbase.pas
entfile.pas
+ some basic stuff for MIPS64
2022-02-05 23:25:31 +01:00
export.pas
expunix.pas
finput.pas
fmodule.pas
+ add support for forward declarations of generic classes and interfaces (any implicit pointer type really); fixes #34128
2022-02-18 17:54:23 +01:00
fpcdefs.inc
Fix compilation of mips64 compiler by simple use of 'make mips64'
2022-02-14 23:24:36 +00:00
fpchash.pas
o based on a patch by Rika, resolves #39401 :
2021-10-10 10:09:22 +02:00
fpcp.pas
fpkg.pas
fppu.pas
Check mf_symansistr is compatible with current compiler mode and issue a message before failing PPU loading
2022-04-11 22:10:48 +00:00
gendef.pas
globals.pas
+ some basic stuff for MIPS64
2022-02-05 23:25:31 +01:00
globstat.pas
globtype.pas
+ add modeswitch for anonymous functions
2022-05-26 21:43:00 +02:00
hlcg2ll.pas
* do not copy parameters onto the stack using FPU registers if the type is
2022-02-10 22:42:49 +01:00
hlcgobj.pas
* x86: Code generation fixes where FLAGS
2022-04-27 20:46:32 +00:00
htypechk.pas
* only abort due to a missing overload directive if there indeed was any procdef found (due to implicit specializations there might be none), fixes compilation of tests webtbs/tw38310b and webtbs/tw38310c
2022-04-21 18:01:30 +02:00
impdef.pas
import.pas
ldscript.pas
link.pas
* Increased the bounds of TBooleanArray to prevent a range check error while linking Lazarus.
2021-12-12 15:50:12 +02:00
macho.pas
machoutils.pas
Makefile
* regenerate makefiles with latest fpcmake
2022-05-24 14:01:59 +03:00
Makefile.fpc
Add x86_64 CPU to list requiring fpux80 support
2022-03-30 15:10:30 -06:00
MPWMake
Remove unused, obsolete -dBROWSERLOG option
2021-04-22 15:26:15 +00:00
msgidx.inc
+ added "(experimental)" to the compiler help screen for the WebAssembly compiler options that are still unstable/experimental
2022-05-26 18:20:07 +03:00
msgtxt.inc
+ added "(experimental)" to the compiler help screen for the WebAssembly compiler options that are still unstable/experimental
2022-05-26 18:20:07 +03:00
nadd.pas
Optimized the comparison of a widestring variable with ''
2022-04-27 21:12:47 +00:00
nbas.pas
Revert " * patch by J. Gareth Moreton: Nothing (NOP) node optimisation, resolves #38194 "
2021-09-25 21:02:29 +02:00
ncal.pas
* Delphi-mode calling without parenthesis
2022-05-26 21:43:00 +02:00
ncgadd.pas
* MIPS64 can
2022-02-08 23:08:32 +01:00
ncgbas.pas
* Added support for the old Turbo Pascal INLINE(data/data/...) statement.
2021-08-16 00:40:34 +03:00
ncgcal.pas
* overleft cosmetics
2022-03-01 22:55:27 +01:00
ncgcnv.pas
* Patch by J. Gareth "Kit" Moreton (issue #39343 ). Added missing allocation
2021-09-07 19:50:28 +03:00
ncgcon.pas
* patch by Rike: Use reverse_longword instead of manually reversing longword, resolves #39720
2022-05-13 22:38:03 +02:00
ncgflw.pas
* Removed obsolete OLDREGVARS ifdefs.
2021-11-02 17:08:08 +02:00
ncghlmat.pas
ncginl.pas
* High() and Length() for dynamic arrays deal with sizesinttype instead of ossinttype (on AVR the former is 16-bit while the later is 8-bit thus this is an important distinction)
2022-01-18 23:39:31 +01:00
ncgld.pas
* fixed WebAssembly method pointer assignment
2021-10-03 02:27:19 +03:00
ncgmat.pas
- Bug fix to new ADD/SUB optimisation where conditions are concerned
2021-11-17 20:18:57 +00:00
ncgmem.pas
* fix range checking for zero based strings, resolves #39323
2021-09-05 21:03:31 +02:00
ncgnstfl.pas
ncgnstld.pas
ncgnstmm.pas
ncgobjc.pas
ncgopt.pas
ncgrtti.pas
* use an anonymous symbol for the record operator table as its typing is different for each incarnation anyway
2021-12-26 16:36:16 +01:00
ncgset.pas
Avoid range check error inside tcgcasenode.pass_generate_code method
2022-01-05 16:38:54 +00:00
ncgutil.pas
ncgvmt.pas
* make the VMT symbol and type def of the corresponding class or object instead of having them be global
2022-05-26 21:42:51 +02:00
ncnv.pas
* Delphi-mode calling without parenthesis
2022-05-26 21:43:00 +02:00
ncon.pas
* patch by Rike: Use reverse_longword instead of manually reversing longword, resolves #39720
2022-05-13 22:38:03 +02:00
nflw.pas
* fix #32034 and fix #39656 : in a for-in-loop with an array constructor enforce the type of the loop variable for the elements
2022-04-08 17:40:36 +02:00
ngenutil.pas
* Delphi-mode calling without parenthesis
2022-05-26 21:43:00 +02:00
ngtcon.pas
+ apply patch by Blaise.ru: allow initialisation of method pointers with class methods (when class types are
2022-05-26 21:42:55 +02:00
ninl.pas
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
nld.pas
* Delphi-mode calling without parenthesis
2022-05-26 21:43:00 +02:00
nmat.pas
+ fold "a shl n1 shl n2" and "a shr n1 shr n2" into "a shl (n1+n2)" and "a shr (n1+n2)", resolves #39629
2022-04-20 22:16:32 +02:00
nmem.pas
* disallow offsetof trick for types involving implicit dereferences, resolves #39667 partially
2022-04-14 17:06:15 +02:00
nobj.pas
* make the VMT symbol and type def of the corresponding class or object instead of having them be global
2022-05-26 21:42:51 +02:00
nobjc.pas
node.pas
* Removed unused and confusing tnode.parent and tnode.concattolist().
2021-11-02 16:55:59 +02:00
nopt.pas
nset.pas
* WebAssembly code generation for 'case' nodes changed to use labels
2021-10-22 17:31:04 +03:00
nutils.pas
* Delphi-mode calling without parenthesis
2022-05-26 21:43:00 +02:00
objcasm.pas
* cleanup of VER3_0 defines
2021-11-17 22:19:57 +01:00
objcdef.pas
objcgutl.pas
* Corrected label reference counts caused by TAsmLabel.GetName incrementing refs
2022-05-14 18:57:05 +00:00
objcutil.pas
ogbase.pas
* patch by Rika: Better Align()'s #2 , resolves #39512
2022-01-05 19:50:21 +01:00
ogcoff.pas
Set string length before calling move to avoid problems with global data analysis on systems using C library
2021-04-27 14:52:22 +00:00
ogelf.pas
Fix gotpcrel relocation for TESTQ x86_64 instruction
2021-04-23 21:52:24 +00:00
oglx.pas
ogmacho.pas
ogmap.pas
ognlm.pas
ogomf.pas
* fix x86 compilation after my last commit
2021-10-10 10:21:21 +02:00
ogrel.pas
ogwasm.pas
* the WebAssembly internal assembler renamed WASM (previously it was OMF, which was the ID of the MS-DOS .obj writer, which I forgot to rename)
2022-05-26 14:12:10 +03:00
omfbase.pas
optbase.pas
optconstprop.pas
* continue const. propagation after a for loop when possible
2022-05-22 22:52:18 +02:00
optcse.pas
+ store references to global variables in registers if benefical (currrently used for aarch64 only)
2021-12-11 22:46:27 +01:00
optdead.pas
optdeadstore.pas
* fixes to deadstore optimization
2021-04-03 21:28:09 +00:00
optdfa.pas
* add const
2022-01-16 17:24:48 +01:00
options.pas
LLVM: separate as_clang_llvm_darwin
2022-05-14 22:38:49 +02:00
optloadmodifystore.pas
* Before r35961 (back in 2017) some simple assignment optimizations, such as "x:=x+y" to "inc(x,y)", were performed when -O2 in tassignmentnode.simplify. In r35961 these optimizations were moved to a separate pass which is enabled only when -O3 by cs_opt_use_load_modify_store. This separate pass can benefit from other optimization. But worse code is generated with -O2 since then.
2021-08-13 13:53:40 +03:00
optloop.pas
* Strength reduction optimization: - Use a temp for complex loop start values to prevent double evaluation.
2021-10-08 18:04:03 +03:00
opttail.pas
optutils.pas
Get rid of some global variables.
2022-01-16 17:17:23 +01:00
optvirt.pas
owar.pas
owbase.pas
owomflib.pas
parabase.pas
paramgr.pas
* cleanup of VER3_0 defines
2021-11-17 22:19:57 +01:00
parser.pas
pass_1.pas
* fix typo in comment
2022-01-09 13:30:46 +01:00
pass_2.pas
pbase.pas
pcp.pas
o based on a patch by Rika, resolves #39401 :
2021-10-10 10:09:22 +02:00
pdecl.pas
+ add support for parsing function references
2022-05-26 21:42:59 +02:00
pdecobj.pas
* if an interface is declared inherit the invokable flag from the parent interface
2022-05-26 21:42:59 +02:00
pdecsub.pas
+ initial support for anonymous functions, for now as essentially nested functions
2022-05-26 21:43:00 +02:00
pdecvar.pas
+ add support for parsing function references
2022-05-26 21:42:59 +02:00
pexports.pas
pexpr.pas
+ initial support for anonymous functions, for now as essentially nested functions
2022-05-26 21:43:00 +02:00
pgentype.pas
+ add support for forward declarations of generic classes and interfaces (any implicit pointer type really); fixes #34128
2022-02-18 17:54:23 +01:00
pgenutil.pas
- apply patch by Blaise.ru: pdflags are no longer required in generate_specialization_phase2() after parse_proc_directives() was done, so remove its unused modification after that call
2022-05-26 21:42:54 +02:00
pinline.pas
* patch by Rika to pass some strings by reference, resolves #39338
2021-11-09 22:41:52 +01:00
pkgutil.pas
pmodules.pas
TSymStr: more consistent usage
2022-05-08 15:03:44 +02:00
pp.lpi
pp.pas
* set minimum compiler to compile the compiler to 3.2.0
2022-05-07 23:13:16 +02:00
pparautl.pas
* ensure insert_self_and_vmt_para can deal with a preexisting self symbol as long as it has the expected type
2022-05-26 21:42:58 +02:00
ppc68k.lpi
ppc8086.lpi
ppcaarch64.lpi
ppcarm.lpi
ppcavr.lpi
ppcjvm.lpi
ppcmips64el.lpi
ppcmips.lpi
ppcmipsel.lpi
ppcppc64.lpi
ppcppc64le.lpi
ppcppc.lpi
ppcriscv32.lpi
ppcriscv64.lpi
ppcsparc64.lpi
ppcsparc.lpi
ppcwasm32.lpi
+ enable the WebAssembly internal assembler and object writer
2021-09-26 20:46:47 +03:00
ppcx64.lpi
ppcx64llvm.lpi
ppcxtensa.lpi
ppcz80.lpi
ppheap.pas
ppu.pas
* make the VMT symbol and type def of the corresponding class or object instead of having them be global
2022-05-26 21:42:51 +02:00
procdefutil.pas
+ add support for parsing function references
2022-05-26 21:42:59 +02:00
procinfo.pas
Procedure-saved registers are now recorded for peephole optimizers to use
2022-01-08 22:43:41 +00:00
psabiehpi.pas
pstatmnt.pas
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
psub.pas
+ initial support for anonymous functions, for now as essentially nested functions
2022-05-26 21:43:00 +02:00
psystem.pas
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
ptconst.pas
ptype.pas
+ add support for parsing function references
2022-05-26 21:42:59 +02:00
raatt.pas
* simplifications by Rika (*2 loops => shl/Bsr), resolves #39717
2022-05-12 22:56:36 +02:00
rabase.pas
rasm.pas
rautils.pas
* hopefully final fix for absolute references to absolute symbols
2022-02-16 21:30:14 +01:00
README.txt
rescmn.pas
rgbase.pas
rgobj.pas
* simplifications by Rika (*2 loops => shl/Bsr), resolves #39717
2022-05-12 22:56:36 +02:00
scandir.pas
* do not crash in case of too many $push directives, resolves #39652
2022-04-07 22:51:30 +02:00
scanner.pas
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
switches.pas
symbase.pas
Fix for variables longer than 127 chars
2022-05-10 23:18:01 +02:00
symconst.pas
+ initial support for anonymous functions, for now as essentially nested functions
2022-05-26 21:43:00 +02:00
symcreat.pas
* extend tabstractprocdef.getcopyas by a parameter to control whether the copy should be registered or not
2022-05-26 21:42:59 +02:00
symdef.pas
* extend tabstractprocdef.getcopyas by a parameter to control whether the copy should be registered or not
2022-05-26 21:42:59 +02:00
symsym.pas
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
symtable.pas
* don't check for a duplicate internal symbol in inherited symtables
2022-05-26 21:42:51 +02:00
symtype.pas
* cleanup
2022-05-23 22:28:59 +02:00
symutil.pas
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
syscinfo.pas
* aros64: recent developments hanged the library call ABI, lets try to follow it (aros64 is experimental)
2022-02-06 16:30:04 +01:00
systems.inc
+ support different versions of llvm-mc (version 10 seems to be the earliest that works)
2022-05-26 15:06:35 +03:00
systems.pas
LLVM: separate as_clang_llvm_darwin
2022-05-14 22:38:49 +02:00
tgobj.pas
* make tgobj.pas less verbose in extdebug mode, use separate define DEBUG_FREETEMP for the really
2021-12-15 23:05:18 +01:00
tokens.pas
* Added support for the old Turbo Pascal INLINE(data/data/...) statement.
2021-08-16 00:40:34 +03:00
triplet.pas
verbose.pas
- remove duplicate paraprintnodetree to ensure that there the right paraprintnodetree is used (namely the one from globals)
2022-05-26 21:42:51 +02:00
version.pas
Remove "r" from FPC revision.
2021-08-13 11:18:42 +01:00
wasmbase.pas
+ added support for exception tags and for the 'throw' and 'catch' instructions
2021-09-27 21:44:09 +03:00
widestr.pas
wpo.pas
wpobase.pas
wpoinfo.pas