florian
aec18c2426
* weight currency->float conversions the same regardless if
...
the currency type is handled by the integer unit or the x87 fpu,
resolves #38309
git-svn-id: trunk@48089 -
2021-01-05 22:39:16 +00:00
svenbarth
57d9884d96
* fix for Mantis #38310 : ignore procsyms that have no procdefs for checking overloads, or more precisely to stop checking for overloads; these are generic dummy symbols
...
+ added (simplified) tests
git-svn-id: trunk@48088 -
2021-01-05 20:58:46 +00:00
florian
7d5b0d2382
* handle rawbytestrings in Win32Ansi2UnicodeMove properly, resolves #38299
...
git-svn-id: trunk@48021 -
2021-01-03 22:55:37 +00:00
florian
9592c033e5
* process fma intrinsic parameters in an order which takes care of multiple x87 stack parameters, resolves #38295
...
git-svn-id: trunk@48017 -
2021-01-03 17:08:58 +00:00
michael
743e7c1c1b
* Forgot to commit
...
git-svn-id: trunk@48014 -
2021-01-03 15:30:41 +00:00
svenbarth
c96029ebd5
* Delphi does not allow a generic method to be overloaded by a non generic type of the same name (unlike for generic types and non generic routines); this is probably done to simplify the implementation of implicit specializations of generic methods so we do this as well. For this we change the dummy symbol for generic routines from a typesym to a procsym
...
+ added tests
Note: what Delphi /does/ allow however is to overload a generic routine with a generic type... go figure. :/ We currently don't allow that
git-svn-id: trunk@48002 -
2021-01-02 23:23:39 +00:00
svenbarth
d854d18bd9
* instead of blindly consuming whatever comes next trigger an explicit error if the parsed expression does not match for "INDEX ordexpr" or "NAME strexpr"
...
+ added tests
git-svn-id: trunk@47995 -
2021-01-02 23:23:08 +00:00
florian
7de94e7a1d
* properly fold string+string const+string const., resolves #38267
...
git-svn-id: trunk@47977 -
2021-01-02 17:18:54 +00:00
michael
390be00327
* Markdown support for fpdoc
...
git-svn-id: trunk@47973 -
2021-01-02 14:28:45 +00:00
florian
97abf6b495
* first part of fixing #38267 : do not bail out early during constant folding
...
if the constant is 1 or -1
git-svn-id: trunk@47933 -
2021-01-01 15:26:13 +00:00
florian
edfbf2ce30
* correctly handle inlined exits in dfa, resolves #38259
...
git-svn-id: trunk@47894 -
2020-12-29 22:35:33 +00:00
florian
eb7702bea4
+ implement align directive for records, resolves #28927
...
git-svn-id: trunk@47892 -
2020-12-29 18:19:35 +00:00
michael
f1db695809
* Move chm writer to separate unit
...
git-svn-id: trunk@47868 -
2020-12-28 13:55:22 +00:00
Jonas Maebe
b359080f42
* fixed round(currency) so it takes the rounding mode into account on
...
platforms where currency is "type int64"
* inline trunc(currency), trunc(comp) and round(comp) on platforms where
currency and comp are "type int64"
git-svn-id: trunk@47859 -
2020-12-27 13:19:02 +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
florian
6db164c993
* min/max optimization needs to check both operands of the if condition, even if no else-statement is passed, resolves #38249
...
git-svn-id: trunk@47843 -
2020-12-23 22:41:37 +00:00
svenbarth
cbe352808a
* fix for Mantis #38238 : when creating a copy of a procdef for a procvar set the methodpointer flag also for methods of records
...
+ added test
git-svn-id: trunk@47826 -
2020-12-20 22:41:27 +00:00
florian
072be7b0f7
* Aarch64: fix 32 bit div operations with constant denominators, resolves #38225
...
git-svn-id: trunk@47812 -
2020-12-18 21:39:35 +00:00
svenbarth
2a897f5b6b
* apply slightly adjusted patch by Blaise.ru which moves parsing of result types to a separate functions thus ensuring that File types can't be used for procedure variables (just like they already couldn't be used as a result type for normal functions)
...
+ added test
git-svn-id: trunk@47810 -
2020-12-18 13:50:39 +00:00
florian
80f87edffd
* x86-64: correctly translate and with large constants in mod optimizations, resolves #38164
...
git-svn-id: trunk@47805 -
2020-12-17 22:09:23 +00:00
svenbarth
d29f95d9e1
* apply patch by Blaise.ru to allow specializations for the result type of function and method variables
...
+ added tests
git-svn-id: trunk@47795 -
2020-12-16 21:43:30 +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
2e2f2eb784
- remove could which prevented that rte is triggered even if we are inside
...
an exception block but *without* using sysutils. The remove code
was once added to have primitive exception handling even if
no sysutils is used. But if this is desired, an appropriate handler
to ErrorProc should be assigned. Resolves #38201
git-svn-id: trunk@47775 -
2020-12-14 21:55:42 +00:00
florian
53a4e6c513
* patch by Zoran Vučenović: fixes TDoubleRec.SetFrac, resolves #38202
...
+ test
git-svn-id: trunk@47765 -
2020-12-12 21:39:17 +00:00
yury
67284c7452
+ Added a test for proper setting of fc_no_direct_exit in flowcontrol.
...
git-svn-id: trunk@47755 -
2020-12-11 14:17:18 +00:00
svenbarth
1efeb5851a
* fix regression introduced with r47625 for Mantis #38122 : when checking for a dereferentiation of the Self parameter subscript and vec nodes need to be kept
...
+ added test
git-svn-id: trunk@47747 -
2020-12-10 06:11:46 +00:00
florian
a16b34d951
* test for min/max intrinsics
...
git-svn-id: trunk@47697 -
2020-12-06 14:19:00 +00:00
florian
e60a367f1b
+ project file for PowerPC64LE
...
git-svn-id: trunk@47694 -
2020-12-06 10:23:17 +00:00
svenbarth
deaff6f7fe
* fix for Mantis #38151 : when a Variant is passed by reference to a IDispatch property then invoke it using DISPATCH_PROPERTYPUTREF instead of DISPATCH_PROPERTYPUT
...
+ added test
git-svn-id: trunk@47687 -
2020-12-04 22:07:39 +00:00
svenbarth
69e6f3dcbb
* if a call inside a generic's code that involves generic type arguments can't be clearly determined then postpone it till specialization in the hope that the type will be clear then
...
+ added test
git-svn-id: trunk@47686 -
2020-12-04 22:07:34 +00:00
svenbarth
3597696e98
* fix for Mantis #38145 : allow overloading of assignment operators that return ShortStrings with a specific size
...
+ added tests
The following rules for using these operator overloads as *implicit* overloads apply (Delphi compatible):
- if a found assignment operator returns a default ShortString then that is used
- if only one assignment operator to a String[x] is found then that is used
- otherwise the assignment is not possible
The explicit assignment checks for an exact match (and falls back for an implicit assignment). This is not entirely Delphi compatible as Delphi seems to favor the first found symbol in that case, but sometimes also not... :/
git-svn-id: trunk@47634 -
2020-11-29 15:47:52 +00:00
svenbarth
82957ec5a3
* Fix for Mantis #38122 : when a deref node is passed as a Self parameter for a type helper (which is a var parameter) we need to pass the non-derefentiated value so that the data it points to can be modified by the helper's method (this is Delphi compatible)
...
+ added tests
git-svn-id: trunk@47625 -
2020-11-28 18:32:24 +00:00
florian
7b88d1127f
* remove unused file
...
git-svn-id: trunk@47619 -
2020-11-28 13:41:44 +00:00
Tomas Hajny
74eb7b5050
+ added coloured compiler output support for OS/2 and DOS targets, platform-specific parts refactored to a standalone unit to remove the heap of ifdefs in unit comphook
...
git-svn-id: trunk@47566 -
2020-11-24 23:09:01 +00:00
florian
9dcf85a8ef
+ Xtensa: FMA support
...
git-svn-id: trunk@47563 -
2020-11-24 20:59:47 +00:00
nickysn
44b7a1df18
+ support reading .wav with an odd (uneven) fmt chunk size
...
git-svn-id: trunk@47545 -
2020-11-24 00:31:16 +00:00
Tomas Hajny
95394d7f98
+ added TZ variable based offset calculation
...
git-svn-id: trunk@47535 -
2020-11-23 01:08:39 +00:00
svenbarth
c20cbcc28f
+ add test to check whether ComObj correctly dispatches Ansi-, Unicode- and WideString arguments
...
git-svn-id: trunk@47519 -
2020-11-21 20:17:14 +00:00
nickysn
94f8971e73
+ added tests with 32-bit and 64-bit IEEE floating point .wav files
...
git-svn-id: trunk@47466 -
2020-11-20 03:31:15 +00:00
nickysn
46b35256bd
+ support reading .wav files that have extra data in the end of the 'fmt '
...
chunk. Added test case, which is a file, generated by the Euphoric emulator.
git-svn-id: trunk@47461 -
2020-11-19 23:05:25 +00:00
Károly Balogh
84e1be805c
qlunits: updated QDOS unit, added a QLfloat unit to convert longints and doubles to 48bit QLfloats, added a rotating cube example
...
git-svn-id: trunk@47456 -
2020-11-19 05:08:12 +00:00
nickysn
a552fc6d94
+ fcl_sound wav reader tests: added stereo .wav file tests
...
git-svn-id: trunk@47454 -
2020-11-19 03:26:37 +00:00
Károly Balogh
9d67adcbb6
* regenerated all Makefiles after Sinclair QL support was added
...
git-svn-id: trunk@47453 -
2020-11-19 02:58:27 +00:00
nickysn
188054d9b4
+ also check the actual PCM wave data in the fcl-sound wavreader test
...
git-svn-id: trunk@47452 -
2020-11-19 02:56:49 +00:00
nickysn
bed8b8bfd3
+ created some tests for fcl-sound
...
git-svn-id: trunk@47447 -
2020-11-19 01:10:36 +00:00
florian
103b44cf2b
* made Compiler Options window large enough to show all CPUs
...
+ project file for IDE targetting arm
* write binary to bin/<full target>/fp
git-svn-id: trunk@47446 -
2020-11-18 21:19:14 +00:00
florian
6380df9b42
* correctly simplify tree transforms of (a+c1+c2) if a is a pointer, resolves #37671
...
git-svn-id: trunk@47437 -
2020-11-16 21:47:19 +00:00
florian
878f6d9ce4
* allow generic parameters as iterator variable in for in loops, resolves #38050
...
git-svn-id: trunk@47425 -
2020-11-15 19:10:34 +00:00
svenbarth
3d2ee097b5
* fix for Mantis #38083 : ensure that the sp_generic_dummy flag is set correctly on the new procsym when replacing a dummy sym
...
+ added test
git-svn-id: trunk@47424 -
2020-11-15 16:27:26 +00:00