Commit Graph

65393 Commits

Author SHA1 Message Date
marcoonthegit
009816cbc5 * Also set clock12 to false if ampm is before %I. bug #39760 and fix from liao bozhi 2022-06-05 12:37:29 +02:00
mattias
1a28b1b5c4 fpdoc: less hints 2022-06-04 22:51:41 +02:00
mattias
43444ab7f0 fcl-passrc: fixed releasing modules of a package 2022-06-04 22:51:41 +02:00
marcoonthegit
5b90eaf2dd * move char index checks up. fixes bug #39758 2022-06-04 22:40:56 +02:00
florian
1d8b21bcfc * align memory blocks in cmem at least to stack alignment boundaries, resolves #39730 2022-06-04 22:27:51 +02:00
Jonas Maebe
25e832940c llvmdbg: support for generating debug information for local/para varsyms
Note that not all symbols are covered yet, because absolutevarsyms are not
yet supported and those are e.g. used for function result aliases.
Additionally, not all types are fully supported yet.
2022-06-04 22:26:40 +02:00
Jonas Maebe
e7ec91eca8 dbgllvm: rename hastable for staticvarsym declarations 2022-06-04 22:26:40 +02:00
Jonas Maebe
a76038e1d1 hlcgobj: new getlocal and recordnewsymloc methods
Call hlcg.getlocal instead of tg.getlocal when used for actual parameters/local
variables. Has an extra tsym parameter, which will enable the LLVM backend to
insert debug information.

Call hlcg.recordnewsymloc when the location of a (local/para) symbol changes,
so debug info tracking can be updated (only done for LLVM currently)
2022-06-04 22:26:40 +02:00
Jonas Maebe
a76085e463 tllvmcallpara: record whether it's passed to metadata
Sometimes we need the def to store a the original def of the passed parameter,
e.g. for the first argument to llvm.dbg.addr
2022-06-04 22:26:40 +02:00
Jonas Maebe
41a6c5e967 agllvm: support specialised metadata with field names
Necessary for DIExpression
2022-06-04 22:26:40 +02:00
Jonas Maebe
c92a035614 agllvm: support nested constants in parameters
Needed for metadata support
2022-06-04 22:26:40 +02:00
Jonas Maebe
abfd975571 TCGParaLocation: remove alignment gap 2022-06-04 22:26:40 +02:00
Jonas Maebe
dc1e0a6bb3 tllvmcallpara: turned into object and added convenience methods 2022-06-04 22:26:40 +02:00
Jonas Maebe
fe0048bcec llvm: changed llvm_metadatatype from untyped pointer to undefineddef
That matches its meaning better, as it should not result in type conversions.
E.g. some kinds of metadata parameters expect a "type register" parameter such
as "metadata i32* %reg.3"
2022-06-04 22:26:40 +02:00
Jonas Maebe
aa43441ac9 llvm: replaced boolean fields in tllvmcallpara with a set 2022-06-04 22:26:40 +02:00
Jonas Maebe
573b2554f4 llvminfo: fix copy/paste error in llvm 14 comment
Spotted by @Alexey-T1
2022-06-04 22:26:40 +02:00
mattias
13ebe495df fcl-passrc: fixed parsing property hints 2022-06-04 21:09:40 +02:00
mattias
36d7b53437 fcl-passrc: resolver: fixed emit hints for used units 2022-06-04 20:40:32 +02:00
Jonas Maebe
a45e5e7ab6 llvm: version 14.0 support 2022-06-04 13:34:09 +02:00
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