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