Commit Graph

5220 Commits

Author SHA1 Message Date
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
florian
089e13396a * ensure that changed compiler options do not cause values
ending up in registers which cannot be hold in registers

git-svn-id: trunk@47415 -
2020-11-14 18:40:58 +00:00
florian
bf7961a901 * fixes for nasm writer, resolves #38074
+ test

git-svn-id: trunk@47413 -
2020-11-13 21:39:16 +00:00
Károly Balogh
27125b760e qlunits: package skeleton to support the Sinclair QL
git-svn-id: trunk@47385 -
2020-11-11 00:00:39 +00:00
Jonas Maebe
091b0fde0c * fixed type of size parameter passed to fpc_getmem() when translating
new(pointer) (mantis #38054)

git-svn-id: trunk@47355 -
2020-11-08 22:42:38 +00:00
svenbarth
c496b609d1 * fix for Mantis #38051: make Chr() a real intrinsics so that it can be used in type declarations as well
+ added test

git-svn-id: trunk@47353 -
2020-11-08 22:23:02 +00:00
Károly Balogh
c8d18f5ac6 sinclairql: implemented some OS trap wrappers, to be used by the RTL
git-svn-id: trunk@47348 -
2020-11-08 20:43:01 +00:00
Jonas Maebe
49fbe53cf3 + test for mantis #36381 (seems already fixed)
git-svn-id: trunk@47337 -
2020-11-07 16:09:51 +00:00
ondrej
691fb2c9fe * add unix timezone test
git-svn-id: trunk@47322 -
2020-11-05 12:53:51 +00:00
Károly Balogh
18f364a497 + RTL skeleton for the Sinclair QL
git-svn-id: trunk@47310 -
2020-11-04 15:59:50 +00:00
Károly Balogh
519701960c m68k: initial commit to add the Sinclair QL as a compiler target
git-svn-id: trunk@47307 -
2020-11-04 14:20:28 +00:00
florian
0bf1af08c4 + test for #38022
git-svn-id: trunk@47304 -
2020-11-03 21:44:57 +00:00
Jonas Maebe
38a059f039 * give an error when trying to define a macro/compiler variable with
an empty name

git-svn-id: trunk@47300 -
2020-11-03 21:34:19 +00:00
ondrej
9b5d2322b6 Fix tepoch1 test
git-svn-id: trunk@47297 -
2020-11-03 20:15:04 +00:00
florian
1266afc0d0 * in equal_genfunc_paradefs take care of the fact that typesym might not be assigned for open array parameters, resolves #38012
git-svn-id: trunk@47253 -
2020-10-29 21:00:03 +00:00
florian
dfaee4f04b * patch by Jan Bruns to solve an issue with the new overloading selection code, resolves #37969
git-svn-id: trunk@47211 -
2020-10-26 20:58:24 +00:00
yury
438bba76b9 + Added a test for: When {$mode delphi} and {$modeswitch nestedprocvars} it is allowed to assign a nested routine which does not use parentfp to a regular procvar. And then call this procvar without any side effects.
git-svn-id: trunk@47209 -
2020-10-26 17:53:40 +00:00
florian
4afa4a73c6 + ISO mode: accept put/get without parameter, works on Input/Output respectively, resolves #37949
git-svn-id: trunk@47147 -
2020-10-20 21:03:51 +00:00
Jonas Maebe
099134b545 * fix try_make_mul32to64() if it's called with a constant node on the
left (mantis #37878)
   o can happen if use_generic_mul32to64 returns false

git-svn-id: trunk@47142 -
2020-10-19 19:10:16 +00:00
florian
a19ec44b97 * patch by Bart Broersma: avoid unsigned wrap around in TDeque.Erase, resolves #37482
git-svn-id: trunk@47122 -
2020-10-17 20:35:20 +00:00