florian
876ae56158
* patch by Rika: fix for ... in iterator for TMap and TSet, resolves #39354
2022-04-23 21:51:26 +02:00
marcoonthegit
616538c251
* Improve Delphi compatibility of TEvent(object) constructors, while keeping also backwards compat by adding default parameters.
2022-04-23 17:56:19 +02:00
Sven/Sarah Barth
74f9523806
* in case of an implicit specialization ensure that the symbol of the generic is indeed considered as used once the final implicit specialization has been picked
...
+ added test
2022-04-23 16:29:13 +02:00
Sven/Sarah Barth
e0e8620ded
* use a single if-condition for both check_hints and addsymref
2022-04-23 16:29:13 +02:00
florian
6556d18bed
* better fix for #39634 which avoids breaking existing code
2022-04-22 22:08:46 +02:00
Sven/Sarah Barth
97c16401f7
+ add test for already fixed #39677
2022-04-22 10:40:58 +02:00
Sven/Sarah Barth
22a4cc66ec
* fix #39675 : consider the symbols for unnamed parameters as used so that there won't be unnecessary hints about them
...
+ added test
2022-04-22 10:40:58 +02:00
Sven/Sarah Barth
76753438ed
* fix #39681 : also handle the result type of a specialized procvar when checking for a possible implicit specialization
...
+ added test
2022-04-22 10:40:58 +02:00
Sven/Sarah Barth
c0fa45dc92
* a function can't be used to implicitely specialize a specialized procedure variable parameter and vice versa
...
+ added test
2022-04-22 10:40:58 +02:00
Sven/Sarah Barth
a5f3040da5
* the index of the generic type parameter is not the same index of the paras list
...
+ added test
2022-04-22 10:40:58 +02:00
Sven/Sarah Barth
66bac7c415
* fix #39679 and fix #39680 : for implicit specializations a parameter used in a call might also inherit in some depth from a specialization used as parameter type
...
+ added tests
2022-04-22 10:40:58 +02:00
Sven/Sarah Barth
4053d59a2c
* fix #39673 : also resolve the dummy symbol in case this isn't a reuse of the current generic's name
...
+ added test
2022-04-22 10:40:58 +02:00
Sven/Sarah Barth
98a942a37e
* move handling of a dummy symbol (mainly either resolving it or generating a suitable error) inside single_type to a nested function as the same code is used multiple times
2022-04-22 10:40:58 +02:00
mattias
ee7cbb61a0
fcl-passrc: resolver: fixed call generic function with anonymous specialize function type
2022-04-21 23:08:19 +02:00
florian
559fcdf736
* forbid cyclic pointer definitions, resolves #39634
2022-04-21 20:03:05 +02:00
Sven/Sarah Barth
b1d9d34665
* only abort due to a missing overload directive if there indeed was any procdef found (due to implicit specializations there might be none), fixes compilation of tests webtbs/tw38310b and webtbs/tw38310c
2022-04-21 18:01:30 +02:00
Bi0T1N
59672a6982
Add support for OpenSSL 3.0
2022-04-21 09:02:31 +00:00
florian
02289d1f5b
+ fold "a shl n1 shl n2" and "a shr n1 shr n2" into "a shl (n1+n2)" and "a shr (n1+n2)", resolves #39629
2022-04-20 22:16:32 +02:00
Ondrej Pokorny
adb264a711
db odbcconn: error messages received through SQLGetDiagRec are ANSI - convert them to CP_ACP
2022-04-20 18:35:03 +00:00
Sven/Sarah Barth
90844c2027
* fix #35261 : apply slightly adjusted changes by Ryan Joseph to implement support for implicit generic function specializations
...
The main adjustments were as follows:
- fixing coding style and identation
- fixing some typos
- using a better name for the property in tcallcandidates which holds the symbols created for anonymous parameter values
2022-04-20 18:59:31 +02:00
florian
fab610a927
* call OptPass1_V_MOVAP for MOVDQA on i386
2022-04-19 22:35:02 +02:00
florian
4808ed63e3
* use MOVDQA instead of MOVQ in spilling_create_store
...
* call OptPass1_V_MOVAP for MOVDQA
2022-04-19 22:35:02 +02:00
Sven/Sarah Barth
862cffa087
* have the unsigned 32-bit overload of IntToHex use the signed 32-bit one to avoid usage of 64-bit arithmetic (and parameter passing) when it can be avoided
2022-04-19 14:24:01 +02:00
Sven/Sarah Barth
d32134dd1a
* fix #39664 : ensure that the 8- and 16-bit signed overloads of IntToHex return the correct number of digits
...
+ added test
2022-04-19 14:24:00 +02:00
florian
ee3b5f5a62
* x86_64: do not use copy_mm in g_concatcopy for 8 byte sized copies
2022-04-18 23:27:34 +02:00
florian
2f1eb9be18
* support R_SUBMMX in spilling_create_store, resolves #39672
2022-04-18 23:22:47 +02:00
marcoonthegit
2457016671
* TStringlist constructor with ownsobjects parameter, Delphi compatible + empty constructor to avoid compiler getting confused
2022-04-18 21:23:10 +02:00
florian
143c2ec232
* powerpc-linux: provide also local __libc_csu_* routines
2022-04-17 21:26:15 +02:00
florian
366d1332d1
* nicer casing
2022-04-16 21:40:33 +02:00
florian
43b4b34395
* disallow offsetof trick for types involving implicit dereferences, resolves #39667 partially
2022-04-14 17:06:15 +02:00
florian
62f21ae60d
+ recurse into multiple subscription nodes when calculating contant @... expressions, resolves #39665
2022-04-13 21:32:06 +02:00
Pierre Muller
a939c0ccd4
Add several tests for 127 max ID length, related to bug report #39661
2022-04-13 15:15:18 +00:00
Pierre Muller
379c1414a7
Fix for bug report #39661
2022-04-13 15:15:18 +00:00
florian
4c5fc2f958
* patch by Rika: avoid that capacity of TQueue grows to much for certain
...
usage patterns, resolves #39662
2022-04-12 17:36:42 +02:00
mattias
d748bb6630
pas2js: removed translation.html, it is now on the wiki https://wiki.freepascal.org/Pas2js_Transpiler
2022-04-12 10:56:35 +02:00
Pierre Muller
85c648e603
Check mf_symansistr is compatible with current compiler mode and issue a message before failing PPU loading
2022-04-11 22:10:48 +00:00
florian
7ff6d78543
* mips(el)-linux: provide __libc_csu_* as weak symbols
2022-04-11 22:22:34 +02:00
florian
a20a7e3497
* define __libc_csu_* symbols as weak symbols on aarch64-linux
2022-04-10 23:19:34 +02:00
florian
35a7490ae1
* provide __libc_csu_init and __libc_csu_fini as weak symbols
2022-04-09 21:12:28 +02:00
florian
191dd0c637
+ support .weak in the internal assembler
2022-04-09 21:12:10 +02:00
florian
971d7baa8a
* patch by Cyrax: Quote path - which is passed to Windres or alike program, resolves #36526
2022-04-08 22:42:05 +02:00
Sven/Sarah Barth
815734c47a
* fix #32034 and fix #39656 : in a for-in-loop with an array constructor enforce the type of the loop variable for the elements
...
+ added tests
2022-04-08 17:40:36 +02:00
Sven/Sarah Barth
1180589046
* free the placeholder for the count of the dynamic array in end_dynarray_const() and document it as such
2022-04-08 16:11:49 +02:00
florian
54dccaaad1
* do not crash in case of too many $push directives, resolves #39652
2022-04-07 22:51:30 +02:00
J. Gareth "Curious Kit" Moreton
92a0640bcc
* Local speedup in OptPass1LEA that avoids expensive calls if p and
...
hp1 are adjacent.
2022-04-06 19:56:24 +00:00
J. Gareth "Curious Kit" Moreton
305e49c0b8
* Some streamlining in x86's OptPass1LEA routine now that the stack
...
pointer is properly tracked, which also permits some deeper
optimisations on -O1 and -O2 virtually for free.
2022-04-06 19:56:24 +00:00
florian
8120fb8b77
* cosmetics
2022-04-06 21:54:03 +02:00
florian
7ff393085e
* factored out tx86typeconvnode.int_to_real_mm_location
2022-04-05 22:50:24 +02:00
Karoly Balogh
57107c3310
m68k: opcode table updates based on vasm 1.9 (used with permission)
2022-04-05 12:07:49 +02:00
florian
6bbefcae9e
* check more cpuid flags in the cpu units
2022-04-04 22:55:05 +02:00