..
aarch64
* compilation after merge fixed
2023-01-25 20:44:34 +01:00
arm
* more warnings after last commit fixed
2022-10-24 22:52:52 +02:00
armgen
* use AllocRegbetween in TARMAsmOptimizer.RemoveSuperfluousMove, resolves #39921
2022-10-09 21:32:22 +02:00
avr
Increase reference count of jump label, fixes #39784
2022-06-18 12:28:36 +00:00
generic
* cleanup of 2.7.0 defines
2021-10-31 13:20:28 +01:00
html
i386
+ CPUX86_HAS_BSWAP
2023-02-04 19:20:10 +01:00
i8086
+ CPUX86_HAS_BSWAP
2023-02-04 19:20:10 +01:00
jvm
* spelling fixes
2022-08-04 23:01:35 +02:00
llvm
LLVM: workaround to fix make all
2023-01-23 22:44:48 +01:00
loongarch64
* patch by Jinyang He to fix building loongarch64 with -Oodfa/-O4
2023-02-06 22:26:02 +01:00
m68k
m68k: do not generate LEA instructions with explicitly specified size. only long is possible anyway.
2023-01-30 09:56:41 +01:00
mips
Fix a_load64_reg_ref and a_load64_ref_reg mips methods
2022-11-07 22:24:34 +00:00
msg
* copyright for 2023 updated
2023-01-09 22:54:46 +01:00
powerpc
Fix compilation of 32-bit powerpc compiler
2022-06-03 11:45:36 -07:00
powerpc64
Add several increfs to avoid troubles on AIX target OS
2022-06-03 11:28:15 -07:00
ppcgen
Add system_powerpc_wii to supported_targets of powerpc generic GNU assembler
2022-10-22 15:34:38 -05:00
riscv
+ first work for esp32-c3 support
2023-01-28 21:28:19 +01:00
riscv32
* more riscv32-freertos-esp32c3 stuff added
2023-01-29 19:30:11 +01:00
riscv64
* Riscv32 and Riscv64 on linux: enable safecall support
2022-07-22 22:56:21 +02: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
Fix compilation of sparc compiler with -dDEBUG_ALL_OPT
2022-05-31 11:47:24 +00:00
systems
Add loongarch64 linux support to compiler
2023-02-05 19:18:48 +00:00
utils
Update Makefiles
2023-02-05 19:18:48 +00:00
wasm32
* WebAssembly high level code generator: use the global.get and global.set
2022-07-26 02:13:09 +03:00
x86
* x86: New debug_hexstr instruction to help produce concise debug comments
2023-02-06 21:31:50 +00:00
x86_64
+ CPUX86_HAS_BSWAP
2023-02-04 19:20:10 +01:00
xtensa
* cleanup: cs_opt_loopunroll is a generic optimization for a long time already
2022-03-08 23:03:18 +01:00
z80
* reset written source lines once a section is encountered
2022-05-26 21:43:35 +02: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
ttai_typedconstbuilder: do not remove tcalo_vectorized_dead_strip_item
2022-07-06 22:25:05 +02:00
aasmdata.pas
Add dwarf cfa support
2023-02-05 19:18:48 +00:00
aasmdef.pas
aasmsym.pas
aasmtai.pas
Mark .noinit section with nobits flag.
2022-08-14 19:31:21 +00:00
aggas.pas
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00: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
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00:00
aoptutils.pas
* patch by J. Gareth Moreton: x86 JccMovJmpMov2MovSetcc improvement, resolves #38761
2021-05-26 21:03:56 +00:00
assemble.pas
Avoid float_raise call in FPC_SOFT_FPUX80 code
2023-01-14 11:41:20 +00: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
* patch by Rika: Use linear file list in FInput.TInputFileManager instead of linked, resolves #39880
2022-09-17 22:46:57 +02:00
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
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00:00
cfileutl.pas
* patch by Rika: Optimize some compiler/CFileUtl.pas functions for returning unchanged strings, resolves #39882
2022-10-07 22:32:59 +02:00
cg64f32.pas
- Bug fix to new ADD/SUB optimisation where conditions are concerned
2021-11-17 20:18:57 +00:00
cgbase.pas
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00:00
cgexcept.pas
cghlcpu.pas
cgobj.pas
* Fixed bug in register preservation tracking
2023-01-10 22:23:58 +00:00
cgutils.pas
* Converted assertion into an internal error
2022-08-20 16:09:54 +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
cresstr: fix length specified for resource strings to typed const builder
2022-07-06 22:25:05 +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
* patch by Rika: Optimize some compiler/CFileUtl.pas functions for returning unchanged strings, resolves #39882
2022-10-07 22:32:59 +02:00
dbgbase.pas
LLVM: enable DWARF debug info generation
2022-05-13 22:49:02 +02:00
dbgcodeview.pas
dbgdwarf.pas
* only i386 uses same special fastcall calling convention
2022-11-06 22:48:18 +01:00
dbgdwarfconst.pas
* moved a bunch of constants from dbgdwarf to dbgdwarfconst
2022-05-13 22:49:02 +02:00
dbgstabs.pas
* spelling fixes
2022-08-04 23:01:35 +02:00
dbgstabx.pas
defcmp.pas
* New is_cyclic function to detect if def references itself - fixes #40010
2022-12-03 23:53:16 +00:00
defutil.pas
+ add utility function to retrieve the char type def from a stringlike def
2023-01-26 07:07:34 +01:00
dirparse.pas
dwarfbase.pas
* improve dwarf cfi on avr
2022-09-28 22:47:06 +02:00
elfbase.pas
entfile.pas
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00:00
export.pas
expunix.pas
finput.pas
* patch by Rika: Use linear file list in FInput.TInputFileManager instead of linked, resolves #39880
2022-09-17 22:46:57 +02:00
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
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +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
* mark units compiled with cs_compilesystem with a corresponding flag
2022-09-18 15:41:33 +02:00
gendef.pas
globals.pas
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00:00
globstat.pas
globtype.pas
* $P/$OpenStrings is supposed to be a local switch, so change that accordingly
2022-10-08 13:52:32 +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
thlcgobj.g_undefined_ok: new method
2023-01-20 21:07:18 +01:00
htypechk.pas
* ensure that the correct overload is picked for function reference parameters
2022-11-06 22:01:49 +01:00
impdef.pas
import.pas
ldscript.pas
link.pas
systems_iphonesym -> systems_iphonesim
2022-10-30 21:57:18 +01:00
macho.pas
machoutils.pas
Makefile
Update Makefiles
2023-02-05 19:18:48 +00:00
Makefile.fpc
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00:00
MPWMake
Remove unused, obsolete -dBROWSERLOG option
2021-04-22 15:26:15 +00:00
msgidx.inc
* messages regenerated after fixing #40008
2022-12-31 17:31:31 +01:00
msgtxt.inc
* copyright for 2023 updated
2023-01-09 22:54:46 +01:00
nadd.pas
* transform a/a only into 1 if fastmath is on
2023-01-29 13:49:33 +01:00
nbas.pas
* fix #29859 : ensure that it's correctly passed down into generate_specialization whether a unit name was provided for the specialization and if so search the generic only in that unit
2022-10-28 17:40:53 +02:00
ncal.pas
Short version of the mips code genration bug
2022-10-29 21:34:00 +01: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
Short version of the mips code genration bug
2022-10-29 21:34:00 +01:00
ncgcnv.pas
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00: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
* hopefully final fix after 9848349610
2022-09-14 22:34:50 +02: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
RTTI: don't generate full RTTI for internal types
2022-10-29 14:24:37 +02:00
ncgset.pas
tcginnode.pass_generate_code: use tlhcgobj.g_undefined_ok
2023-01-20 21:07:18 +01:00
ncgutil.pas
hlcgobj: new getlocal and recordnewsymloc methods
2022-06-04 22:26:40 +02:00
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
* fix #40062 : ensure that Self is only added to anonymous functions when dealing with method pointers
2022-12-30 23:32:00 +01:00
ncon.pas
tstringconstnode.changestringtype: fix buffer overrun
2022-07-06 22:25:05 +02:00
nflw.pas
* properly reset nf_write/nf_modify flags for min/max inline nodes, needed by dead store optimization, resolves #39958
2022-10-16 22:51:50 +02:00
ngenutil.pas
* fix #39857 : don't trash symbols marked as vo_is_internal
2022-08-26 17:42:22 +02:00
ngtcon.pas
* do not throw an internal error on typed constants with wrong element count, resolves #40066
2022-12-30 21:53:04 +01:00
ninl.pas
* properly reset nf_write/nf_modify flags for min/max inline nodes, needed by dead store optimization, resolves #39958
2022-10-16 22:51:50 +02:00
nld.pas
* ensure that newly created tloadparentfpnodes have a valid resultdef as they might be created in situation where the loadnode itself is no longer typechecked
2022-11-06 22:01:48 +01: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
Support arrays and classes in compile-time OffsetOf.
2022-07-16 22:12:07 +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
+ print optinfo pointer if set
2022-10-21 21:13:28 +02:00
nopt.pas
* the right side of a concatenation of multiple ShortString values can directly pass any String[x] to the utility routine, because only the Length() is used, not High() and nothing is modified (also typed pointers must not be used for them); this allows for better code generation for strings with a maximum length < 255
2022-10-11 07:40:13 +02:00
nset.pas
* WebAssembly code generation for 'case' nodes changed to use labels
2021-10-22 17:31:04 +03:00
nutils.pas
* generate correct dfa for subroutines declared as safecall
2022-11-05 16:56:24 +01:00
objcasm.pas
* cleanup of VER3_0 defines
2021-11-17 22:19:57 +01:00
objcdef.pas
objcdef: remove duplicate variant start check
2022-06-06 23:12:53 +02:00
objcgutl.pas
objc: stop generating coalesced sections
2022-09-16 11:21:05 +02:00
objcutil.pas
objc: use compile-time macOS version checks
2022-09-16 11:21:05 +02:00
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
* patch by Rika: Replace some instances of manual work with endianness with cryptic oneliners, resolves #39719
2022-06-08 22:59:39 +02:00
ogrel.pas
+ support writing of 32-bit and 64-bit relocations in the REL object writer
2022-07-12 19:16:23 +03:00
ogwasm.pas
* use WasmCustomSectionName to obtain the debug section names in MaybeWriteDebugSection and MaybeAddDebugSectionToSymbolTable
2022-08-03 23:11:44 +03:00
omfbase.pas
* patch by Rika: Replace some instances of manual work with endianness with cryptic oneliners, resolves #39719
2022-06-08 22:59:39 +02:00
optbase.pas
optconstprop.pas
* propertly check equality with the for-counter when propagating constants, resolves #39915
2022-09-24 20:39:43 +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
* changed of do_optdeadstoreelim must be passed by reference as noted by Alexey Torgashin
2022-11-03 19:01:02 +01:00
optdfa.pas
* propagate life info properly
2022-11-15 22:06:56 +01:00
options.pas
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00: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
* patch by Rika: Replace some instances of manual work with endianness with cryptic oneliners, resolves #39719
2022-06-08 22:59:39 +02:00
parabase.pas
TCGParaLocation: remove alignment gap
2022-06-04 22:26:40 +02:00
paramgr.pas
* cleanup of VER3_0 defines
2021-11-17 22:19:57 +01:00
parser.pas
* implement assignment of procedure and method variables and routines (global, instance and nested) to function references
2022-05-26 21:44:24 +02:00
pass_1.pas
* fix typo in comment
2022-01-09 13:30:46 +01:00
pass_2.pas
Allow cycle to finish successfully with -dEXTDEBUG without ALLOW_WARNINGS=1
2022-10-31 07:09:37 +01:00
pbase.pas
* implement assignment of procedure and method variables and routines (global, instance and nested) to function references
2022-05-26 21:44:24 +02:00
pcp.pas
o based on a patch by Rika, resolves #39401 :
2021-10-10 10:09:22 +02:00
pdecl.pas
JVM: add typesym for anonymous record typed constants
2023-02-05 10:58:59 +01:00
pdecobj.pas
* spelling fixes
2022-08-04 23:01:35 +02:00
pdecsub.pas
* fix #40060 : ensure that Self is not added for anonymous functions that are part of a static class method
2022-12-30 23:32:00 +01:00
pdecvar.pas
JVM: add typesym for anonymous record typed constants
2023-02-05 10:58:59 +01:00
pexports.pas
pexpr.pas
+ support procvar[] in tp/mac procvar mode if the procvar returns an array type
2023-01-22 16:24:29 +01: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
* use new chartype_for_stringlike function to retrieve the char type for a stringlike def instead of casting to a stringdef
2023-01-26 07:07:34 +01: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
LLVM backend: address sanitizer support
2022-07-06 22:26:13 +02:00
pp.lpi
pp.pas
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00:00
pparautl.pas
* fix #40062 : ensure that Self is only added to anonymous functions when dealing with method pointers
2022-12-30 23:32:00 +01: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
* .lpi version update
2022-07-31 21:09:09 +03:00
ppcx64.lpi
ppcx64llvm.lpi
ppcxtensa.lpi
ppcz80.lpi
ppheap.pas
ppu.pas
* change PPU version as the change regarding $P/$OpenStrings affects the token buffers of generics (which contains the current settings)
2022-10-08 13:52:33 +02:00
procdefutil.pas
* ensure that all hidden parameter symbols are removed when adding an anonymous function to a capturer (they'll be added again later on)
2022-12-30 23:32:00 +01:00
procinfo.pas
+ add method to find a procinfo for a nested function by the corresponding procdef
2022-05-26 21:44:24 +02:00
psabiehpi.pas
pstatmnt.pas
* do not crash on illegal with statement, resolves #40118
2023-01-18 23:03:28 +01:00
psub.pas
* run dead store elimination multiple times if needed
2022-11-02 22:14:12 +01:00
psystem.pas
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00:00
ptconst.pas
ptype.pas
* fix #40031 : with support for inline specializations it no longer makes sense to make the parameter symtable of a procedure variable type readonly as there *are* defs that are added to it
2022-12-30 23:32:00 +01:00
raatt.pas
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00:00
rabase.pas
rasm.pas
rautils.pas
* do not warn on lea e/rsp with negative address offset, part of #40113
2023-01-15 23:06:05 +01:00
README.txt
rescmn.pas
rgbase.pas
rgobj.pas
Fix the edge of first_imaginary in move op
2023-02-05 19:18:48 +00:00
scandir.pas
+ introduce long forms for $E, $F and $S, resolves #39889
2023-01-08 21:29:31 +01:00
scanner.pas
* mark constant symbols used in preprocessor expressions as used, resolves #40108
2023-01-24 22:36:26 +01:00
switches.pas
* $P/$OpenStrings is supposed to be a local switch, so change that accordingly
2022-10-08 13:52:32 +02:00
symbase.pas
Fix for variables longer than 127 chars
2022-05-10 23:18:01 +02:00
symconst.pas
* fix #40062 : ensure that Self is only added to anonymous functions when dealing with method pointers
2022-12-30 23:32:00 +01:00
symcreat.pas
symcreat: add hidden high parameters in create_procdef_alias
2022-12-31 11:59:05 +01:00
symdef.pas
* also skip high parameters when pc_normal_no_hidden is given to tprocdef.getcopyas
2022-12-30 23:32:00 +01:00
symsym.pas
dbgllvm: support for record field debug information
2022-06-06 23:12:53 +02:00
symtable.pas
add has_double_field
2023-02-05 19:18:48 +00:00
symtype.pas
* fix FindUnitSymtable for exception symtables, resolves #24801 and #39974
2022-10-31 20:19:10 +01:00
symutil.pas
JVM: add typesym for anonymous record typed constants
2023-02-05 10:58:59 +01: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
Add loongarch64 linux support to compiler
2023-02-05 19:18:48 +00:00
systems.pas
add loongarch64 linux rtl support
2023-02-05 19:18:48 +00:00
tgobj.pas
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +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
Darwin version comparisons: factored out into object
2022-09-16 11:21:05 +02:00
verbose.pas
* change ChangeMessageVerbosity from String to AnsiString as long parameters might be passed to it
2022-06-14 14:33:21 +02:00
version.pas
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00:00
versioncmp.pas
Missing file from b26703feaa
2022-09-16 15:22:05 +02:00
wasmbase.pas
+ introduced TWasmCustomDebugSectionType
2022-08-03 23:04:53 +03:00
widestr.pas
wpo.pas
wpobase.pas
wpoinfo.pas