Commit Graph

2701 Commits

Author SHA1 Message Date
florian
e2624fdaaa * fix test 2021-09-14 22:01:39 +02:00
florian
5065e4ba50 * fix code for ARM FPA, just in case ... 2021-09-13 22:55:44 +02:00
florian
9bd785c06b * fix handling of -0.0 in sse/avx code, resolves #39357 2021-09-13 22:47:26 +02:00
Yuriy Sydorov
64812bdc60 * Modified the test to run properly on non-UTF8 systems. 2021-09-11 20:11:40 +03:00
Yuriy Sydorov
daa05f19cb * Prevent a crash of the tw2423 test on some versions of Windows. 2021-09-11 19:54:02 +03:00
florian
677f829732 * tw39323 needs to turn on range check to test what it is supposed to test 2021-09-05 23:12:34 +02:00
florian
a5f6505edc * fix range checking for zero based strings, resolves #39323 2021-09-05 21:03:31 +02:00
florian
3069d74ecc * handle constant folding correctly for <pointer>+<ord. constant>+<ord. constant>, resolves #39332 2021-09-01 21:32:27 +02:00
florian
8efae66956 * we cannot do SSA during partial writes to arrays which span multiple registers, resolves #39325 2021-09-01 09:31:50 +02:00
Sven Barth
3ce6cae11d * fix for #39310 by fixing various small issues in tabstractrecordsymtable.has_single_field:
- initialize the returned def to a safe default
  - correctly reset the found symbol for each loop
  - reset the result when descending into a record
+ added test
2021-09-01 09:31:15 +02:00
Pierre Muller
23bf243acd Add test for bug report 38973 (already fixed in trunk/main) 2021-09-01 09:29:51 +02:00
Jonas Maebe
bc84f780ee Solves #39296: x86-64 parameter zero/sign extension 2021-09-01 09:29:51 +02:00
svenbarth
2a2576b1d5 * further fix for Mants #26760: applied patch by Ondrej Pokorny to fix recompilation of units referenced with an "in" clause if no file extension is provided
+ added (interactive) test

git-svn-id: trunk@49613 -
2021-07-15 21:52:27 +00:00
florian
0d6a1d24bd * might_have_sideeffects in gen_c_style_operator as proposed by runewalsh, resolves #39206
git-svn-id: trunk@49608 -
2021-07-13 18:31:38 +00:00
svenbarth
924f9466f0 * fix for Mantis #26760: apply patch by Ondrej Pokorny to ensure that units referenced by an "in"-clause are recompiled when they have been changed
+ added test (though due to the nature of the bug it needs to be interactive)

git-svn-id: trunk@49587 -
2021-07-09 15:52:00 +00:00
florian
86ac03e07e + support SHLX and SHRX in TX86AsmOptimizer.RegLoadedWithNewValue, resolves #39178
git-svn-id: trunk@49583 -
2021-07-07 20:28:04 +00:00
florian
51326e94f3 * allow char constant to be used for const string parameters in generic specializations, resolves #39030
git-svn-id: trunk@49569 -
2021-06-28 20:35:33 +00:00
svenbarth
be1461654f - remove unused copy of tw17904 (wrong extension)
git-svn-id: trunk@49482 -
2021-06-05 17:44:00 +00:00
florian
f2e0af6d37 * check used registers properly for SETcc/TEST/Jcc -> Jcc, resolves #38940
git-svn-id: trunk@49405 -
2021-05-28 21:23:09 +00:00
florian
1e1848da92 * fix exception generation in ln(...), resolves #38832
git-svn-id: trunk@49328 -
2021-05-02 19:45:09 +00:00
Jonas Maebe
9977889f4a * fix finally block getting unconditionally removed if try-block is empty
(hasnocode(nil) always returns true). Regression from r48174

git-svn-id: trunk@49305 -
2021-05-01 09:28:58 +00:00
florian
77cc2f4ced * decrease macro nesting counter early when expanding empty macro
to avoid errors about too depth macro nesting, resolves #38802

git-svn-id: trunk@49265 -
2021-04-25 19:49:26 +00:00
pierre
17e3c31b7e Fix gotpcrel relocation for TESTQ x86_64 instruction
git-svn-id: trunk@49252 -
2021-04-23 21:52:24 +00:00
florian
dbee3bcc0d * fixed MSecsToTimeStamp by Lagunov Aleksey, resolves #38631
git-svn-id: trunk@49247 -
2021-04-22 20:14:00 +00:00
Jonas Maebe
7c9fb4b4af * AArch64: fix storing a 32 bit value in the lower 32 bits of a 64 bit
subsetreg (mantis #38766)

git-svn-id: trunk@49236 -
2021-04-19 20:52:12 +00:00
Jonas Maebe
bb977b398d * AArch64: fix spilling integer registers to stack offsets that cannot be
encoded directly into the spilling instructions (second part of
    mantis #38053)

git-svn-id: trunk@49207 -
2021-04-14 20:56:32 +00:00
Jonas Maebe
ff3f812d97 * fix conversion of true/false macro definitions to boolean values
(mantis #38492)
   o since the macro lookups are recursive, "mac" will usually be nil
     afterwards (unless we found an undefined macro)

git-svn-id: trunk@49160 -
2021-04-10 10:56:02 +00:00
florian
09628e56cb * even if currency is handled by torddef, it is a real number, so using / is perfectly right, resolves #38718
git-svn-id: trunk@49154 -
2021-04-09 20:38:46 +00:00
florian
b09669dffe * allow also CSUBSETREG in tx86inlinenode.second_IncludeExclude, resolves #38733
git-svn-id: trunk@49151 -
2021-04-09 20:09:19 +00:00
florian
503fc85dff * patch by J. Gareth Moreton: handle register allocations correctly in MovMov2Mov 3, resolves #38703
git-svn-id: trunk@49128 -
2021-04-06 15:50:28 +00:00
florian
f0023a3b04 * Aarch64: patch by J. Gareth Moreton: fix constant writing, resolves #38695
+ test

git-svn-id: trunk@49104 -
2021-04-02 16:44:43 +00:00
florian
cc64d9eb4e * do not swap left/right code generation for assignment nodes if
conditional expressions are involved, resolves #38129

git-svn-id: trunk@49095 -
2021-03-31 20:53:18 +00:00
florian
47557e0ad2 * cpubase.cgsize2subreg should handle all valid sizes, resolves #38557
git-svn-id: trunk@49087 -
2021-03-30 16:44:19 +00:00
florian
b4eb1780ad * added test, issue is fixed by r48758 already
git-svn-id: trunk@49075 -
2021-03-28 21:10:13 +00:00
florian
47eb7cec0c * test needs objfpc mode else i is 16 bit only
git-svn-id: trunk@49074 -
2021-03-28 21:09:35 +00:00
florian
6218254e53 * allow also 8 byte string constants in assembler, resolves #28640
git-svn-id: trunk@49066 -
2021-03-27 17:13:14 +00:00
Jonas Maebe
308aee42a0 * the offset parameter of reference_reset* must be asizeint rather than
longint (mantis #38636)

git-svn-id: trunk@49065 -
2021-03-27 15:31:33 +00:00
svenbarth
ca7c775e36 * fix for Mantis #38642: for enumerations with jumps Delphi behaves as follows:
- GetTypeKind returns tkEnumeration (FPC previously generated a compile error here)
  - GetTypeInfo on a generic parameters returns Nil for such types (FPC previously generated a compile error here)
  - GetTypeInfo otherwise generates a compile error (as before)

git-svn-id: trunk@49064 -
2021-03-27 09:35:07 +00:00
florian
2b47425f08 + tx64tryfinallynode.dogetcopy properly implemented, resolves #37305
git-svn-id: trunk@48972 -
2021-03-14 21:23:05 +00:00
florian
c603477ec4 * fix test for RiscV
git-svn-id: trunk@48914 -
2021-03-08 17:12:19 +00:00
pierre
01a351f804 Fix for bug report 38549 about wrong code generation
for mips/mipsel and riscv32/riscv64 CPUs for 
  set operators '<=' and '>='.
  New tests for this bug report.
  tw38549.pp, main source, also included 
  by tw38549a.pp, tw38549b.pp, tw38459c.pp and tw38459d.pp
  with explicit {$packset X}, with X=1,2,4, or 8 added.

git-svn-id: trunk@48874 -
2021-03-03 22:15:20 +00:00
Jonas Maebe
9c831677ff * support Objective-C classes and protocols with -gw3 (mantis #36250)
git-svn-id: trunk@48834 -
2021-02-27 21:44:53 +00:00
pierre
58171b4308 Extend list of CPUs defining slowcpu conditional in tmt1 and tw8177 sources
git-svn-id: trunk@48816 -
2021-02-26 23:39:14 +00:00
pierre
f85d7d2591 Fix tw28713 for big endian CPUs
git-svn-id: trunk@48795 -
2021-02-23 22:04:18 +00:00
pierre
2cd6951205 Apply patch proposed by J. Gareth Moreton in bug report #0038527
The patch reworks the LeaLea2Lea optimisation and hopefully fixes the bug (admittedly by adding a brand new optimisation!).

git-svn-id: trunk@48792 -
2021-02-22 23:15:31 +00:00
florian
5a26c58285 * allow in-operator to be used on type parameters, resolves #38497
git-svn-id: trunk@48763 -
2021-02-21 21:29:40 +00:00
florian
d0910b5ac8 * allow sub/add nodes in constant pointer expressions, resolves #34027
git-svn-id: trunk@48514 -
2021-02-05 22:10:27 +00:00
florian
a67c184200 * test for already fixed issue #32139
git-svn-id: trunk@48501 -
2021-02-02 21:36:54 +00:00
florian
40b8bde305 * test for 32 bit targets fixed
git-svn-id: trunk@48496 -
2021-02-01 21:14:19 +00:00
svenbarth
fe5b29c111 * fix for Mantis #38249: apply adjusted patch by avk to implemnt CastTo handling when the source variant is a custom variant, but the destination type is not
+ added test (includes test for #20849)

git-svn-id: trunk@48477 -
2021-01-31 20:26:26 +00:00