..
aarch64
AArch64 asm reader: add support for fpcmp(e) conditions
2022-04-03 13:40:21 +02:00
arm
* cleanup: cs_opt_loopunroll is a generic optimization for a long time already
2022-03-08 23:03:18 +01: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
* x86: Code generation fixes where FLAGS
2022-04-27 20:46:32 +00:00
i8086
* x86: Code generation fixes where FLAGS
2022-04-27 20:46:32 +00:00
jvm
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
llvm
Fix compilation for x86_64 llvm variant
2021-06-05 06:47:46 +00:00
m68k
m68k: opcode table updates based on vasm 1.9 (used with permission)
2022-04-05 12:07:49 +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
* better fix for #39634 which avoids breaking existing code
2022-04-22 22:08:46 +02:00
powerpc
* cleanup: cs_opt_loopunroll is a generic optimization for a long time already
2022-03-08 23:03:18 +01: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
* set max. variable and constant alignment for win32 and win64 to 64 byte boundaries
2022-05-11 20:58:38 +02:00
utils
* fix #35261 : apply slightly adjusted changes by Ryan Joseph to implement support for implicit generic function specializations
2022-04-20 18:59:31 +02:00
wasm32
* cleanup: cs_opt_loopunroll is a generic optimization for a long time already
2022-03-08 23:03:18 +01:00
x86
* fix broken merge
2022-05-10 22:38:19 +02:00
x86_64
* x86: Code generation fixes where FLAGS
2022-04-27 20:46:32 +00: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
+ introduced the use of asm labels for WebAssembly. Resolve them in
2021-10-20 09:39:44 +03:00
aasmcfi.pas
aasmcnst.pas
* free the placeholder for the count of the dynamic array in end_dynarray_const() and document it as such
2022-04-08 16:11:49 +02:00
aasmdata.pas
aasmdef.pas
aasmsym.pas
aasmtai.pas
+ AVR: track flag usage
2022-05-01 22:42:57 +02:00
aggas.pas
Use '.rodata' for read-only data section for aarch64 CPU
2022-01-08 00:18:47 +01:00
aopt.pas
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
+ support .weak in the internal assembler
2022-04-09 21:12:10 +02:00
blockutl.pas
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +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
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
* cleanup of 2.7.0 defines
2021-10-31 13:20:28 +01: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
dbgcodeview.pas
dbgdwarf.pas
TSymStr: more consistent usage
2022-05-08 15:03:44 +02:00
dbgstabs.pas
dbgstabx.pas
defcmp.pas
* better fix for #39634 which avoids breaking existing code
2022-04-22 22:08:46 +02:00
defutil.pas
* fix #35261 : apply slightly adjusted changes by Ryan Joseph to implement support for implicit generic function specializations
2022-04-20 18:59:31 +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
* fix #35261 : apply slightly adjusted changes by Ryan Joseph to implement support for implicit generic function specializations
2022-04-20 18:59:31 +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
Add x86_64 CPU to list requiring fpux80 support
2022-03-30 15:10:30 -06: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
* better fix for #39634 which avoids breaking existing code
2022-04-22 22:08:46 +02:00
msgtxt.inc
* better fix for #39634 which avoids breaking existing code
2022-04-22 22:08:46 +02: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
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +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
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
TSymStr: more consistent usage
2022-05-08 15:03:44 +02:00
ncnv.pas
* Bug fix that prevents downsizing of
2022-05-07 20:53:35 +00:00
ncon.pas
Symbolic constants: don't range check on use
2022-04-02 13:26:44 +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
TSymStr: more consistent usage
2022-05-08 15:03:44 +02:00
ngtcon.pas
Symbolic constants: don't range check on in use in typed constants
2022-04-03 11:20:10 +02:00
ninl.pas
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
nld.pas
* fix #35261 : apply slightly adjusted changes by Ryan Joseph to implement support for implicit generic function specializations
2022-04-20 18:59:31 +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
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
objcasm.pas
* cleanup of VER3_0 defines
2021-11-17 22:19:57 +01:00
objcdef.pas
objcgutl.pas
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
Add internalerror if ogwasm tries to write unset Func/Global or TagIndex of TWasmObjSymbol
2022-02-11 22:19:43 +00:00
omfbase.pas
optbase.pas
optconstprop.pas
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
optdfa.pas
* add const
2022-01-16 17:24:48 +01:00
options.pas
* sorted defines in the compiler: mips64 is defined on all 64 Bit mips platforms, mips64el for little endian, misp64eb for big endian
2022-02-06 21:57:01 +01: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
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
pdecobj.pas
TSymStr: more consistent usage
2022-05-08 15:03:44 +02:00
pdecsub.pas
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
pdecvar.pas
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
pexports.pas
pexpr.pas
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +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
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +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
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +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
PPU version: bump
2022-05-09 21:19:06 +02:00
procdefutil.pas
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +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
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +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
* Compiler error is now thrown if record alignment is not a power of 2 or is greater than 64.
2022-05-09 20:03:44 +00:00
raatt.pas
+ support reading of .p2align with op code and/or max. bytes in the gas assembler reader
2021-10-18 22:12:27 +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
* Fixed random AVs when targeting the AVX FPU.
2021-12-12 18:19:35 +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
* 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
symcreat.pas
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
symdef.pas
TSymStr: more consistent usage
2022-05-08 15:03:44 +02:00
symsym.pas
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
symtable.pas
TSymStr: more consistent usage
2022-05-08 15:03:44 +02:00
symtype.pas
* improvements to the prevention of dangling pointers in tmodule.deflist,
2021-06-01 15:02:26 +00: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
+ some basic stuff for MIPS64
2022-02-05 23:25:31 +01:00
systems.pas
Add section directive for subroutines for embedded and freertos systems.
2022-02-22 20:51:32 +00: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
* throw an error if raise is called in a noreturn subroutine outside of any exception frame, resolves #39514
2022-01-06 21:13:19 +01: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