florian
cc27a5de78
+ test from Rika for merge request 458
2023-08-14 23:21:25 +02:00
Jonas Maebe
13346a42bc
volatile: allow for assignments
2023-08-12 12:04:40 +02:00
Jinyang He
176462c39a
add loongarch64 tests support
2023-02-05 19:18:48 +00:00
florian
09b435cdab
* transform a/a only into 1 if fastmath is on
2023-01-29 13:49:33 +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
Sven/Sarah Barth
ebb4de1441
* mark test as NORUN
2022-12-03 19:41:34 +01:00
Sven/Sarah Barth
7a34677b2a
* as long as the type passed into a TypeInfo() is not an undefined or error def the resulting value will always be constant at compile time, so it can be compared to another then no matter if typenode or not
...
+ added tests
2022-12-02 17:47:15 +01:00
Sven/Sarah Barth
188cac3bc6
* enable OpenStrings by default in mode Delphi
...
+ added test
2022-10-08 13:52:34 +02:00
Sven/Sarah Barth
6cbbf9c52a
* $P/$OpenStrings is supposed to be a local switch, so change that accordingly
...
+ added tests
2022-10-08 13:52:32 +02:00
Sven/Sarah Barth
a93942cd27
* correctly convert a single WideChar to a PChar constant with the correct code page
...
+ added test
2022-08-28 21:53:44 +02:00
Sven/Sarah Barth
27c1bb3bea
* an objectdef also requires an init for its members if a member (or a member of one of the parents) has a complex initialization
...
+ added test
2022-08-14 15:42:32 +02:00
florian
399e699b72
* tests for merge request 244
2022-07-16 22:13:21 +02:00
Nikolay Nikolov
c9ed14f87b
+ enable the 64-bit SAR instruction on the WebAssembly target
2022-05-27 22:56:05 +03:00
Nikolay Nikolov
b6aaa06f83
+ enable the ROL/ROR instructions for WebAssembly
2022-05-27 22:46:32 +03:00
Jonas Maebe
b1f85792d7
Symbolic constants: don't range check on in use in typed constants
...
Same as 3da54dcf9f
, but this type when used in type constant definitions
like record fiels
2022-04-03 11:20:10 +02:00
Jonas Maebe
3da54dcf9f
Symbolic constants: don't range check on use
...
If these constants are defined with an explicit type, they are already
truncated/checked at that point. If we range check them again on use, we
may get errors because at that point there is no explicit type cast
any more.
2022-04-02 13:26:44 +02:00
florian
680a5b94ff
+ test for last commit ( 44094dba2f
)
2022-02-14 22:54:36 +01:00
florian
e19b45a71b
* tests fixed after last commit
2022-01-15 22:30:25 +01:00
florian
62f1771121
* fix test for improved fpc_Val_SInt_ShortStr
2022-01-08 14:54:18 +01:00
florian
2a93e65511
* seperator => separator
2022-01-02 13:12:33 +01:00
florian
d2447026de
+ modeswitch UNDERSCOREISSEPERATOR, active by default in delphi modes:
...
support _ as seperator in numbers, it is ignored while reading them, resolves #39504
2022-01-01 23:28:36 +01:00
Florian Klämpfl
25eab57a58
* allow %... for binary constants in delphi mode, resolves #39503
2021-12-29 15:37:53 +01:00
Sven Barth
69bfff046a
+ add a test for converting a 64-bit Boolean (either QWordBool or Boolean64) to a 32-bit signed integer (this problematic case was discovered after e65b822a
on PowerPC
2021-12-05 15:11:24 +01:00
florian
d708bef92f
+ Aarch64: read register sets with ranges properly
...
+ tests
2021-11-07 20:02:29 +01:00
Jonas Maebe
4426d0da7a
Fixed variant discriminator types
2021-10-31 21:13:35 +01:00
Yuriy Sydorov
e9d318e7e2
* x86: Fixed update of used registers in the CMOV optimizations.
...
This fixes a bug reported by Martin Frb in fpc-devel which is triggered
by the recently provided test code in FPC 3.2.2 x86_64, but is hidden
in trunk by other pipeline peephole optimizations.
2021-10-04 18:10:34 +03:00
florian
5abfe21f39
+ apply unary minus optimizations also to /
...
* test extended
2021-09-23 22:44:16 +02:00
florian
69d5d648a9
+ more unary minus optimizations
...
* test extended
2021-09-21 23:09:33 +02:00
florian
3e760b33c7
+ more unary minus optimizations
...
* test extended
2021-09-20 22:31:16 +02:00
florian
8cb92fd49a
* simplify real expressions involving unary minus
...
+ test
2021-09-19 23:08:32 +02:00
Yuriy Sydorov
16d17de1ff
+ Added a test for a bug fixed in b96057ad
.
2021-09-06 19:01:34 +03:00
florian
9969da24e1
* { ... } is no a longer valid comment in aarch64 assembler
...
git-svn-id: trunk@49215 -
2021-04-17 11:14:37 +00:00
Jonas Maebe
3e047d3691
* generate more efficient code for trunc(currency), trunc(comp), and
...
round(comp) on platforms where currency and comp are handled using the FPU
o also fixes trunc(comp) and trunc(currency) compilation for x86 on LLVM
with -Oofastmath
* add missing removal of excess fpu precision typecasts for trunc/round
git-svn-id: trunk@47854 -
2020-12-27 13:18:47 +00:00
florian
33afecd117
+ support got modifier on labels
...
git-svn-id: trunk@47851 -
2020-12-26 18:51:45 +00:00
svenbarth
32938dde1c
* apply patch by Blaise.ru to allow record methods to be assigned to method variables as well (this is Delphi compatible)
...
+ added test
git-svn-id: trunk@47794 -
2020-12-16 21:43:25 +00:00
florian
792b629aa6
+ -Xa option: generate code which allows to use more than 2 GB of static data on 64 Bit targets
...
+ implemented support for x86-64
* more than 2 GB static data requires to use the --no-relax option on linux
git-svn-id: trunk@47651 -
2020-11-30 22:07:34 +00:00
svenbarth
903486642e
* allow an integer expression for SetPeFlags and SetPeOptFlags (Delphi compatible)
...
* adjusted test to check that as well
git-svn-id: trunk@47602 -
2020-11-26 20:13:40 +00:00
svenbarth
eb7158d250
* ensure that internal method names (namely operator overloads and class con-/destructors) result in different mangled names from ordinary methods even if they should be converted to lowercase (which happens for section names)
...
+ added tests
git-svn-id: trunk@47110 -
2020-10-14 09:11:44 +00:00
svenbarth
2f877218b4
* fix test: TThread.WaitFor calls CheckSynchronize as well, so the thread needs to signal when it's done with removing entries from the queue
...
git-svn-id: trunk@47084 -
2020-10-11 12:38:16 +00:00
florian
284aca7348
+ x86: FstpFld2Fst optimization (re-enabled for safe cases)
...
git-svn-id: trunk@47024 -
2020-09-30 19:20:14 +00:00
svenbarth
a624348692
* when removing a method from the synchronization queue using TThread.RemoveQueuedEvent then both the Code and the Data need to match (Delphi does the same)
...
+ added test
git-svn-id: trunk@47007 -
2020-09-29 17:34:26 +00:00
svenbarth
cce2dad1bf
* fix for Mantis #37806 : allow undefineddefs for Include() and Exclude()
...
+ added tests
git-svn-id: trunk@46953 -
2020-09-25 14:13:53 +00:00
Jonas Maebe
0904ea0c3f
* added missing "end." (fixup for r46904)
...
git-svn-id: trunk@46906 -
2020-09-20 12:43:49 +00:00
Jonas Maebe
9f42931eeb
* don't print range check warnings when evaluating inlined explicit typecasts
...
git-svn-id: trunk@46904 -
2020-09-20 10:29:51 +00:00
svenbarth
9d86fed95b
* avoid range check error when using SwapEndian with 16-bit constants
...
+ added test
git-svn-id: trunk@46897 -
2020-09-19 17:04:17 +00:00
yury
2ab7cceeaa
* Added the $F+ switch (forced far calls) for some TP mode tests.
...
git-svn-id: trunk@46456 -
2020-08-16 10:48:10 +00:00
pierre
9f60f5093d
F_GetLk/SetLk have different values for sparc/sparc64
...
git-svn-id: trunk@45829 -
2020-07-22 23:15:03 +00:00
svenbarth
52678562e3
* correctly handle selection between Single and Double overloads for Currency
...
+ added test
git-svn-id: trunk@45707 -
2020-06-27 22:33:36 +00:00
svenbarth
febeef03e4
* for adding procdefs to forwarddefs check for the specialization flag instead of whether it's a full specialization; fixes implicit finalization handlers on x86_64-win64 not being found
...
+ added tests
git-svn-id: trunk@45646 -
2020-06-13 18:42:31 +00:00
yury
c1d124d497
* x86: Fixed peephole optimization introduced in r44233. tb0219 and tb0548 tests have failed with -O2 since then.
...
* Added variants of the tb0219 and tb0548 tests with forced -O2.
git-svn-id: trunk@45291 -
2020-05-06 14:18:44 +00:00