Commit Graph

66464 Commits

Author SHA1 Message Date
florian
84e7a17b67 * patch by Rika: optimize Pos(), resolves #40088 2023-01-23 22:51:40 +01:00
Jonas Maebe
821c22a38f LLVM: workaround to fix make all 2023-01-23 22:44:48 +01:00
marcoonthegit
8c888d9744 * free doc before calling a readxmlfile procedure routine with OUT parameter. Fixes #40126 2023-01-23 18:48:08 +01:00
Michaël Van Canneyt
0bad315daf * Fix TDateTimeInfoRec 2023-01-23 18:09:43 +01:00
Michaël Van Canneyt
735fd20a6a * (Hopefully) fix compilation for non-win,non-unix platforms 2023-01-23 10:05:18 +01:00
Jonas Maebe
305d34a8f6 Darwin: fix make cycle
unix.fpexecv takes a rawbytestring as first parameter, so inside the child
it was converting the pchar back to an ansistring and also converting it
to the OS file system code page. Since Darwin uses vfork/execv in
SysUtils.Executeprocess, this could result in (exception)stack corruption
and for some reason only since d1b2fe16 it actually caused issues.

Use execve instead, which takes a pchar as first argument and doesn't
do any further conversions
2023-01-22 22:34:25 +01:00
Jonas Maebe
e54197e9d2 Darwin: support -Xg for DWARFv4 2023-01-22 22:34:25 +01:00
florian
789031a6e6 * compile float*2 as float+float if possible as proposed by Rika, resolves #40116 2023-01-22 20:07:40 +01:00
florian
ec28b7586c + support procvar[] in tp/mac procvar mode if the procvar returns an array type 2023-01-22 16:24:29 +01:00
Marcus Sackrow
a57e34403c System.ioutils changes some nested $if $else $if to $if $elseif 2023-01-22 14:51:05 +01:00
J. Gareth "Curious Kit" Moreton
f3f9c68ddb * x86-64: Extended the movl/movq optimisation to cover more distance 2023-01-22 09:35:35 +00:00
J. Gareth "Curious Kit" Moreton
42b052eb83 * x86-64: movl/movq -> movl/movl zero-extension optimisation 2023-01-22 09:35:35 +00:00
Marcus Sackrow
55c5c7e122 Fixed system.ioutils for windows and other non-unix systems 2023-01-21 23:50:06 +01:00
florian
5691f2a2c0 + support of octal literals 2023-01-21 22:14:56 +01:00
Michaël Van Canneyt
184d20cb06 * Fix some tests after recent changes, better test for special dirs 2023-01-21 21:44:00 +01:00
florian
87321a0e67 * fix one test failure for unixes 2023-01-21 21:35:18 +01:00
florian
d4d4498fc0 * building on darwin (and most likely other BSDs) fixed 2023-01-21 21:19:24 +01:00
Michaël Van Canneyt
77ade8b74f * Improve TPath initialization 2023-01-21 20:41:24 +01:00
Michaël Van Canneyt
770c21c0dd * Fix compile error for i386-linux 2023-01-21 20:21:29 +01:00
Michael Van Canneyt
0b5eaa50fb * Sysutils compatibility unit 2023-01-21 13:45:04 +01:00
Michael Van Canneyt
d1b2fe1659 * Date/Time info for files (Delphi compatibility) 2023-01-21 13:45:04 +01:00
florian
a06c034189 * cleanup of outdated defines 2023-01-20 23:31:04 +01:00
Jonas Maebe
8b3544192e AIX: fix inverted fpu exception masking
Resolves #40105
2023-01-20 21:59:57 +01:00
Jonas Maebe
00a5d30300 LLVM: remove use of getelementptr in make_simple_ref_ptr
We cannot safely infer whether it needs to be indirect or not there,
it should be done at a higher level if appropriate.
2023-01-20 21:07:18 +01:00
Jonas Maebe
51fdbb5524 macOS: set max var/constalign to 64
For all non-ppc(64) targets. Fixes test/talignrec1.
2023-01-20 21:07:18 +01:00
Jonas Maebe
29bae2297f tcginnode.pass_generate_code: use tlhcgobj.g_undefined_ok
Also override the code that uses this for LLVM with a variant that does not
need it for LLVM versions that do not support the freeze instruction.
2023-01-20 21:07:18 +01:00
Jonas Maebe
ab581c5c30 LLVM: override thlcgobj.g_undefined_ok
Uses the freeze instruction available in LLVM 10.0+. If we don't freeze undef/
poison values before using them in a calculation (even if that calculation is
something like "and 0", which masks the result completely), the result will
still be undef/poison and will keep propagating.
2023-01-20 21:07:18 +01:00
Jonas Maebe
ee0ad3ff86 thlcgobj.g_undefined_ok: new method
Specify that a register's contents may be undefined because of previous
operations (e.g. shifting by more bits than the register has, whose result
depends on the target architecture), but that the code generator will
later on ensure that if this is the case, that result will be overwritten/
masked.
2023-01-20 21:07:18 +01:00
Jonas Maebe
0b6942de8a llvm:a fix opaque ptr IR for Objective-C protocol
Also for interfacecom functions and properties. Fixes test/tobjc9 and
test/tobjc9b with LLVM 15.0+
2023-01-20 21:07:18 +01:00
florian
218da184e6 * patch by Rika: Improve generic CompareByte, resolves #40120 2023-01-19 22:44:25 +01:00
Michael Van Canneyt
06a7610a35 * Stream writer 2023-01-19 12:21:56 +01:00
Michael Van Canneyt
32884082e3 * Checks for directory and special directories 2023-01-19 12:21:56 +01:00
florian
55deefbab5 * do not crash on illegal with statement, resolves #40118 2023-01-18 23:03:28 +01:00
florian
5598ffc210 * x86_64: warn only on negative offsets if rsp is involed, second part of #40113
+ tests
2023-01-17 23:09:42 +01:00
Michaël Van Canneyt
b5763eb412 * Added some debugging aids 2023-01-17 14:32:38 +01:00
Michaël Van Canneyt
eb1905a607 * Correct exception handling 2023-01-16 14:02:15 +01:00
Michaël Van Canneyt
98404eab49 * Fix alias typed documentation 2023-01-16 14:02:15 +01:00
Michaël Van Canneyt
dcd7758e4c * Debug statement 2023-01-16 14:02:15 +01:00
florian
8b08486fa1 * do not warn on lea e/rsp with negative address offset, part of #40113
+ tests
2023-01-15 23:06:05 +01:00
mattias
fdea66d217 rtl: added TBinaryObjectReader.BeginComponent 2023-01-15 10:56:58 +01:00
florian
46ab62fbb9 * alternative declaration for SDL_CreateThread added to keep old code working, resolves #40112 2023-01-14 20:59:26 +01:00
Pierre Muller
5cedecbe25 Avoid float_raise call in FPC_SOFT_FPUX80 code 2023-01-14 11:41:20 +00:00
Pierre Muller
977ca19dc0 Set current_filepos in Internal assembler class also if DEBUG macro is set 2023-01-14 11:41:20 +00:00
florian
a9dca32689 * undid accidentely activated define 2023-01-13 22:34:57 +01:00
mattias
8e63c2a6b2 Merge branch 'main' of https://gitlab.com/freepascal.org/fpc/source into main 2023-01-13 10:56:29 +01:00
florian
e77ec69de4 * avoid internal error in case of an illegal generic declaration 2023-01-12 23:05:51 +01:00
florian
51bb01734b * patch by Alfred Glänzer: Prevent install of unnecessary files during cross-install, resolves #40101 2023-01-11 22:17:27 +01:00
J. Gareth "Curious Kit" Moreton
b997e41366 * New tests that evaluate CMOVcc using a reference even if IfRefSafe returns False because the previous condition reads it 2023-01-10 22:23:58 +00:00
J. Gareth "Curious Kit" Moreton
891723111c * New test for extended CMOVcc optimisations 2023-01-10 22:23:58 +00:00
J. Gareth "Curious Kit" Moreton
df80d4e612 * x86: CMOV optimisations now check optimizecputype rather than cputype 2023-01-10 22:23:58 +00:00