mattias
309d8a90fd
fcl-passrc: fixed searching overload in mode delphi
2022-06-04 10:52:20 +02:00
Jonas Maebe
49ad3b0d2c
msg*.inc: regenerated
2022-06-04 10:23:28 +02:00
Jonas Maebe
3ef0db2404
LLVM: list supported LLVM/Xcode versions
...
Use the -i or -il command line parameter
2022-06-04 10:22:19 +02:00
Jonas Maebe
591c1b0177
llvm: added support for newer Xcode toolchains
...
Based on https://en.wikipedia.org/wiki/Xcode#Xcode_11.x_-_13.x_(since_SwiftUI_framework)_2
2022-06-04 09:43:39 +02:00
florian
a05aa25aad
* Risc-V: allow also register aliases in register modification lists after asm blocks, last part to resolve #39738
2022-06-03 22:54:18 +02:00
Jonas Maebe
dcf6063dc3
llvm: version 13.0 support
2022-06-03 21:46:23 +02:00
Jonas Maebe
1b06599e82
llvm: version 12.0 support
2022-06-03 21:46:23 +02:00
Pierre Muller
762057f46d
Fix compilation of 32-bit powerpc compiler
2022-06-03 11:45:36 -07:00
Pierre Muller
dbbf7e7f3b
Add several increfs to avoid troubles on AIX target OS
2022-06-03 11:28:15 -07:00
mattias
8499fb34b2
fcl-passrc: fixed method override modifier inherits overload modifier
2022-06-03 09:17:38 +02:00
florian
ea659cbc20
* "fast lane" code and comment fixed
2022-06-02 22:47:58 +02:00
Pierre Muller
41dbedfe22
Fix compilation ofrtl/nds/classes.pp unit
2022-06-02 17:54:59 +00:00
florian
f1b166d6b8
* zero is a valid Risc-V register alias
2022-06-01 22:34:51 +02:00
florian
ec3a04da9b
+ forgotten pseudo-instructions added
2022-06-01 22:31:26 +02:00
marcoonthegit
9e70f49745
* fix missing ifdef for the non win32/64/unix targets.
...
* also do watcom.
2022-06-01 16:56:02 +02:00
marcoonthegit
e5ac0b2689
* anonymous method overloads for synchronize/queue.
2022-06-01 13:54:06 +02:00
marcoonthegit
d38c881828
* add IEquatable<T>, requested on forum.
2022-06-01 11:00:56 +02:00
Pierre Muller
430f1910ed
Fix compliation error with -Oodfa option as reported by Gareth
2022-06-01 00:35:55 +02:00
Pierre Muller
0e142c00cc
Disable finalisation code fro LLVM compiler to avoid interface finalisation troubles
2022-06-01 00:19:46 +02:00
Sven/Sarah Barth
a27bc236a0
* fix #39742 : when assigning a function to a function reference it's not the function itself that needs to be checked to be captureable, but instead what it captures (this applies for both the non-generic and the generic case)
...
+ added tests
2022-05-31 23:16:41 +02:00
Sven/Sarah Barth
0874521a78
+ add tests to ensure that the assignment of nested function variables to function references is forbidden
2022-05-31 22:50:14 +02:00
Sven/Sarah Barth
883cc6d697
+ add tests that ensure that the overload selection works correctly when functions, methods or nested functions are assigned when overloads for function references are involved as well
2022-05-31 22:50:14 +02:00
Sven/Sarah Barth
2372a06926
* fix #39740 : consider a conversion of a procedure or procedure variable to a function reference as a bit more expensive than otherwise
...
+ added test
2022-05-31 22:50:14 +02:00
Sven/Sarah Barth
492754ecca
* the check for nested procvars is now done during the conversion in capturer_add_procvar_or_proc so loosen the check in proc_to_funcref_equal_internal
2022-05-31 22:50:14 +02:00
Sven/Sarah Barth
3b7842c30e
* ensure that a nested function variable can not be assigned to a function reference
2022-05-31 22:50:14 +02:00
Sven/Sarah Barth
2688834265
* regenerate msg{idx,txt}.inc
2022-05-31 22:50:14 +02:00
Sven/Sarah Barth
ea8e3cfc37
+ add an error message that a nested function variable can not be assigned to a function reference
2022-05-31 22:50:14 +02:00
Sven/Sarah Barth
4361e36ce0
* make proc_to_funcref_conv publicly available
2022-05-31 22:50:14 +02:00
Sven/Sarah Barth
7bb1b12b4f
+ add a mode Delphi equivalent for tanonfunc56 to check whether overload selection works correctly
2022-05-31 22:50:13 +02:00
florian
eaeb8b70ff
+ added Risc-V register information file generation to the compiler Makefile
...
* more stringent naming of register file information for Risc-V
2022-05-31 22:38:30 +02:00
Pierre Muller
2cdbdcd5c5
Manually increase refs of newly created labelsymbol in insertpcrelativedata
2022-05-31 14:26:00 +00:00
Pierre Muller
f27b55e9b2
Also add a comment when a label has been optimized out when compiled DEBUG_LABEL
2022-05-31 13:00:04 +00:00
Pierre Muller
ad72542e9e
Fix compilation of sparc compiler with -dDEBUG_ALL_OPT
2022-05-31 11:47:24 +00:00
Sven/Sarah Barth
5a680f0148
* fix #39745 : the conversion from ordinals to pointer types in mode Delphi is not allowed for a void type (happens when using a typecast to convert a method without parameters to a function reference)
...
+ added test
2022-05-30 23:05:45 +02:00
florian
252707a873
+ "rescued" mkrvreg.pp from old svn data
2022-05-30 21:12:37 +02:00
florian
ae457a18ad
* unified Risc-V 32 and 64 register data file
2022-05-30 21:10:34 +02:00
florian
5d6ef0f70c
* cleanup
2022-05-30 18:40:35 +02:00
Jonas Maebe
59f293711a
function references: make names of interface methods valid Pascal identifiers
...
On high level targets, and on PowerPC/PowerPC64, interface method thunks are
implemented using internally-generated Pascal wrappers, so the method names
need to be valid Pascal identifiers.
Additionally, that wrapper code uses the procsym's realname, so also
update the realname field when changing the name of anonymous methods.
2022-05-29 23:07:13 +02:00
Sven/Sarah Barth
29cfa3b225
* ensure that the VMT for the function reference interface is generated correctly, but for this the invokedef needs to be copied without hidden parameters (and handle_calling_convention will be done by the VMT builder as well)
2022-05-29 14:44:11 +02:00
Sven/Sarah Barth
dadc10658c
* set the correct symtable level for the invoke procdef
2022-05-29 14:44:11 +02:00
Jonas Maebe
60b0bc5535
read_record_fields: fix overflows of variant record size variables
...
Could happen in case of > 32 bit variant parts, or variant parts at offsets
> 32 bit offsets.
Fixes webtbs/tw9039c with a compiler compiled with -Cr
2022-05-29 13:33:27 +02:00
Jonas Maebe
a19deace45
llvmdbg: fix overflows for aggregates > 2^61 bytes
...
LLVM does not support aggregates larger than that at all, because internally
it stores all sizes in bits in an uint64. Their rationale for not having
special support for that is that there is no hardware with full 64 bit VM
address space anyway. So truncate our size emissions in debug info also to
that.
2022-05-29 13:33:27 +02:00
Jonas Maebe
9e7895575e
tarraydef.elecount: fix overflow detection
...
It did not trigger in case of an array[0..high(asizeint)]. Fixes compilation
of webtbs/tw9039[ab] with a compiler built with range checking enabled.
2022-05-29 13:33:27 +02:00
Jonas Maebe
743d7c50d0
do_set: immediately exit in case of range error
...
Prevents run time error in case of a compiler compiled with range checks
enabled (webtbf/tw10890a)
2022-05-29 13:33:27 +02:00
Jonas Maebe
70908b1449
llvm: support for adding/subtracting constants to pointers in typed constants
...
Fixes webtbs/tw34027 for llvm
2022-05-29 13:33:27 +02:00
Jonas Maebe
573f2c20d7
taddnode.cmp_of_disjunct_ranges: fortify in case of programs with errors
...
Fixes compilation of webtbf/tw3116 with a compiler compiled with -Cr
2022-05-29 13:33:27 +02:00
Jonas Maebe
8c67a4370b
rautils: don't interpret ".L3" as potentially meaning "unitx.identifier"
...
Fixes compilation of webtbs/tw10641.pp with a compiler compiled with
range checking
2022-05-29 13:33:27 +02:00
florian
390084d59e
* tests fixed
2022-05-29 10:37:24 +02:00
Marcus Sackrow
638de87a5a
AThreads: prevent deadlock for event set before waited
2022-05-28 22:46:50 +02:00
florian
4556cb35d1
+ completed Risc-V 64 pseudo instructions
...
* typo fixed
2022-05-28 21:22:11 +02:00