..
aarch64
+ re-added accidently removed internal error
2021-09-26 09:50:30 +02:00
arm
* ARM: fix for Merge Add/Sub optimization
2021-06-21 21:36:32 +00:00
armgen
* (modified) patch by J. Gareth Moreton: ARM/AArch64 Some short-range LDR/STR optimisations, last part of #38841
2021-09-12 20:11:14 +02:00
avr
* reverted wrongly committed file
2021-08-25 10:41:03 +02:00
generic
* Give access to CPU specific fields of tsettings record
2020-11-16 22:34:38 +00:00
html
i386
* x86: Fixed attributes of the LEAVE instruction - it reads EBP.
2021-09-15 22:30:00 +03:00
i8086
* x86: Fixed attributes of the LEAVE instruction - it reads EBP.
2021-09-15 22:30:00 +03:00
jvm
* the new constant string arraydefs are also implicit pointers types for JVM
2021-02-27 19:30:37 +00:00
llvm
Fix compilation for x86_64 llvm variant
2021-06-05 06:47:46 +00:00
m68k
m68k: D2 is considered volatile on macosclassic
2021-04-29 22:06:26 +00:00
mips
Also avoid invalid typecast for RegLoadedWithNewValue method for mips, sparcgen and xtensa
2021-04-12 08:57:23 +00:00
msg
+ added validation to ensure no more than one WebAssembly exception support
2021-09-16 23:09:20 +03:00
powerpc
+ common assembler optimizer base class for powerpc and powerpc64
2021-04-11 17:30:20 +00:00
powerpc64
+ common assembler optimizer base class for powerpc and powerpc64
2021-04-11 17:30:20 +00:00
ppcgen
+ common assembler optimizer base class for powerpc and powerpc64
2021-04-11 17:30:20 +00:00
riscv
Fix check that third parameter of ADDI hp1 instruction is a constant
2021-06-02 19:58:38 +00:00
riscv32
Add A_CALL to the list of instructions considered as a calljmp, even though it is a pseudo-instruction, fixes a long list of -O3 and -O4 testsuite failures
2021-06-02 20:00:28 +00:00
riscv64
Add A_CALL to the list of instructions considered as a calljmp, even though it is a pseudo-instruction, fixes a long list of -O3 and -O4 testsuite failures
2021-06-02 20:00:28 +00:00
sparc
* arm: taicpu uses set instead of boolean to store instruction states
2021-02-14 15:51:48 +00:00
sparc64
* patch by Marģers to unify internal error numbers, resolves #37888
2020-10-13 19:59:01 +00:00
sparcgen
Also avoid invalid typecast for RegLoadedWithNewValue method for mips, sparcgen and xtensa
2021-04-12 08:57:23 +00:00
systems
+ enable the WebAssembly internal assembler and object writer
2021-09-26 20:46:47 +03:00
utils
* updated ppudump with the new asm symbol types and binding types
2021-09-28 03:01:09 +03:00
wasm32
+ implemented round(real) for WebAssembly via the fXX.nearest and i64.trunc_fXX_s instructions
2021-09-29 05:27:27 +03:00
x86
Bug fix to XMM block move optimisation
2021-09-26 14:09:29 +00:00
x86_64
Changed get_volatile_registers_mm to not return XMM16 to XMM31 when not under AVX512
2021-09-27 18:47:03 +00:00
xtensa
* Xtensa: optimize constant multiplications
2021-07-18 21:40:43 +00:00
z80
* Support for sleb128 and uleb128 constants in the NASM writer.
2021-08-16 00:40:34 +03:00
aasmbase.pas
* emit a weak symbol for the exception tag, since that's what the LLVM linker
2021-09-28 02:52:40 +03:00
aasmcfi.pas
aasmcnst.pas
* synchronized with trunk
2021-03-01 13:21:24 +00:00
aasmdata.pas
* Reverted accidentally committed files.
2020-08-13 18:48:19 +00:00
aasmdef.pas
aasmsym.pas
aasmtai.pas
* emit a weak symbol for the exception tag, since that's what the LLVM linker
2021-09-28 02:52:40 +03:00
aggas.pas
* x86_64-linux doesn't need .data.rel.ro either
2021-09-28 23:13:35 +02: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
Bug fix to XMM block move optimisation
2021-09-26 14:09:29 +00:00
aoptutils.pas
* patch by J. Gareth Moreton: x86 JccMovJmpMov2MovSetcc improvement, resolves #38761
2021-05-26 21:03:56 +00:00
assemble.pas
+ added support for exception tags and for the 'throw' and 'catch' instructions
2021-09-27 21:44:09 +03:00
blockutl.pas
browcol.pas
catch.pas
ccharset.pas
cclasses.pas
* prevent a range check error in TFPList.IndexOfItem when searching backwards in
2021-05-28 21:59:57 +00:00
cepiktimer.pas
* do not include fpcdefs in the cepiktimer unit
2020-11-28 16:02:49 +00:00
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
* patch by Marģers to unify internal error numbers, resolves #37888
2020-10-13 19:59:01 +00:00
cgbase.pas
- clean up
2021-05-24 09:26:44 +00:00
cgexcept.pas
* fix LLVM after r48828
2021-02-27 22:07:58 +00:00
cghlcpu.pas
cgobj.pas
* unified internal error
2021-08-31 21:32:50 +02:00
cgutils.pas
* patch by J. Gareth Moreton: Additional SETcc optimisations, resolves #38767
2021-05-21 20:36:15 +00:00
cmsgs.pas
comphook.pas
* nicer spelling
2021-09-11 16:24:52 +02:00
compiler.pas
compinnr.pas
+ implemented memory.grow and memory.size intrinsics and implemented SysOSAlloc
2021-01-21 23:13:49 +00:00
comprsrc.pas
* make sure that the resource compiler related globals are reset
2020-08-12 19:08:31 +00:00
comptty.pas
+ enable colored output on darwin, resolves #38693
2021-04-01 16:32:52 +00:00
constexp.pas
- obsolete defines removed
2021-04-11 18:18:30 +00:00
COPYING.txt
cprofile.pas
crefs.pas
cresstr.pas
* Added on option to implement library based smartlinking of the dead stripable vectorized lists (e.g. resource strings index). By default smartlinking of such lists only supported when the section based smartlinking (tf_smartlink_sections) is enabled for a target.
2020-08-18 11:31:39 +00: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
* use AnsiString for file names to overcome length limitations
2020-10-31 19:54:41 +00:00
cutils.pas
- obsolete defines removed
2021-04-11 18:18:30 +00:00
dbgbase.pas
dbgcodeview.pas
* Fixed value of the LF_PAD13 enum element.
2021-01-24 14:29:39 +00:00
dbgdwarf.pas
* Dwarf: write variant fields only if the require features are present, resolves #38651
2021-03-22 18:11:41 +00:00
dbgstabs.pas
Second trial to fix commit 48688
2021-02-17 09:46:37 +00:00
dbgstabx.pas
defcmp.pas
* weight currency->float conversions the same regardless if
2021-01-05 22:39:16 +00:00
defutil.pas
* the new constant string arraydefs are also implicit pointers types for JVM
2021-02-27 19:30:37 +00:00
dirparse.pas
* reverted r47862
2020-12-28 16:18:55 +00:00
dwarfbase.pas
elfbase.pas
entfile.pas
* synchronized with trunk
2021-03-08 00:52:43 +00:00
export.pas
expunix.pas
finput.pas
fmodule.pas
* Fix for issue #39379 by bart broersma
2021-09-29 17:21:57 +02:00
fpccrc.pas
* 8086: Fixed very long section names when $HUGECODE is ON and section based smartlinking is used.
2020-08-20 16:35:27 +00:00
fpcdefs.inc
* more fixes for VASM for ARM
2021-05-23 19:46:40 +00:00
fpcp.pas
* patch by Marģers to unify internal error numbers, resolves #37888
2020-10-13 19:59:01 +00:00
fpkg.pas
fppu.pas
* further fix for Mants #26760 : applied patch by Ondrej Pokorny to fix recompilation of units referenced with an "in" clause if no file extension is provided
2021-07-15 21:52:27 +00:00
gendef.pas
globals.pas
* fix code for ARM FPA, just in case ...
2021-09-13 22:55:44 +02:00
globstat.pas
globtype.pas
* increased size of ttargetswitchinfo.define to fit the string added in my
2021-09-16 21:44:05 +03:00
hlcg2ll.pas
* patch by Marģers to unify internal error numbers, resolves #37888
2020-10-13 19:59:01 +00:00
hlcgobj.pas
* we cannot do SSA during partial writes to arrays which span multiple registers, resolves #39325
2021-08-31 21:32:50 +02:00
htypechk.pas
Avoid invalid typecast error when using -CR option
2021-03-15 13:25:59 +00:00
impdef.pas
import.pas
ldscript.pas
link.pas
- removed unused leftovers from old t_bsd code
2021-03-24 14:33:13 +00:00
macho.pas
machoutils.pas
Makefile
* to avoid that -Xg causes a failure during comparing ppc3.exe and ppc386.exe on windows, during the last compiler compilation step, the
2021-09-08 21:06:30 +02:00
Makefile.fpc
* to avoid that -Xg causes a failure during comparing ppc3.exe and ppc386.exe on windows, during the last compiler compilation step, the
2021-09-08 21:06:30 +02:00
MPWMake
Remove unused, obsolete -dBROWSERLOG option
2021-04-22 15:26:15 +00:00
msgidx.inc
+ added validation to ensure no more than one WebAssembly exception support
2021-09-16 23:09:20 +03:00
msgtxt.inc
+ added validation to ensure no more than one WebAssembly exception support
2021-09-16 23:09:20 +03:00
nadd.pas
* simplify real expressions involving unary minus
2021-09-19 23:08:32 +02: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
* set expectloc properly for x87 on x86
2021-09-24 22:27:44 +02:00
ncgadd.pas
* patch by Marģers to unify internal error numbers, resolves #37888
2020-10-13 19:59:01 +00:00
ncgbas.pas
* Added support for the old Turbo Pascal INLINE(data/data/...) statement.
2021-08-16 00:40:34 +03:00
ncgcal.pas
* patch by Marģers to unify internal error numbers, resolves #37888
2020-10-13 19:59:01 +00:00
ncgcnv.pas
* Patch by J. Gareth "Kit" Moreton (issue #39343 ). Added missing allocation
2021-09-07 19:50:28 +03:00
ncgcon.pas
* fix proposed by Christo Crause: properly handle pointer constant nodes on avr, resolves #38321
2021-01-06 12:52:36 +00:00
ncgflw.pas
* synchronized with trunk
2021-03-01 13:21:24 +00:00
ncghlmat.pas
ncginl.pas
* do not omit location_force_reg on second operand of sar/ro* if
2021-03-01 20:21:42 +00:00
ncgld.pas
* do not swap left/right code generation for assignment nodes if
2021-03-31 20:53:18 +00:00
ncgmat.pas
* simplify tcgunaryminusnode.second_integer
2020-10-22 21:25:36 +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
* fix tw3930 after r37927
2020-09-05 12:25:09 +00:00
ncgset.pas
* generate jumpless code for the IN node for WebAssembly. TODO: this needs to be
2021-01-18 22:32:35 +00:00
ncgutil.pas
* take care of po_noreturn in more cases
2020-11-28 16:02:51 +00:00
ncgvmt.pas
* properly mangle interface wrapper names to avoid duplicate label errors, resolves #38385
2021-01-24 21:32:27 +00:00
ncnv.pas
* moved warning about suspicious comp assignment to type check pass, catches also
2021-04-21 19:51:22 +00:00
ncon.pas
* sizeof(array) and length(array) must return sizeUint in case the array
2021-08-16 21:54:46 +03:00
nflw.pas
Destroy tfornode class loopiteration field if assigned
2021-05-03 16:04:19 +00:00
ngenutil.pas
* naturally align threadvar lists/tables
2020-10-15 20:29:32 +00:00
ngtcon.pas
* attempt to fix bitpacked records with qwords in them (tw36156) when cross-compiling to big endian targets from x86. essentially the x86 shifting workarounds in the code already weren't covering all corner cases.
2021-02-21 23:00:41 +00:00
ninl.pas
* sizeof(array) and length(array) must return sizeUint in case the array
2021-08-16 21:54:46 +03:00
nld.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
nmat.pas
+ apply unary minus optimizations also to /
2021-09-23 22:44:16 +02:00
nmem.pas
* removed accidently committed printnode
2021-01-31 13:19:55 +00:00
nobj.pas
nobjc.pas
node.pas
Fix pos field closing in XML node output after commit 47720
2020-12-09 12:36:46 +00:00
nopt.pas
nset.pas
* synchronized with trunk
2021-03-01 13:21:24 +00:00
nutils.pas
+ optimize (a and b) or (c and not(b)) into c xor ((c xor a) and b)
2021-02-28 18:20:46 +00:00
objcasm.pas
objcdef.pas
objcgutl.pas
objcutil.pas
ogbase.pas
* emit a weak symbol for the exception tag, since that's what the LLVM linker
2021-09-28 02:52:40 +03: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
* Removed/ifdefed the assigned and unused variables.
2021-01-24 13:58:17 +00:00
ogrel.pas
* patch by Marģers to unify internal error numbers, resolves #37888
2020-10-13 19:59:01 +00:00
ogwasm.pas
* emit a weak symbol for the exception tag, since that's what the LLVM linker
2021-09-28 02:52:40 +03:00
omfbase.pas
* patch by Marģers to unify internal error numbers, resolves #37888
2020-10-13 19:59:01 +00:00
optbase.pas
optconstprop.pas
optcse.pas
* x86: only add mm capable consts to register candidate list, this is better
2021-09-12 20:31:45 +02:00
optdead.pas
optdeadstore.pas
* fixes to deadstore optimization
2021-04-03 21:28:09 +00:00
optdfa.pas
* do not check inlined exit nodes for unset results, resolves #38259
2020-12-31 15:52:02 +00:00
options.pas
+ added validation to ensure no more than one WebAssembly exception support
2021-09-16 23:09:20 +03: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
* Fixed missing assignments with the strength reduction optimization.
2021-09-15 21:31:04 +03:00
opttail.pas
optutils.pas
* explicitly reset successor if noreturn is set
2021-06-06 20:33:09 +00:00
optvirt.pas
* patch by Marģers to unify internal error numbers, resolves #37888
2020-10-13 19:59:01 +00:00
owar.pas
owbase.pas
owomflib.pas
parabase.pas
paramgr.pas
Add explicit zeroing of trttiparaloc record to avoid hash calculation issues
2021-05-06 08:02:34 +00:00
parser.pas
* initialize current_settings as early as possible so cs_debugswitch is set correctly if needed
2021-02-14 21:25:01 +00:00
pass_1.pas
Make sure nf_usercode_entry get transferred inside firstpass procedure
2021-04-27 14:20:09 +00:00
pass_2.pas
* Renamed fc_block_with_exit to fc_no_direct_exit to expand its usage.
2020-12-10 17:38:37 +00:00
pbase.pas
* patch by Marģers to unify internal error numbers, resolves #37888
2020-10-13 19:59:01 +00:00
pcp.pas
pdecl.pas
* some warnings fixed
2021-09-18 19:24:53 +02:00
pdecobj.pas
* patch by Marģers to unify internal error numbers, resolves #37888
2020-10-13 19:59:01 +00:00
pdecsub.pas
* fix for Mantis #38771 : the owner of the procdef might be Nil in case of a specialization (that virtual can't be used on generics is caught later on)
2021-04-18 14:01:09 +00:00
pdecvar.pas
* set self to nil in current_module.deflist for registered defs in the
2021-05-30 21:27:57 +00:00
pexports.pas
* instead of blindly consuming whatever comes next trigger an explicit error if the parsed expression does not match for "INDEX ordexpr" or "NAME strexpr"
2021-01-02 23:23:08 +00:00
pexpr.pas
* some warnings fixed
2021-09-18 19:24:53 +02:00
pgentype.pas
pgenutil.pas
* allow char constant to be used for const string parameters in generic specializations, resolves #39030
2021-06-28 20:35:33 +00:00
pinline.pas
* fixed type of size parameter passed to fpc_getmem() when translating
2020-11-08 22:42:38 +00:00
pkgutil.pas
* patch by Marģers to unify internal error numbers, resolves #37888
2020-10-13 19:59:01 +00:00
pmodules.pas
* set self to nil in current_module.deflist for registered defs in the
2021-05-30 21:27:57 +00:00
pp.lpi
* update version
2020-08-09 18:52:25 +00:00
pp.pas
* the WASM define renamed WASM32
2020-08-05 14:17:27 +00:00
pparautl.pas
* set self to nil in current_module.deflist for registered defs in the
2021-05-30 21:27:57 +00:00
ppc68k.lpi
* version update
2020-11-29 09:40:54 +00:00
ppc8086.lpi
ppcaarch64.lpi
ppcarm.lpi
ppcavr.lpi
ppcjvm.lpi
ppcmips64el.lpi
ppcmips.lpi
ppcmipsel.lpi
ppcppc64.lpi
ppcppc64le.lpi
+ project file for PowerPC64LE
2020-12-06 10:23:17 +00:00
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
bugfix 0037785 cvtsi2ss and cvtsi2sd in x86_64 { att}
2021-02-22 15:59:58 +00:00
ppcx64llvm.lpi
ppcxtensa.lpi
ppcz80.lpi
ppheap.pas
ppu.pas
obcpas: fix categories implementing protocols
2021-09-25 16:15:45 +02:00
procdefutil.pas
procinfo.pas
psabiehpi.pas
* fix LLVM after r48828
2021-02-27 22:07:58 +00:00
pstatmnt.pas
* In TP-style INLINE, allowed the > modifier for global vars and relaxed range checks.
2021-08-16 17:36:12 +03:00
psub.pas
+ for loop optimizations can be controller by a switch (-Oo(no)forloop)
2021-09-12 10:54:46 +02:00
psystem.pas
* synchronized with trunk
2020-11-09 00:06:32 +00:00
ptconst.pas
ptype.pas
+ implement align directive for records, resolves #28927
2020-12-29 18:19:35 +00:00
raatt.pas
* allow also 8 byte string constants in assembler, resolves #28640
2021-03-27 17:13:14 +00:00
rabase.pas
rasm.pas
rautils.pas
* more helpful message if an unknown field is accessed in the assembler reader, resolves #38475
2021-02-11 20:51:53 +00:00
README.txt
rescmn.pas
+ add option -FF to force the use of fpcres as RC compiler
2020-08-12 19:08:25 +00:00
rgbase.pas
rgobj.pas
* Prevent spilling of spill-helper registers which contain the value of a
2021-09-10 18:06:12 +03:00
scandir.pas
* Removed/ifdefed lots of unused variables.
2021-01-24 12:24:01 +00:00
scanner.pas
* decrease macro nesting counter early when expanding empty macro
2021-04-25 19:49:26 +00:00
switches.pas
symbase.pas
* use new TSym.EscapedRealName property when creating new symbols with the
2020-12-27 13:18:53 +00:00
symconst.pas
- removed the discardresult proc directive
2021-03-20 01:22:43 +00:00
symcreat.pas
* use new TSym.EscapedRealName property when creating new symbols with the
2020-12-27 13:18:53 +00:00
symdef.pas
obcpas: fix categories implementing protocols
2021-09-25 16:15:45 +02:00
symsym.pas
* some warnings fixed
2021-09-18 19:24:53 +02:00
symtable.pas
* fix for #39310 by fixing various small issues in tabstractrecordsymtable.has_single_field:
2021-08-28 20:02:28 +02:00
symtype.pas
* improvements to the prevention of dangling pointers in tmodule.deflist,
2021-06-01 15:02:26 +00:00
symutil.pas
syscinfo.pas
systems.inc
+ started working on the WebAssembly internal assembler
2021-09-19 16:17:09 +03:00
systems.pas
+ Add support for -Adefault.
2021-08-24 17:01:50 +00:00
tgobj.pas
* set the wasm tempgen direction in the parent constructor, together with the other targets
2020-12-17 15:37:08 +00: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
- obsolete defines removed
2021-04-11 18:18:30 +00: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