Pierre Muller
84c04f36f3
Fix compilation for x86_64-linux target using libc with -dFPC_USE_LIBC option
2022-06-07 23:51:27 +02:00
Pierre Muller
2307dc8f26
Try to fix real constant problems for llvm compiler
2022-06-07 23:51:27 +02:00
Jonas Maebe
f382f2d6ed
dbgllvm: support for tobjectdef debug information
...
Classes, objects, interfaces, Objective-C classes, ...
2022-06-07 21:42:41 +02:00
Jonas Maebe
61f01ded61
dbgllvm: struct_metadef fixes
...
It will be used to hold a reference to the underlying structure of a class,
whose type is represented as a pointer to a DW_TAG_class_type for compatibility
with the debug information generated by the FPC backend (otherwise we could
instead just add a deref expression to all variables of such a type)
2022-06-07 21:42:41 +02:00
Jonas Maebe
addd0e7dcf
dbgllvm: skip static fields when writing struct fields
...
These are not part of the struct instances
2022-06-07 21:42:41 +02:00
Jonas Maebe
f9b216f99a
dbgllvm: remove tmembercallbackinfo
...
Leftover from dbgdwarf, not used here
2022-06-07 21:42:49 +02:00
Jonas Maebe
4c8249de34
dbgllvm: added appenddef_struct_named
...
Factored out of appenddef_record_named for reuse by objectdefs.
Also moved responsibility of adding the struct dinode to the asmlist
to the caller, as the name of this method does not imply it will do
that.
2022-06-07 21:42:41 +02:00
marcoonthegit
f2c8018f9b
* Add some Delphi compatibel constants to the ConvUtils unit bug 39771
2022-06-06 23:13:47 +02:00
marcoonthegit
167f434e84
* Implement CompatibleConversionType and CompatibleConversionType for ConvUtils unit bug #39770
2022-06-06 23:13:47 +02:00
marcoonthegit
7886233b0e
* Implement ConvUnitAdd, ConvUnitDiff, ConvUnitInc and ConvUnitDec bug #39769
2022-06-06 23:13:46 +02:00
marcoonthegit
7da3e17571
* Implement ConvUtils.ConvUnitCompareValue and ConvUtils.ConvUnitSameValue bug
...
#39768
2022-06-06 23:13:46 +02:00
Jonas Maebe
706443c354
dbgllvm: support for record field debug information
2022-06-06 23:12:53 +02:00
Jonas Maebe
b456833b03
aasmllvmmetadata: remove leftover unused type
2022-06-06 23:12:53 +02:00
Jonas Maebe
5d02c65425
objcdef: remove duplicate variant start check
2022-06-06 23:12:53 +02:00
Jonas Maebe
76e3cfc38f
parentfpstruct: don't add vo_is_firstfield to first field of record
...
That flag is only for the first field of variant parts of records
2022-06-06 23:12:53 +02:00
Jonas Maebe
60c95032fa
llvm: removed Xcode 10.0/10.1 as supported versions
...
These already did not work because they predate clang 7
2022-06-06 23:12:53 +02:00
florian
927e3fd455
* patch by Rika: improve EncodeUleb128/EncodeSleb128, second part of #39750 , resolves #39750
2022-06-06 22:14:46 +02:00
marcoonthegit
3751958a32
* Fix not setting result in ConvUtils.RegisterConversionType mantis #39767
2022-06-06 17:28:31 +02:00
marcoonthegit
3c4f1c454f
* commit weird temperature scale conversion bug #39763
2022-06-06 17:21:08 +02:00
marcoonthegit
18c0a0eebe
* * commit convertfrom/to fixes from bug #39764 and #39765
2022-06-06 17:21:08 +02:00
florian
51ab0d759f
* patch by Rika: improve EncodeUleb128/EncodeSleb128, part of #39750
2022-06-05 20:52:19 +02:00
marcoonthegit
7ddeaa54c0
* patch from Bart to fix convutils temperature fix.
2022-06-05 18:51:52 +02:00
marcoonthegit
4710281936
* guard agains empty arrays in a few tArrayHelper binsearch methods
...
fixes bug #39761
2022-06-05 18:03:28 +02:00
marcoonthegit
2df9dd9c14
* another fix for bug #39758 , this time the end of the string
2022-06-05 17:46:58 +02:00
marcoonthegit
c4be74abf3
* typo fix in last commit
2022-06-05 15:28:03 +02:00
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