..
aarch64
Add -Awin64-as option for aarch64 compiler for win64 target
2023-05-26 11:15:55 +00: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
Also add boot information to board aliases.
2023-05-22 19:08:01 +00:00
generic
* cleanup of 2.7.0 defines
2021-10-31 13:20:28 +01:00
html
i386
* second mul might get called with a zero operand if the other has a side effect,
2023-03-06 23:19:34 +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: LLVM 17.0 support
2023-08-01 22:19:55 +02:00
loongarch64
Applied fix for binutils 2.41 for loongarch64 suggested by Jinyang He
2023-08-11 08:58:40 +00: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 storing of unaligned 64-bit to memory
2023-04-21 10:32:13 +01:00
msg
[AVR] Add command line options to selectively remove portions of the RTL startup code.
2023-08-15 21:33:58 +00: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
Added generic WCH32Vx RISC-V processor types using memory size suffixes
2023-08-26 22:12:00 +02:00
riscv32
* formatting
2023-08-26 22:14:36 +02:00
riscv64
* correct tripletcpustr, resolves #40301
2023-05-31 20:26:50 +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
Fix for sparc64 specific code generation bug report #40252
2023-05-26 17:10:23 +02:00
sparcgen
Handle unaligned copy in TCGSparcGen.g_concatcopy method
2023-07-16 01:31:09 -05:00
systems
[AVR] Add command line options to selectively remove portions of the RTL startup code.
2023-08-15 21:33:58 +00:00
utils
[AVR] Add command line options to selectively remove portions of the RTL startup code.
2023-08-15 21:33:58 +00:00
wasm32
Merge remote-tracking branch 'origin/main' into wasm_js_promise_integration
2023-06-17 17:11:23 +03:00
x86
* Added missing register allocations to SSE/AVX optimisations
2023-08-24 19:41:41 +00:00
x86_64
* fix parameter alignment on x86_64 when more than 6 parameters are involved (aka the stack is used)
2023-08-03 22:34:28 +02:00
xtensa
Disable -EB/-EL passing for freertos OS as the corresponding released binutils do not support this option
2023-05-25 21:47:27 +00:00
z80
Restore start section at end of assembler block inside z80 asm reader
2023-05-15 19:51:11 +02:00
.gitignore
git ignore msg2inc binary
2023-07-07 11:17:33 +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
* Emit comments in RTTI info for classes/interfaces
2023-05-29 13:41:25 +00: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 aarch64-iphonesim target
2023-03-27 18:45:00 +00:00
aopt.pas
aoptbase.pas
aoptda.pas
aoptobj.pas
* New UpdateUsedRegsBetween utility subroutine
2023-02-24 19:39:39 +00:00
aoptutils.pas
assemble.pas
Add missing swaping in case of different endianess of stab entry inside TInternalAssembler.WriteStab
2023-04-30 21:23:06 +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
* 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
* patch by Rika: Use Index* for pointer lists, resolves #40218
2023-03-25 21:32:29 +01:00
cepiktimer.pas
cfidwarf.pas
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00:00
cfileutl.pas
* change TCachedSearchRec.Attr to longint as TCachedDirectoryEntry.Attr is also a longint, resolves #40343
2023-07-09 16:20:18 +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
+ implemented WebAssembly code generator support for funcref and externref data
2023-06-07 05:25:57 +03: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
* Unicode resource strings
2023-07-25 16:06:53 +02:00
cscript.pas
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: Shorten cutils.compareansistrings, resolves #40213
2023-03-24 22:50:19 +01:00
dbgbase.pas
LLVM: enable DWARF debug info generation
2022-05-13 22:49:02 +02:00
dbgcodeview.pas
dbgdwarf.pas
* revert use of DW_AT_external for types as this is not covered by the dwarf standard
2023-03-23 22:44:00 +01:00
dbgdwarfconst.pas
* spelling fixed
2023-03-26 15:55:37 +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 is_systemunit_unicode function (cchartype suymbol)
2023-07-22 08:26:22 +00:00
dirparse.pas
dwarfbase.pas
* improve dwarf cfi on avr
2022-09-28 22:47:06 +02:00
elfbase.pas
entfile.pas
Add new test code to verify that tentfile.buf limits are not overpassed
2023-05-23 22:39:03 +02:00
export.pas
+ support 'promising last' exports
2023-06-16 11:00:19 +03:00
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
* $NAMESPACES directive
2023-07-26 09:45:53 +02:00
fpcdefs.inc
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00:00
fpchash.pas
fpcp.pas
fpkg.pas
fppu.pas
* $NAMESPACES directive
2023-07-26 09:45:53 +02:00
gendef.pas
globals.pas
* $NAMESPACES directive
2023-07-26 09:45:53 +02:00
globstat.pas
globtype.pas
[AVR] Add command line options to selectively remove portions of the RTL startup code.
2023-08-15 21:33:58 +00: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
volatile: allow for assignments
2023-08-12 12:04:40 +02:00
impdef.pas
import.pas
ldscript.pas
* SetString needs correctly typed argument
2023-07-25 16:06:53 +02:00
link.pas
* fix (hopefully) build without an ld.bfd variant
2023-03-02 22:56:23 +01:00
macho.pas
machoutils.pas
Makefile
Add new make variable BETATARGETS, for CPU targets in beta stage, to include it into distclean list
2023-05-26 11:32:16 +00:00
Makefile.fpc
Add new make variable BETATARGETS, for CPU targets in beta stage, to include it into distclean list
2023-05-26 11:32:16 +00:00
MPWMake
msgidx.inc
[AVR] Add command line options to selectively remove portions of the RTL startup code.
2023-08-15 21:33:58 +00:00
msgtxt.inc
[AVR] Add command line options to selectively remove portions of the RTL startup code.
2023-08-15 21:33:58 +00:00
nadd.pas
* Do not insert a widestring <-> ansistring conversion node when checking for (un)equal empty string.
2023-07-22 08:26:22 +00:00
nbas.pas
* Adjustment to TBLockNode.pass_1 to actually strip nothing nodes
2023-03-03 21:07:31 +00:00
ncal.pas
+ add a tcallnodeflag value that prohibits the tcallnode.pass_typecheck to return a procvar in case of a call without parameters with a found symbol, but no suitable procdef
2023-06-30 17:11:43 +02:00
ncgadd.pas
* MIPS64 can
2022-02-08 23:08:32 +01:00
ncgbas.pas
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
ncgnstfl.pas
ncgnstld.pas
ncgnstmm.pas
ncgobjc.pas
ncgopt.pas
ncgrtti.pas
Create invoke helper if requested and reference it in RTTI
2023-07-13 07:32:21 +00: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
* Do not insert widechar -> ansichar conversion node in const declaration
2023-07-22 08:26:22 +00: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
WPO: fix dead code detection, and handle procvars
2023-03-24 21:22:18 +01:00
ninl.pas
default(): fix in generics for non-procvars after 1be7416816
2023-08-22 21:19:12 +02:00
nld.pas
WPO: fix dead code detection, and handle procvars
2023-03-24 21:22:18 +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
WPO: fix dead code detection, and handle procvars
2023-03-24 21:22:18 +01: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
* New node pruning methods
2023-02-21 20:44:02 +00: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
Add aarch64-iphonesim target
2023-03-27 18:45:00 +00:00
objcutil.pas
objc: use compile-time macOS version checks
2022-09-16 11:21:05 +02:00
ogbase.pas
Add missing swaping in case of different endianess of stab entry inside TInternalAssembler.WriteStab
2023-04-30 21:23:06 +02:00
ogcoff.pas
Add unit specifiers for tlsdirectory fields: they need to be PUInt from globtype unit
2023-08-11 08:38:43 +00:00
ogelf.pas
oglx.pas
ogmacho.pas
ogmap.pas
* SetString needs correctly typed argument
2023-07-25 16:06:53 +02:00
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
+ added mutable globals to the target switches section
2023-06-17 17:00:36 +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
[AVR] Add command line options to selectively remove portions of the RTL startup code.
2023-08-15 21:33:58 +00:00
optloadmodifystore.pas
optloop.pas
opttail.pas
optutils.pas
* patch by Rika: Use Index* for pointer lists, resolves #40218
2023-03-25 21:32:29 +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 compilation with -dEXTDEBUG
2023-02-24 20:39:13 +01:00
pass_2.pas
* New 'do not execute' flag for notes and respective internal error triggering
2023-02-21 20:44:02 +00:00
pbase.pas
* Forbid use of string alias in system unit
2023-07-22 08:26:22 +00:00
pcp.pas
pdecl.pas
* Unicode resource strings
2023-07-25 16:06:53 +02:00
pdecobj.pas
* Generate hidden class to be used for TVirtualInterface (wasm only)
2023-07-11 08:36:57 +00:00
pdecsub.pas
* fix #40381 : also check for hints when parsing the parameters of a routine (including open array parameters) or the result type of a function
2023-09-08 15:54:08 +02:00
pdecvar.pas
+ disallow WebAssembly reference types in records, objects and classes
2023-06-20 15:13:15 +03:00
pexports.pas
+ print an error message, in case 'promising' exports are used on non-WebAssembly platform
2023-06-16 15:44:58 +03:00
pexpr.pas
* Unicode resource strings
2023-07-25 16:06:53 +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
* Allow hidden units to be found when replaying generic
2023-07-27 18:40:34 +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
* Allow System.Variants (Delphi-compatible name) to be found when inserting variants unit
2023-07-27 18:40:34 +02:00
pp.lpi
pp.pas
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00:00
pparautl.pas
* fix #40142 and #40324 : don't alias the function name to the $result variable for anonymous functions unless an explicit result name is provided
2023-06-23 17:06:41 +02:00
ppc68k.lpi
ppc8086.lpi
ppcaarch64.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppcarm.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppcavr.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppcjvm.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppcmips64el.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppcmips.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppcmipsel.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppcppc64.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppcppc64le.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppcppc.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppcriscv32.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppcriscv64.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppcsparc64.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppcsparc.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppcwasm32.lpi
* .lpi version update
2022-07-31 21:09:09 +03:00
ppcx64.lpi
* Unicode resource strings
2023-07-25 16:06:53 +02:00
ppcx64llvm.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppcxtensa.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppcz80.lpi
* project files updated
2023-03-15 23:01:44 +01:00
ppheap.pas
ppu.pas
* for unique type aliases keep track of the original def
2023-06-23 16:15:27 +02:00
procdefutil.pas
* revert 430bcac389
as with the change that the functions to insert hidden parameters are idempotent this is no longer required and also wrong as uses of the deleted symbols aside from Self and the framepointer would be left dangling
2023-06-16 16:16:58 +02: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
default values: store as staticvarsyms in staticsymtable
2023-08-15 21:13:48 +02:00
psystem.pas
* Define char as AnsiChar
2023-07-22 08:26:22 +00:00
ptconst.pas
ptype.pas
* Forbid use of string alias in system unit
2023-07-22 08:26:22 +00: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
Aslo check that live_end is assigned before refering to it
2023-02-13 15:50:04 +01:00
scandir.pas
* $NAMESPACES directive
2023-07-26 09:45:53 +02:00
scanner.pas
* Forbid use of string alias in system unit
2023-07-22 08:26:22 +00: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
* Additional fields/enums for invoke helper
2023-07-13 07:32:21 +00:00
symcreat.pas
Create invoke helper if requested and reference it in RTTI
2023-07-13 07:32:21 +00:00
symdef.pas
* Add is_systemunit_unicode function (cchartype suymbol)
2023-07-22 08:26:22 +00:00
symsym.pas
dbgllvm: support for record field debug information
2022-06-06 23:12:53 +02:00
symtable.pas
* Check that system unit is actually loaded before using it to search for system symbols
2023-06-19 15:33:15 +02:00
symtype.pas
* some error messages use nicer symbol names
2023-04-01 22:34:37 +02: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 -Awin64-as option for aarch64 compiler for win64 target
2023-05-26 11:15:55 +00:00
systems.pas
+ enable the reference types extension in llvm-mc via a command line option
2023-06-07 03:30:40 +03:00
tgobj.pas
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00:00
tokens.pas
+ also allow declaring an external as 'suspending first'
2023-06-13 09:56:44 +03:00
triplet.pas
Add aarch64-iphonesim target
2023-03-27 18:45:00 +00:00
verbose.pas
Disable substitution by environment variables in message comment related functions
2023-06-07 01:02:28 +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
WPO: fix dead code detection, and handle procvars
2023-03-24 21:22:18 +01:00
wpoinfo.pas