Commit Graph

66689 Commits

Author SHA1 Message Date
Sven/Sarah Barth
1addfcf55f * ensure that _LookupVtableInfoEx isn't called with a type that needs special handling as we can't (or won't) really cover that using some generic RTTI handling 2023-11-08 23:28:52 +01:00
Sven/Sarah Barth
f24e336f70 * essentially undo 4823ca7114 as comparers that need now use a suitable class implementation directly 2023-11-08 23:28:52 +01:00
Sven/Sarah Barth
2fd69363d1 * use the explicit implementations of the I*Comparer<> interfaces for types like records and objects; fixes #40074 and #40077 on systems using the Sys V ABI 2023-11-08 23:28:52 +01:00
Sven/Sarah Barth
2c573982f4 + introduce explicit implementations for the IComparer<>, IEqualityComparer<> and IExtendedEqualityComparer<> interfaces for types that should be compared using binary comparison (e.g. records, objects, etc) 2023-11-08 23:28:52 +01:00
Pierre Muller
e59df58dbc Commit new utils/fpcm/revision.inc after aarch64-iphonesim target addition 2023-11-08 23:28:52 +01:00
Dmytro Bogatskyy
1cb4a08418 Add aarch64-iphonesim target 2023-11-08 23:28:52 +01:00
florian
f2b62a2ce4 * spelling fixed 2023-11-08 23:28:51 +01:00
florian
8270af8a01 * patch by Rika: Use Index* for pointer lists, resolves #40218 2023-11-08 23:28:51 +01:00
florian
fa2e4d7d15 * patch by Rika: Shorten cutils.compareansistrings, resolves #40213 2023-11-08 23:28:51 +01:00
Jonas Maebe
0594f9ae59 WPO: fix dead code detection, and handle procvars
Extend dead code detection to not only look for the main mangled name, but also
for any aliases before deciding that a routine has been dead-stripped.

Assume objects/classes can also be constructed if the address of one of their
constructors or of the TObject.NewInstance class method has been taken.

Resolves #40204
2023-11-08 23:28:51 +01:00
florian
002c7efa7a * revert use of DW_AT_external for types as this is not covered by the dwarf standard 2023-11-08 23:28:51 +01:00
florian
1f77b3e626 * write types declared in the interface section with a DW_AT_external tag, should resolve #40210 2023-11-08 23:28:51 +01:00
florian
b2295d339a * fix of Erroneous reading of the value of the StackLength variable at program start based on issue report by Sergey Larin, resolves #40211 2023-11-08 23:28:51 +01:00
florian
fc4a75b925 + support FILEEXISTS(...) in preprocessor expressions, resolves #39527
+ tests
  * tscannerfile.readpreproc sets preproc_pattern correctly for quoted strings
2023-11-08 23:28:50 +01:00
Pierre Muller
15775d155e Fix interactive information log error 2023-11-08 23:28:50 +01:00
marcoonthegit
9dfc42a67a * Add ptr types for fixed(u)int, fixes #40205 2023-11-08 23:28:50 +01:00
florian
c433deb0f2 * also initalize default helper variables of initialization sections, resolves #40183 2023-11-08 23:28:50 +01:00
Michaël Van Canneyt
be2ec41768 * Better signature for Initialize/Finalize dummies 2023-11-08 23:28:50 +01:00
Michaël Van Canneyt
c5ac1488ab * Add support for select query parameters 2023-11-08 23:28:50 +01:00
Michaël Van Canneyt
d46cf5f91d * Port in small letters, postgres requires lowercase port setting 2023-11-08 23:28:50 +01:00
Marcus Sackrow
6251c0dc84 Arosunits: rexx unit added 2023-11-08 23:28:50 +01:00
Jonas Maebe
db07d0b0f3 LLVM: cleaned up some comments 2023-11-08 23:28:50 +01:00
Jonas Maebe
2de553b826 LLVM: LLVM 16 support
No changes compared to LLVM 15 that affect us
2023-11-08 23:28:50 +01:00
Jonas Maebe
6e35770ea7 LLVM: don't use type names in ctor/dtor arrays
Workaround for https://github.com/llvm/llvm-project/issues/56809
2023-11-08 23:28:50 +01:00
Jonas Maebe
8c50d989e5 WPO: also consider NewInstance to detect class instancing
Resolves #40200
2023-11-08 23:28:50 +01:00
Rika Ichinose
823a032fd4 IndexWord and IndexDWord for i386 without REP SCAS. 2023-11-08 23:28:49 +01:00
florian
a030e99318 * PopCount takes care only of the bit pattern, so take the uvalue to avoid an internal error, resolves #40190 2023-11-08 23:28:49 +01:00
Rika Ichinose
b9e0dafa03 SSE2 Index* and Compare* for i386, chosen at runtime. 2023-11-08 23:28:49 +01:00
Sven/Sarah Barth
9e5c8446ae * change Result of CheckSynchronize to true when at least one method was executed (matches with both FPC and Delphi documentation) 2023-11-08 23:28:49 +01:00
florian
4584d605b4 * take care of mips64* when calling gcc for the libgcc path 2023-11-08 23:28:49 +01:00
Mikhail Novosyolov
58d994b9c9 Fix messages about not found gcc
Code actually looks for the gcc executable inside $PATH, not for libgcc.
fpc works without the libgcc.so devel symlink.
2023-11-08 23:28:49 +01:00
Sven/Sarah Barth
90cfc806c3 + add test for already fixed #37380 2023-11-08 23:28:49 +01:00
Sven/Sarah Barth
481d8d1513 * ensure that a procvar (especially a "REFERENCE TO") begins either with FUNCTION or PROCEDURE
+ added test
2023-11-08 23:28:49 +01:00
florian
130d7255f1 * project files updated 2023-11-08 23:28:49 +01:00
florian
139a382bf1 * compilation fixed with -Oodfa 2023-11-08 23:28:49 +01:00
florian
a0850d6545 + riscv32-freertos: first version of TlinkerFreeRTOS.GenerateDefaultLinkerScripts 2023-11-08 23:28:49 +01:00
Michaël Van Canneyt
32c8215aa8 * Add possibility to read updated data 2023-11-08 23:28:49 +01:00
florian
12f6297ca4 * typo fixed 2023-11-08 23:28:48 +01:00
florian
5cc7d87e33 * library list for esp32c3 for IDF 5.0 2023-11-08 23:28:48 +01:00
florian
83fc822aa0 * patch by Rika: Remove wrong paranoia (and add correct one (and shorten in general (and fix a bug in))) fpc_dynarray_setlength, resolves #40193 2023-11-08 23:28:48 +01:00
Pierre Muller
f9f71eb1eb Change libc statx function to weakexternal
Test if statx is nil before call
2023-11-08 23:28:48 +01:00
J. Gareth "Curious Kit" Moreton
9f8df68426 * x86: TEST/Jcc/TEST optimisations can now look beyond the next instruction under -O3 2023-11-08 23:28:48 +01:00
J. Gareth "Curious Kit" Moreton
55f8be3ec6 * x86: RegModifiedByInstruction and RegInInstruction
are now more accurate for (I)MUL and (I)DIV.
2023-11-08 23:28:48 +01:00
J. Gareth "Curious Kit" Moreton
060ae935f5 * x86: Fixed oversight in RegModifiedByInstruction not checking W0, W1 and WU-type flags 2023-11-08 23:28:48 +01:00
J. Gareth "Curious Kit" Moreton
2d5ef5b5d0 * x86: Fix to MOV/CMP register deallocation positioning 2023-11-08 23:28:48 +01:00
Sven/Sarah Barth
42472aac89 + add function reference suitable overload of TThread.ForceQueue() 2023-11-08 23:28:48 +01:00
florian
34738e1db9 * patch by Rika: Remove dead code in DynArrayIndex, resolves #40194 2023-11-08 23:28:48 +01:00
ccrause
df21fb5e7d Only perform OpCp2Op optimization when the first Op is ANDI and comparison is against 0. 2023-11-08 23:28:48 +01:00
J. Gareth "Curious Kit" Moreton
2217591da4 * x86: The LEA/LEA optimisations can now work with a different
destination register and the intermediate register still in
	 use.
2023-11-08 23:28:48 +01:00
J. Gareth "Curious Kit" Moreton
7122bdcd24 * x86: LeaLea2Lea now handles cases where the second LEA instruction
has a second register in the reference.
2023-11-08 23:28:48 +01:00