Commit Graph

64920 Commits

Author SHA1 Message Date
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
Michaël Van Canneyt
d1af2c7007 * Set listening port 2022-04-04 14:47:16 +02:00
Michaël Van Canneyt
85860f126f * New laz version 2022-04-04 14:47:16 +02:00
Michaël Van Canneyt
92b51febc6 * Fix AV 2022-04-04 14:47:16 +02:00
florian
4e28962115 * 8086 compilation fixed 2022-04-03 23:31:50 +02:00
florian
5ce9353d58 * i386: make also use of VCVTUSI2S* instruction if possible 2022-04-03 23:14:41 +02:00
florian
81d7e28a87 + test for #39627, together with the last merge request it resolves #39627 2022-04-03 15:08:24 +02:00
J. Gareth "Curious Kit" Moreton
96aa2bbf74 * [x86] Added new RefsMightOverlap method and implemented it into the XMM memory move optimisations to catch memory overlaps; fixes bug i39627 2022-04-03 13:02:29 +00:00
florian
ff64dacf25 + slowcpu define 2022-04-03 15:01:36 +02:00
Jonas Maebe
9813eb9048 AArch64 asm reader: add support for fpcmp(e) conditions
Resolves #39643
2022-04-03 13:40:21 +02: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
florian
727e25e93e * make __lib_csu* weak symbols on m68k-linux 2022-04-02 16:03:49 +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
Michaël Van Canneyt
31f74f65b0 * CGI demo for css minimizer/classname extractor 2022-04-02 10:18:23 +02:00
Michaël Van Canneyt
14c4a6796b * Test for stringtoidentifier 2022-04-02 10:18:22 +02:00
Michaël Van Canneyt
aedb6dbacd * Remove debug statement 2022-04-02 10:18:22 +02:00
Michaël Van Canneyt
2b99abdd4d * Numeric chars allowed in identifier, no need to escape 2022-04-02 10:18:22 +02:00
Michaël Van Canneyt
56108f4799 * Remove debug statement 2022-04-02 10:18:22 +02:00
florian
0978f6ce16 * probably check type for int_to_real instruction selection 2022-04-01 23:06:52 +02:00
mattias
410c1bbaa0 fcl-js: do not escape / 2022-04-01 22:09:53 +02:00