Commit Graph

5329 Commits

Author SHA1 Message Date
nickysn
67206943e8 + added WASI RTL makefile
git-svn-id: branches/wasm@47992 -
2021-01-02 22:56:43 +00:00
nickysn
5a98127ae6 + added makefile.cpu for wasm32
git-svn-id: branches/wasm@47989 -
2021-01-02 22:27:30 +00:00
nickysn
05d66eddfc * synchronized with trunk
git-svn-id: branches/wasm@47982 -
2021-01-02 22:06:17 +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
nickysn
a5fafea8d1 * more updates to attempt to get a larger part of the full RTL to compile for WASM32
git-svn-id: branches/wasm@47970 -
2021-01-02 13:01:39 +00:00
nickysn
9bd8b66e86 + first attempts to compile a full WASI rtl
git-svn-id: branches/wasm@47958 -
2021-01-02 08:05:02 +00:00
nickysn
0ec39281f9 + added rtl directory and some rtl include files for wasm32
git-svn-id: branches/wasm@47956 -
2021-01-02 07:57:17 +00:00
nickysn
f87f9969a7 * synchronized with trunk
git-svn-id: branches/wasm@47937 -
2021-01-02 04:55:50 +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
nickysn
57b976535f * synchronized with trunk
git-svn-id: branches/wasm@47896 -
2020-12-29 23:50:34 +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
nickysn
96de6c4b96 * synchronize with trunk
git-svn-id: branches/wasm@47877 -
2020-12-28 18:45:24 +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
nickysn
47ff701db7 * synchronized with trunk
git-svn-id: branches/wasm@47778 -
2020-12-14 23:07:56 +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
nickysn
91e9558f5b * synchronized with trunk
git-svn-id: branches/wasm@47766 -
2020-12-12 23:20:33 +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
nickysn
dc5b78d5f0 * synchronized with trunk
git-svn-id: branches/wasm@47716 -
2020-12-08 06:57:57 +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
nickysn
aeafe42144 * synchronized with trunk
git-svn-id: branches/wasm@47653 -
2020-12-01 03:27:01 +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
nickysn
f9daec43ef * synchronized with trunk
git-svn-id: branches/wasm@47588 -
2020-11-25 21:59:19 +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
nickysn
59b465bbe7 * synchronized with trunk
git-svn-id: branches/wasm@47525 -
2020-11-22 04:01:56 +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
c895c8fa0a * synchronized with trunk
git-svn-id: branches/wasm@47506 -
2020-11-20 23:21:42 +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
8862709fb1 * synchronized with trunk
git-svn-id: branches/wasm@47463 -
2020-11-20 00:00:53 +00:00